Class ActiveLdap::Association::HasMany
In: lib/active_ldap/association/has_many.rb
Parent: Collection
Error DeleteError AdapterNotSpecified OperationNotPermitted LdapError RequiredAttributeMissed AttributeAssignmentError RequiredObjectClassMissed DistinguishedNameNotSetError StrongAuthenticationRequired ConnectionError SaveError EntryNotFound AuthenticationError EntryNotSaved UnknownAttribute ConnectionNotEstablished TimeoutError ConfigurationError AdapterNotFound DistinguishedNameInvalid ObjectClassError EntryInvalid EntryAlreadyExist Reloadable::Deprecated Base Reloadable::Subclasses Enumerable Collection StandardError HasMany HasManyWrap BelongsToMany Proxy BelongsTo Base\n[lib/active_ldap/adapter/base.rb\nlib/active_ldap/adapter/ldap.rb\nlib/active_ldap/adapter/net_ldap.rb] Ldap NetLdap ActiveRecord::Callbacks ActiveRecord::Validations Schema DistinguishedName lib/active_ldap/base.rb lib/active_ldap/schema.rb lib/active_ldap/distinguished_name.rb lib/active_ldap/ldap_error.rb ClassMethods Associations lib/active_ldap/association/has_many_wrap.rb lib/active_ldap/association/has_many.rb lib/active_ldap/association/proxy.rb lib/active_ldap/association/collection.rb lib/active_ldap/association/belongs_to_many.rb lib/active_ldap/association/belongs_to.rb Association ClassMethods Configuration Command lib/active_ldap/adapter/net_ldap.rb lib/active_ldap/adapter/ldap.rb lib/active_ldap/adapter/base.rb Adapter ClassMethods Attributes ClassMethods ObjectClass Callbacks ClassMethods Connection Validations Salt UserPassword ActiveLdap dot/m_26_0.png

Methods

Private Instance methods

[Source]

    # File lib/active_ldap/association/has_many.rb, line 28
28:       def delete_entries(entries)
29:         key = primary_key
30:         components = @owner[@options[:foreign_key_name], true].reject do |value|
31:           value.nil?
32:         end
33:         filter = [:and,
34:                   [:and, {key => components}],
35:                   [:or, {foreign_class.dn_attribute => entries.collect(&:id)}]]
36:         foreign_class.update_all({key => []}, filter)
37:       end

[Source]

    # File lib/active_ldap/association/has_many.rb, line 12
12:       def find_target
13:         foreign_base_key = primary_key
14:         components = @owner[@options[:foreign_key_name], true].collect do |value|
15:           key = val = nil
16:           if foreign_base_key == "dn"
17:             key, val = value.split(",")[0].split("=") unless value.empty?
18:           else
19:             key, val = foreign_base_key, value
20:           end
21:           [key, val]
22:         end.reject do |key, val|
23:           key.nil? or val.nil?
24:         end
25:         foreign_class.find(:all, :filter => [:or, *components])
26:       end

[Source]

    # File lib/active_ldap/association/has_many.rb, line 7
 7:       def insert_entry(entry)
 8:         entry[primary_key] = @owner[@options[:foreign_key_name]]
 9:         entry.save
10:       end

[Validate]