Class Index [+]

Quicksearch

ActiveLdap::Association::BelongsToMany

Private Instance Methods

delete_entries(entries) click to toggle source
    # File lib/active_ldap/association/belongs_to_many.rb, line 25
25:       def delete_entries(entries)
26:           _foreign_class = foreign_class
27:         entries.each do |entry|
28:           entry = _foreign_class.find(entry) unless entry.is_a?(_foreign_class)
29:           old_value = entry[@options[:many], true]
30:           primary_key_name = @options[:primary_key_name]
31:           if primary_key_name == "dn"
32:             old_value = dn_values_to_string_values(old_value)
33:           end
34:           current_value = @owner[primary_key_name, true]
35:           current_value = dn_values_to_string_values(current_value)
36:           new_value = old_value - current_value
37:           new_value = new_value.uniq.sort
38:           if old_value != new_value
39:             entry[@options[:many]] = new_value
40:             entry.save
41:           end
42:         end
43:       end
find_target() click to toggle source
    # File lib/active_ldap/association/belongs_to_many.rb, line 45
45:       def find_target
46:         values = @owner[@options[:primary_key_name], true].compact
47:         return [] if values.empty?
48: 
49:         key = @options[:many]
50:         components = values.collect do |value|
51:           [key, value]
52:         end
53:         options = find_options(:filter => [:or, *components])
54:         foreign_class.find(:all, options)
55:       end
insert_entry(entry) click to toggle source
    # File lib/active_ldap/association/belongs_to_many.rb, line 7
 7:       def insert_entry(entry)
 8:         _foreign_class = foreign_class
 9:         entry = _foreign_class.find(entry) unless entry.is_a?(_foreign_class)
10:         old_value = entry[@options[:many], true]
11:         primary_key_name = @options[:primary_key_name]
12:         if primary_key_name == "dn"
13:           old_value = dn_values_to_string_values(old_value)
14:         end
15:         current_value = @owner[primary_key_name, true]
16:         current_value = dn_values_to_string_values(current_value)
17:         new_value = old_value + current_value
18:         new_value = new_value.uniq.sort
19:         if old_value != new_value
20:           entry[@options[:many]] = new_value
21:           entry.save
22:         end
23:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.