# File lib/active_ldap/connection.rb, line 37 37: def active_connection_name 38: @active_connection_name ||= determine_active_connection_name 39: end
# File lib/active_ldap/connection.rb, line 55 55: def clear_active_connection_name 56: @active_connection_name = nil 57: ObjectSpace.each_object(Class) do |klass| 58: if klass < self and !klass.name.blank? 59: klass.instance_variable_set("@active_connection_name", nil) 60: end 61: end 62: end
# File lib/active_ldap/connection.rb, line 47 47: def clear_active_connections! 48: connections = active_connections 49: connections.each do |key, connection| 50: connection.disconnect! 51: end 52: connections.clear 53: end
# File lib/active_ldap/connection.rb, line 111 111: def connected? 112: active_connections[active_connection_name] ? true : false 113: end
# File lib/active_ldap/connection.rb, line 64 64: def connection 65: conn = nil 66: @active_connection_name ||= nil 67: if @active_connection_name 68: conn = active_connections[@active_connection_name] 69: end 70: unless conn 71: conn = retrieve_connection 72: active_connections[@active_connection_name] = conn 73: end 74: conn 75: end
# File lib/active_ldap/connection.rb, line 77 77: def connection=(adapter) 78: if adapter.is_a?(Adapter::Base) 79: active_connections[active_connection_name] = adapter 80: elsif adapter.is_a?(Hash) 81: config = adapter 82: self.connection = instantiate_adapter(config) 83: elsif adapter.nil? 84: raise ConnectionNotSetup 85: else 86: setup_connection(adapter) 87: end 88: end
# File lib/active_ldap/connection.rb, line 107 107: def default_adapter 108: @@default_adapter ||= guess_available_adapter 109: end
# File lib/active_ldap/connection.rb, line 154 154: def establish_connection(config=nil) 155: message = 156: _("ActiveLdap::Connection.establish_connection has been deprecated " "since 1.1.0. " "Please use ActiveLdap::Connection.setup_connection instead.") 157: ActiveSupport::Deprecation.warn(message) 158: setup_connection(config) 159: end
# File lib/active_ldap/connection.rb, line 90 90: def instantiate_adapter(config) 91: adapter = (config[:adapter] || default_adapter) 92: normalized_adapter = adapter.downcase.gsub(/-/, "_") 93: adapter_method = "#{normalized_adapter}_connection" 94: unless Adapter::Base.respond_to?(adapter_method) 95: raise AdapterNotFound.new(adapter) 96: end 97: if config.has_key?(:ldap_scope) 98: message = _(":ldap_scope connection option is deprecated. " "Use :scope instead.") 99: ActiveSupport::Deprecation.warn(message) 100: config[:scope] ||= config.delete(:ldap_scope) 101: end 102: config = remove_connection_related_configuration(config) 103: Adapter::Base.send(adapter_method, config) 104: end
# File lib/active_ldap/connection.rb, line 41 41: def remove_active_connections! 42: active_connections.keys.each do |key| 43: remove_connection(key) 44: end 45: end
# File lib/active_ldap/connection.rb, line 130 130: def remove_connection(klass_or_key=self) 131: if klass_or_key.is_a?(Module) 132: key = active_connection_key(klass_or_key) 133: else 134: key = klass_or_key 135: end 136: config = configuration(key) 137: conn = active_connections[key] 138: remove_configuration_by_configuration(config) 139: active_connections.delete_if {|_key, value| value == conn} 140: conn.disconnect! if conn 141: config 142: end
# File lib/active_ldap/connection.rb, line 168 168: def reset_runtime 169: active_connections.inject(0) do |result, (name, connection)| 170: result + connection.reset_runtime 171: end 172: end
# File lib/active_ldap/connection.rb, line 115 115: def retrieve_connection 116: conn = nil 117: name = active_connection_name 118: raise ConnectionNotSetup unless name 119: conn = active_connections[name] 120: if conn.nil? 121: config = configuration(name) 122: raise ConnectionNotSetup unless config 123: self.connection = config 124: conn = active_connections[name] 125: end 126: raise ConnectionNotSetup if conn.nil? 127: conn 128: end
Return the schema object
# File lib/active_ldap/connection.rb, line 164 164: def schema 165: connection.schema 166: end
# File lib/active_ldap/connection.rb, line 144 144: def setup_connection(config=nil) 145: config = ensure_configuration(config) 146: remove_connection 147: 148: clear_active_connection_name 149: key = active_connection_key 150: @active_connection_name = key 151: define_configuration(key, merge_configuration(config)) 152: end
# File lib/active_ldap/connection.rb, line 175 175: def active_connection_key(k=self) 176: k.name.blank? ? k.object_id : k.name 177: end
# File lib/active_ldap/connection.rb, line 190 190: def clear_all_cached_connections! 191: if @@allow_concurrency 192: @@active_connections.each_value do |connection_hash_for_thread| 193: connection_hash_for_thread.each_value {|conn| conn.disconnect!} 194: connection_hash_for_thread.clear 195: end 196: else 197: @@active_connections.each_value {|conn| conn.disconnect!} 198: end 199: @@active_connections.clear 200: end
# File lib/active_ldap/connection.rb, line 179 179: def determine_active_connection_name 180: key = active_connection_key 181: if active_connections[key] or configuration(key) 182: key 183: elsif self == ActiveLdap::Base 184: nil 185: else 186: superclass.active_connection_name 187: end 188: end
# File lib/active_ldap/connection.rb, line 202 202: def guess_available_adapter 203: if Object.respond_to?(:java) 204: "jndi" 205: else 206: ruby_ldap_available = false 207: $LOAD_PATH.each do |path| 208: if File.exist?(File.join(path, "ldap", "ldif.rb")) 209: ruby_ldap_available = true 210: break 211: end 212: end 213: if !ruby_ldap_available and Object.const_defined?(:Gem) 214: ruby_ldap_available = Gem.available?("ruby-ldap") 215: end 216: if ruby_ldap_available 217: "ldap" 218: else 219: "net-ldap" 220: end 221: end 222: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.