| Class | ActiveLdap::Association::Collection |
| In: |
lib/active_ldap/association/collection.rb
|
| Parent: | Proxy |
# File lib/active_ldap/association/collection.rb, line 18
18: def <<(*entries)
19: add_entries(*entries)
20: end
# File lib/active_ldap/association/collection.rb, line 28
28: def delete(*entries)
29: entries = flatten_deeper(entries).reject do |entry|
30: @target.delete(entry) if entry.new_entry?
31: entry.new_entry?
32: end
33: return if entries.empty?
34:
35: delete_entries(entries)
36: entries.each do |entry|
37: @target.delete(entry)
38: end
39: end
# File lib/active_ldap/association/collection.rb, line 24
24: def each(&block)
25: to_ary.each(&block)
26: end
# File lib/active_ldap/association/collection.rb, line 50
50: def exists?
51: load_target
52: not @target.empty?
53: end
# File lib/active_ldap/association/collection.rb, line 41
41: def replace(others)
42: load_target
43: deleted_entries = @target - others
44: added_entries = others - @target
45:
46: delete(deleted_entries)
47: concat(added_entries)
48: end
# File lib/active_ldap/association/collection.rb, line 13
13: def reset
14: @target = []
15: @loaded = false
16: end
# File lib/active_ldap/association/collection.rb, line 8
8: def to_ary
9: load_target
10: @target.to_ary
11: end
# File lib/active_ldap/association/collection.rb, line 67
67: def add_entries(*entries)
68: result = true
69: load_target
70:
71: flatten_deeper(entries).each do |entry|
72: unless @owner.new_entry?
73: infect_connection(entry)
74: result &&= insert_entry(entry)
75: end
76: @target << entry
77: end
78:
79: result && self
80: end
# File lib/active_ldap/association/collection.rb, line 82
82: def dn_values_to_string_values(values)
83: values.collect do |value|
84: if value.is_a?(DN)
85: value.to_s
86: else
87: value
88: end
89: end
90: end
# File lib/active_ldap/association/collection.rb, line 56
56: def flatten_deeper(array)
57: array.collect do |element|
58: element.respond_to?(:flatten) ? element.flatten : element
59: end.flatten
60: end