Module: ActiveLdap::Connection — activeldap - ActiveLdap

Module: ActiveLdap::Connection

Defined in:
lib/active_ldap/connection.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary (collapse)

Instance Method Details

- (Boolean) connected?

Returns:

  • (Boolean)


261
262
263
# File 'lib/active_ldap/connection.rb', line 261

def connected?
  connection != self.class.connection
end

- (Object) connection



246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'lib/active_ldap/connection.rb', line 246

def connection
  conn = @connection
  return conn if conn

  have_dn = !@dn.nil?
  if !have_dn and attribute_name_resolvable_without_connection?
    begin
      have_dn = !get_attribute_before_type_cast(dn_attribute)[1].nil?
    rescue DistinguishedNameInvalid
    end
  end
  conn = self.class.active_connections[dn] || retrieve_connection if have_dn
  conn || self.class.connection
end

- (Object) connection=(adapter)



265
266
267
268
269
270
271
272
273
274
# File 'lib/active_ldap/connection.rb', line 265

def connection=(adapter)
  if adapter.nil? or adapter.is_a?(Adapter::Base)
    @connection = adapter
  elsif adapter.is_a?(Hash)
    config = adapter
    @connection = self.class.instantiate_adapter(config)
  else
    setup_connection(adapter)
  end
end

- (Object) establish_connection(config = nil)



232
233
234
235
236
237
238
239
# File 'lib/active_ldap/connection.rb', line 232

def establish_connection(config=nil)
  message =
    _("ActiveLdap::Connection#establish_connection has been deprecated " \
      "since 1.1.0. " \
      "Please use ActiveLdap::Connection#setup_connection instead.")
  ActiveSupport::Deprecation.warn(message)
  setup_connection(config)
end

- (Object) remove_connection



241
242
243
244
# File 'lib/active_ldap/connection.rb', line 241

def remove_connection
  self.class.remove_connection(dn)
  @connection = nil
end

- (Object) retrieve_connection



276
277
278
279
280
281
282
283
284
285
286
# File 'lib/active_ldap/connection.rb', line 276

def retrieve_connection
  conn = self.class.active_connections[dn]
  return conn if conn

  config = self.class.configuration(dn)
  return nil unless config

  conn = self.class.instantiate_adapter(config)
  @connection = self.class.active_connections[dn] = conn
  conn
end

- (Object) schema



288
289
290
# File 'lib/active_ldap/connection.rb', line 288

def schema
  connection.schema
end

- (Object) setup_connection(config = nil)



223
224
225
226
227
228
229
230
# File 'lib/active_ldap/connection.rb', line 223

def setup_connection(config=nil)
  config = self.class.ensure_configuration(config)
  config = self.class.configuration.merge(config)
  config = self.class.merge_configuration(config, self)

  remove_connection
  self.class.define_configuration(dn, config)
end