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

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_configurationObject



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_configurationsObject



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


83
84
85
86
87
# File 'lib/active_ldap/configuration.rb', line 83

def remove_connection_related_configuration(config)
  config.reject do |key, value|
    CONNECTION_CONFIGURATION_KEYS.include?(key)
	end
end