Module ActiveLdap::Associations::ClassMethods
In: lib/active_ldap/associations.rb

Methods

Constants

VALID_BELONGS_TO_OPTIONS = [:class, :class_name, :foreign_key, :primary_key, :many, :extend]
VALID_HAS_MANY_OPTIONS = [:class, :class_name, :foreign_key, :primary_key, :wrap, :extend]

Public Instance methods

belongs_to

This defines a method for an extension class map its DN key attribute value on to multiple items which reference it by |:foreign_key| in the other LDAP entry covered by class |:class_name|.

Example:

 belongs_to :groups, :class_name => "Group",
            :many => "memberUid" # Group#memberUid
            # :foreign_key => "uid" # User#uid
            # dn attribute value is used by default
 belongs_to :primary_group, :class_name => "Group",
            :foreign_key => "gidNumber", # User#gidNumber
            :primary_key => "gidNumber"  # Group#gidNumber

has_many

This defines a method for an extension class expand an existing multi-element attribute into ActiveLdap objects. This discards any calls which result in entries that don‘t exist in LDAP!

Example:

  has_many :primary_members, :class_name => "User",
           :primary_key => "gidNumber", # User#gidNumber
           :foreign_key => "gidNumber"  # Group#gidNumber
  has_many :members, :class_name => "User",
           :wrap => "memberUid" # Group#memberUid

[Validate]