| 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 256
256: def connected?
257: connection != self.class.connection
258: end
# File lib/active_ldap/connection.rb, line 241
241: def connection
242: conn = @connection
243: return conn if conn
244:
245: have_dn = !@dn.nil?
246: if !have_dn and attribute_name_resolvable_without_connection?
247: begin
248: have_dn = !get_attribute_before_type_cast(dn_attribute)[1].nil?
249: rescue DistinguishedNameInvalid
250: end
251: end
252: conn = self.class.active_connections[dn] || retrieve_connection if have_dn
253: conn || self.class.connection
254: end
# File lib/active_ldap/connection.rb, line 260
260: def connection=(adapter)
261: if adapter.nil? or adapter.is_a?(Adapter::Base)
262: @connection = adapter
263: elsif adapter.is_a?(Hash)
264: config = adapter
265: @connection = self.class.instantiate_adapter(config)
266: else
267: setup_connection(adapter)
268: end
269: end
# File lib/active_ldap/connection.rb, line 227
227: def establish_connection(config=nil)
228: message =
229: _("ActiveLdap::Connection#establish_connection has been deprecated " \
230: "since 1.1.0. " \
231: "Please use ActiveLdap::Connection#setup_connection instead.")
232: ActiveSupport::Deprecation.warn(message)
233: setup_connection(config)
234: end
# File lib/active_ldap/connection.rb, line 236
236: def remove_connection
237: self.class.remove_connection(dn)
238: @connection = nil
239: end
# File lib/active_ldap/connection.rb, line 271
271: def retrieve_connection
272: conn = self.class.active_connections[dn]
273: return conn if conn
274:
275: config = self.class.configuration(dn)
276: return nil unless config
277:
278: conn = self.class.instantiate_adapter(config)
279: @connection = self.class.active_connections[dn] = conn
280: conn
281: end
# File lib/active_ldap/connection.rb, line 218
218: def setup_connection(config=nil)
219: config = self.class.ensure_configuration(config)
220: config = self.class.configuration.merge(config)
221: config = self.class.merge_configuration(config, self)
222:
223: remove_connection
224: self.class.define_configuration(dn, config)
225: end