# module ActiveLdap::Connection

### Public Class Methods

included(base) click to toggle source

    # File lib/active_ldap/connection.rb, line 3
    def self.included(base)
      base.extend(ClassMethods)
    end

### Public Instance Methods

connected?() click to toggle source

    # File lib/active_ldap/connection.rb, line 261
    def connected?
      connection != self.class.connection
    end

connection() click to toggle source

    # 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

connection=(adapter) click to toggle source

    # 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

establish_connection(config=nil) click to toggle source

    # 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

remove_connection() click to toggle source

    # File lib/active_ldap/connection.rb, line 241
    def remove_connection
      self.class.remove_connection(dn)
      @connection = nil
    end

retrieve_connection() click to toggle source

    # 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

schema() click to toggle source

    # File lib/active_ldap/connection.rb, line 288
    def schema
      connection.schema
    end

setup_connection(config=nil) click to toggle source

    # 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