| Module | ActiveLdap::Connection |
| In: |
lib/active_ldap/connection.rb
|
# File lib/active_ldap/connection.rb, line 3 3: def self.included(base) 4: base.extend(ClassMethods) 5: end
# File lib/active_ldap/connection.rb, line 224
224: def connected?
225: connection != self.class.connection
226: end
# File lib/active_ldap/connection.rb, line 212
212: def connection
213: conn = @connection
214: return conn if conn
215:
216: if @dn or
217: (attribute_name_resolvable_without_connection? and
218: get_attribute_before_type_cast(dn_attribute)[1])
219: conn = self.class.active_connections[dn] || retrieve_connection
220: end
221: conn || self.class.connection
222: end
# File lib/active_ldap/connection.rb, line 228
228: def connection=(adapter)
229: if adapter.nil? or adapter.is_a?(Adapter::Base)
230: @connection = adapter
231: elsif adapter.is_a?(Hash)
232: config = adapter
233: @connection = self.class.instantiate_adapter(config)
234: else
235: establish_connection(adapter)
236: end
237: end
# File lib/active_ldap/connection.rb, line 198
198: def establish_connection(config=nil)
199: config = self.class.ensure_configuration(config)
200: config = self.class.configuration.merge(config)
201: config = self.class.merge_configuration(config, self)
202:
203: remove_connection
204: self.class.define_configuration(dn, config)
205: end
# File lib/active_ldap/connection.rb, line 207
207: def remove_connection
208: self.class.remove_connection(dn)
209: @connection = nil
210: end
# File lib/active_ldap/connection.rb, line 239
239: def retrieve_connection
240: conn = self.class.active_connections[dn]
241: return conn if conn
242:
243: config = self.class.configuration(dn)
244: return nil unless config
245:
246: conn = self.class.instantiate_adapter(config)
247: @connection = self.class.active_connections[dn] = conn
248: conn
249: end