| Module | ActiveLdap::Configuration::ClassMethods |
| In: |
lib/active_ldap/configuration.rb
|
| CONNECTION_CONFIGURATION_KEYS | = | [:uri, :base, :adapter] |
# File lib/active_ldap/configuration.rb, line 78
78: def configuration(key=nil)
79: @@defined_configurations[key || active_connection_name]
80: end
# File lib/active_ldap/configuration.rb, line 51
51: def default_configuration
52: DEFAULT_CONFIG.dup
53: end
# File lib/active_ldap/configuration.rb, line 82
82: def define_configuration(key, config)
83: @@defined_configurations[key] = config
84: end
# File lib/active_ldap/configuration.rb, line 86
86: def defined_configurations
87: @@defined_configurations
88: end
# File lib/active_ldap/configuration.rb, line 55
55: def ensure_configuration(config=nil)
56: if config.nil?
57: if defined?(LDAP_ENV)
58: config = LDAP_ENV
59: elsif defined?(RAILS_ENV)
60: config = RAILS_ENV
61: else
62: config = {}
63: end
64: end
65:
66: if config.is_a?(Symbol) or config.is_a?(String)
67: _config = configurations[config.to_s]
68: unless _config
69: raise ConnectionError,
70: _("%s connection is not configured") % config
71: end
72: config = _config
73: end
74:
75: config
76: end
# File lib/active_ldap/configuration.rb, line 101
101: def merge_configuration(user_configuration, target=self)
102: configuration = default_configuration
103: prepare_configuration(user_configuration).each do |key, value|
104: case key
105: when :base
106: # Scrub before inserting
107: target.base = value.gsub(/['}{#]/, '')
108: when :scope, :ldap_scope
109: if key == :ldap_scope
110: logger.warning do
111: _(":ldap_scope configuration option is deprecated. " \
112: "Use :scope instead.")
113: end
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 90
90: def remove_configuration_by_configuration(config)
91: @@defined_configurations.delete_if {|key, value| value == config}
92: end