| Class | ActiveLdap::Association::HasMany |
| In: |
lib/active_ldap/association/has_many.rb
|
| Parent: | Collection |
# 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
# 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