| Class | ActiveLdap::Association::HasManyWrap |
| In: |
lib/active_ldap/association/has_many_wrap.rb
|
| Parent: | Collection |
# File lib/active_ldap/association/has_many_wrap.rb, line 19
19: def delete_entries(entries)
20: old_value = @owner[@options[:wrap], true]
21: new_value = old_value - entries.collect {|entry| entry[primary_key]}
22: new_value = new_value.uniq.sort
23: if old_value != new_value
24: @owner[@options[:wrap]] = new_value
25: @owner.save
26: end
27: end
# File lib/active_ldap/association/has_many_wrap.rb, line 29
29: def find_target
30: targets, requested_targets = collect_targets(:wrap, true)
31: return [] if targets.nil?
32:
33: found_targets = {}
34: foreign_base_key = primary_key
35: targets.each do |target|
36: found_targets[target.send(foreign_base_key)] ||= target
37: end
38:
39: klass = foreign_class
40: requested_targets.collect do |name|
41: found_targets[name] || klass.new(name)
42: end
43: end
# File lib/active_ldap/association/has_many_wrap.rb, line 10
10: def insert_entry(entry)
11: old_value = @owner[@options[:wrap], true]
12: new_value = (old_value + entry[primary_key, true]).uniq.sort
13: if old_value != new_value
14: @owner[@options[:wrap]] = new_value
15: @owner.save
16: end
17: end