Module: ActiveLdap::Configuration::ClassMethods
- Defined in:
- lib/active_ldap/configuration.rb
Constant Summary collapse
- CONNECTION_CONFIGURATION_KEYS =
[:base, :ldap_scope, :adapter]
- @@defined_configurations =
{}
Instance Method Summary collapse
- #configuration(key = nil) ⇒ Object
- #default_configuration ⇒ Object
- #define_configuration(key, config) ⇒ Object
- #defined_configurations ⇒ Object
- #ensure_configuration(config = nil) ⇒ Object
- #merge_configuration(config) ⇒ Object
- #remove_configuration_by_configuration(config) ⇒ Object
- #remove_connection_related_configuration(config) ⇒ Object
Instance Method Details
#configuration(key = nil) ⇒ Object
66 67 68 |
# File 'lib/active_ldap/configuration.rb', line 66 def configuration(key=nil) @@defined_configurations[key || active_connection_name] end |
#default_configuration ⇒ Object
40 41 42 |
# File 'lib/active_ldap/configuration.rb', line 40 def default_configuration DEFAULT_CONFIG.dup end |
#define_configuration(key, config) ⇒ Object
70 71 72 |
# File 'lib/active_ldap/configuration.rb', line 70 def define_configuration(key, config) @@defined_configurations[key] = config end |
#defined_configurations ⇒ Object
74 75 76 |
# File 'lib/active_ldap/configuration.rb', line 74 def defined_configurations @@defined_configurations end |
#ensure_configuration(config = nil) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/active_ldap/configuration.rb', line 44 def ensure_configuration(config=nil) if config.nil? if defined?(LDAP_ENV) config = LDAP_ENV elsif defined?(RAILS_ENV) config = RAILS_ENV else config = {} end end if config.is_a?(Symbol) or config.is_a?(String) _config = configurations[config.to_s] unless _config raise ConnectionError, "#{config} connection is not configured" end config = _config end config end |
#merge_configuration(config) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/active_ldap/configuration.rb', line 89 def merge_configuration(config) configuration = default_configuration config.symbolize_keys.each do |key, value| case key when :base # Scrub before inserting self.base = value.gsub(/['}{#]/, '') when :ldap_scope self.ldap_scope = value else configuration[key] = value end end configuration end |
#remove_configuration_by_configuration(config) ⇒ Object
78 79 80 |
# File 'lib/active_ldap/configuration.rb', line 78 def remove_configuration_by_configuration(config) @@defined_configurations.delete_if {|key, value| value == config} end |
#remove_connection_related_configuration(config) ⇒ Object
83 84 85 86 87 |
# File 'lib/active_ldap/configuration.rb', line 83 def (config) config.reject do |key, value| CONNECTION_CONFIGURATION_KEYS.include?(key) end end |