Module | ActiveLdap::Configuration::ClassMethods |
In: |
lib/active_ldap/configuration.rb
|
CONNECTION_CONFIGURATION_KEYS | = | [:uri, :base, :adapter] |
# File lib/active_ldap/configuration.rb, line 79 79: def configuration(key=nil) 80: @@defined_configurations[key || active_connection_name] 81: end
# File lib/active_ldap/configuration.rb, line 52 52: def default_configuration 53: DEFAULT_CONFIG.dup 54: end
# File lib/active_ldap/configuration.rb, line 83 83: def define_configuration(key, config) 84: @@defined_configurations[key] = config 85: end
# File lib/active_ldap/configuration.rb, line 87 87: def defined_configurations 88: @@defined_configurations 89: end
# File lib/active_ldap/configuration.rb, line 56 56: def ensure_configuration(config=nil) 57: if config.nil? 58: if defined?(LDAP_ENV) 59: config = LDAP_ENV 60: elsif defined?(RAILS_ENV) 61: config = RAILS_ENV 62: else 63: config = {} 64: end 65: end 66: 67: if config.is_a?(Symbol) or config.is_a?(String) 68: _config = configurations[config.to_s] 69: unless _config 70: raise ConnectionError, 71: _("%s connection is not configured") % config 72: end 73: config = _config 74: end 75: 76: config 77: end
# File lib/active_ldap/configuration.rb, line 102 102: def merge_configuration(user_configuration, target=self) 103: configuration = default_configuration 104: prepare_configuration(user_configuration).each do |key, value| 105: case key 106: when :base 107: # Scrub before inserting 108: target.base = value.gsub(/['}{#]/, '') 109: when :scope, :ldap_scope 110: if key == :ldap_scope 111: message = _(":ldap_scope configuration option is deprecated. " \ 112: "Use :scope instead.") 113: ActiveSupport::Deprecation.warn(message) 114: end 115: target.scope = value 116: configuration[:scope] = value 117: else 118: configuration[key] = value 119: end 120: end 121: configuration 122: end
# File lib/active_ldap/configuration.rb, line 124 124: def prepare_configuration(configuration) 125: configuration = configuration.symbolize_keys 126: uri = configuration.delete(:uri) 127: return configuration unless uri 128: 129: begin 130: uri = URI.parse(uri) 131: rescue URI::InvalidURIError 132: raise ConfigurationError.new(_("invalid URI: %s") % uri) 133: end 134: unless uri.is_a?(URI::LDAP) 135: raise ConfigurationError.new(_("not a LDAP URI: %s") % uri.to_s) 136: end 137: 138: uri_configuration = {:port => uri.port} 139: uri_configuration[:host] = uri.host if uri.host 140: uri_configuration[:bind_dn] = uri.dn if uri.dn 141: uri_configuration[:scope] = uri.scope if uri.scope 142: uri_configuration[:method] = :ssl if uri.is_a?(URI::LDAPS) 143: uri_configuration.merge(configuration) 144: end
# File lib/active_ldap/configuration.rb, line 91 91: def remove_configuration_by_configuration(config) 92: @@defined_configurations.delete_if {|key, value| value == config} 93: end