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 62 62: def exists? 63: load_target 64: not @target.empty? 65: end
# File lib/active_ldap/association/collection.rb, line 41 41: def replace(others) 42: load_target 43: 44: entry = @target.first 45: if entry.nil? 46: deleted_entries = [] 47: added_entries = others 48: else 49: base_class = entry.class 50: others = others.collect do |other| 51: other = base_class.find(other) unless other.is_a?(base_class) 52: other 53: end 54: deleted_entries = @target - others 55: added_entries = others - @target 56: end 57: 58: delete(deleted_entries) 59: concat(added_entries) 60: 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 79 79: def add_entries(*entries) 80: result = true 81: load_target 82: 83: flatten_deeper(entries).each do |entry| 84: unless @owner.new_entry? 85: infect_connection(entry) 86: result &&= insert_entry(entry) 87: end 88: @target << entry 89: end 90: 91: result && self 92: end
# File lib/active_ldap/association/collection.rb, line 94 94: def dn_values_to_string_values(values) 95: values.collect do |value| 96: if value.is_a?(DN) 97: value.to_s 98: else 99: value 100: end 101: end 102: end
# File lib/active_ldap/association/collection.rb, line 68 68: def flatten_deeper(array) 69: array.collect do |element| 70: element.respond_to?(:flatten) ? element.flatten : element 71: end.flatten 72: end