Module ActiveLdap::Association::HasManyUtils
In: lib/active_ldap/association/has_many_utils.rb
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid DistinguishedNameNotSetError EntryNotFound LdapError SaveError StrongAuthenticationRequired NotImplemented AdapterNotFound TimeoutError AuthenticationError AttributeValueInvalid EntryNotSaved DistinguishedNameInputInvalid EntryAlreadyExist ObjectClassError UnknownAttribute EntryInvalid DeleteError ConfigurationError ConnectionNotSetup DistinguishedNameInvalid Schema\n[lib/active_ldap/schema.rb\nlib/active_ldap/schema/syntaxes.rb] Base DistinguishedName Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasManyWrap HasMany BelongsToMany Proxy BelongsTo Normalizable Common Find LDIF Delete Update ActiveRecord::Callbacks GetText Parser Base\n[lib/active_ldap/adapter/base.rb\nlib/active_ldap/adapter/jndi.rb\nlib/active_ldap/adapter/ldap.rb\nlib/active_ldap/adapter/net_ldap.rb] Jndi Ldap NetLdap GetTextSupport ActiveRecord::Validations Xml JndiConnection lib/active_ldap/distinguished_name.rb lib/active_ldap/base.rb lib/active_ldap/xml.rb lib/active_ldap/schema.rb lib/active_ldap/entry_attribute.rb lib/active_ldap/ldif.rb lib/active_ldap/ldap_error.rb Compatible ClassMethods Associations LdapBenchmarking ActionController Populate lib/active_ldap/association/has_many_wrap.rb lib/active_ldap/association/children.rb lib/active_ldap/association/collection.rb lib/active_ldap/association/proxy.rb lib/active_ldap/association/belongs_to_many.rb lib/active_ldap/association/belongs_to.rb lib/active_ldap/association/has_many.rb HasManyUtils Association ClassMethods Tree Acts Command ClassMethods Normalizable Attributes Update Common ModifyNameRecordLoadable AddOperationModifiable DeleteOperationModifiable ReplaceOperationModifiable ModifyRecordLoadable DeleteRecordLoadable AddRecordLoadable ContentRecordLoadable LDIF Delete Find Operations GetTextSupport Escape ClassMethods Configuration ClassMethods ObjectClass ClassMethods Callbacks lib/active_ldap/get_text/parser.rb GetText lib/active_ldap/adapter/jndi_connection.rb lib/active_ldap/adapter/net_ldap.rb lib/active_ldap/adapter/ldap.rb lib/active_ldap/adapter/base.rb lib/active_ldap/adapter/jndi.rb Adapter Validations GetTextFallback Helper ClassMethods HumanReadable Salt UserPassword ClassMethods Connection ActiveLdap dot/m_46_0.png

Methods

Private Instance methods

[Source]

    # File lib/active_ldap/association/has_many_utils.rb, line 5
 5:       def collect_targets(requested_target_key, need_requested_targets=false)
 6:         _foreign_key = foreign_key
 7:         return [] if _foreign_key.nil?
 8: 
 9:         requested_targets = @owner[requested_target_key, true]
10:         requested_targets = requested_targets.reject(&:nil?)
11:         if requested_targets.empty?
12:           targets = []
13:         elsif _foreign_key == "dn"
14:           requested_targets = requested_targets.collect do |target|
15:             if target.is_a?(DN)
16:               target
17:             else
18:               DN.parse(target)
19:             end
20:           end
21:           targets = []
22:           requested_targets.each do |target|
23:             begin
24:               targets << foreign_class.find(target, find_options)
25:             rescue EntryNotFound
26:             end
27:           end
28:         else
29:           components = requested_targets.collect do |value|
30:             [_foreign_key, value]
31:           end
32:           options = find_options(:filter => [:or, *components])
33:           targets = foreign_class.find(:all, options)
34:         end
35: 
36:         if need_requested_targets
37:           [targets, requested_targets]
38:         else
39:           targets
40:         end
41:       end

[Validate]