Class/Module Index [+]

Quicksearch

ActiveLdap::Connection::ClassMethods

Public Instance Methods

active_connection_name() click to toggle source
# File lib/active_ldap/connection.rb, line 37
def active_connection_name
  @active_connection_name ||= determine_active_connection_name
end
clear_active_connection_name() click to toggle source
# File lib/active_ldap/connection.rb, line 55
def clear_active_connection_name
  @active_connection_name = nil
  ObjectSpace.each_object(Class) do |klass|
    if klass < self and !klass.name.blank?
      klass.instance_variable_set("@active_connection_name", nil)
    end
  end
end
clear_active_connections!() click to toggle source
# File lib/active_ldap/connection.rb, line 47
def clear_active_connections!
  connections = active_connections
  connections.each do |key, connection|
    connection.disconnect!
  end
  connections.clear
end
connected?() click to toggle source
# File lib/active_ldap/connection.rb, line 111
def connected?
  active_connections[active_connection_name] ? true : false
end
connection() click to toggle source
# File lib/active_ldap/connection.rb, line 64
def connection
  conn = nil
  @active_connection_name ||= nil
  if @active_connection_name
    conn = active_connections[@active_connection_name]
  end
  unless conn
    conn = retrieve_connection
    active_connections[@active_connection_name] = conn
  end
  conn
end
connection=(adapter) click to toggle source
# File lib/active_ldap/connection.rb, line 77
def connection=(adapter)
  if adapter.is_a?(Adapter::Base)
    active_connections[active_connection_name] = adapter
  elsif adapter.is_a?(Hash)
    config = adapter
    self.connection = instantiate_adapter(config)
  elsif adapter.nil?
    raise ConnectionNotSetup
  else
    setup_connection(adapter)
  end
end
default_adapter() click to toggle source
# File lib/active_ldap/connection.rb, line 107
def default_adapter
  @@default_adapter ||= guess_available_adapter
end
establish_connection(config=nil) click to toggle source
# File lib/active_ldap/connection.rb, line 154
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
instantiate_adapter(config) click to toggle source
# File lib/active_ldap/connection.rb, line 90
def instantiate_adapter(config)
  adapter = (config[:adapter] || default_adapter)
  normalized_adapter = adapter.downcase.gsub(/-/, "_")
  adapter_method = "#{normalized_adapter}_connection"
  unless Adapter::Base.respond_to?(adapter_method)
    raise AdapterNotFound.new(adapter)
  end
  if config.has_key?(:ldap_scope)
    message = _(":ldap_scope connection option is deprecated. "                        "Use :scope instead.")
    ActiveSupport::Deprecation.warn(message)
    config[:scope] ||= config.delete(:ldap_scope)
  end
  config = remove_connection_related_configuration(config)
  Adapter::Base.send(adapter_method, config)
end
remove_active_connections!() click to toggle source
# File lib/active_ldap/connection.rb, line 41
def remove_active_connections!
  active_connections.keys.each do |key|
    remove_connection(key)
  end
end
remove_connection(klass_or_key=self) click to toggle source
# File lib/active_ldap/connection.rb, line 130
def remove_connection(klass_or_key=self)
  if klass_or_key.is_a?(Module)
    key = active_connection_key(klass_or_key)
  else
    key = klass_or_key
  end
  config = configuration(key)
  conn = active_connections[key]
  remove_configuration_by_configuration(config)
  active_connections.delete_if {|_key, value| value == conn}
  conn.disconnect! if conn
  config
end
reset_runtime() click to toggle source
# File lib/active_ldap/connection.rb, line 168
def reset_runtime
  active_connections.inject(0) do |result, (name, connection)|
    result + connection.reset_runtime
  end
end
retrieve_connection() click to toggle source
# File lib/active_ldap/connection.rb, line 115
def retrieve_connection
  conn = nil
  name = active_connection_name
  raise ConnectionNotSetup unless name
  conn = active_connections[name]
  if conn.nil?
    config = configuration(name)
    raise ConnectionNotSetup unless config
    self.connection = config
    conn = active_connections[name]
  end
  raise ConnectionNotSetup if conn.nil?
  conn
end
schema() click to toggle source

Return the schema object

# File lib/active_ldap/connection.rb, line 164
def schema
  connection.schema
end
setup_connection(config=nil) click to toggle source
# File lib/active_ldap/connection.rb, line 144
def setup_connection(config=nil)
  config = ensure_configuration(config)
  remove_connection

  clear_active_connection_name
  key = active_connection_key
  @active_connection_name = key
  define_configuration(key, merge_configuration(config))
end
single_threaded_active_connections() click to toggle source
# File lib/active_ldap/connection.rb, line 15
def single_threaded_active_connections
  @@active_connections
end
thread_safe_active_connections() click to toggle source
# File lib/active_ldap/connection.rb, line 11
def thread_safe_active_connections
  @@active_connections[Thread.current.object_id] ||= {}
end

Private Instance Methods

active_connection_key(k=self) click to toggle source
# File lib/active_ldap/connection.rb, line 175
def active_connection_key(k=self)
  k.name.blank? ? k.object_id : k.name
end
clear_all_cached_connections!() click to toggle source
# File lib/active_ldap/connection.rb, line 190
def clear_all_cached_connections!
  if @@allow_concurrency
    @@active_connections.each_value do |connection_hash_for_thread|
      connection_hash_for_thread.each_value {|conn| conn.disconnect!}
      connection_hash_for_thread.clear
    end
  else
    @@active_connections.each_value {|conn| conn.disconnect!}
  end
  @@active_connections.clear
end
determine_active_connection_name() click to toggle source
# File lib/active_ldap/connection.rb, line 179
def determine_active_connection_name
  key = active_connection_key
  if active_connections[key] or configuration(key)
    key
  elsif self == ActiveLdap::Base
    nil
  else
    superclass.active_connection_name
  end
end
guess_available_adapter() click to toggle source
# File lib/active_ldap/connection.rb, line 202
def guess_available_adapter
  if Object.respond_to?(:java)
    "jndi"
  else
    ruby_ldap_available = false
    $LOAD_PATH.each do |path|
      if File.exist?(File.join(path, "ldap", "ldif.rb"))
        ruby_ldap_available = true
        break
      end
    end
    if !ruby_ldap_available and Object.const_defined?(:Gem)
      ruby_ldap_available = Gem.available?("ruby-ldap")
    end
    if ruby_ldap_available
      "ldap"
    else
      "net-ldap"
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.