Module ActiveLdap::Configuration::ClassMethods
In: lib/active_ldap/configuration.rb
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid LdapError DistinguishedNameNotSetError EntryNotFound SaveError StrongAuthenticationRequired NotImplemented AdapterNotFound TimeoutError AuthenticationError AttributeValueInvalid EntryNotSaved DistinguishedNameInputInvalid EntryAlreadyExist ObjectClassError UnknownAttribute EntryInvalid DeleteError ConfigurationError ConnectionNotSetup DistinguishedNameInvalid Schema\n[lib/active_ldap/schema.rb\nlib/active_ldap/schema/syntaxes.rb] DistinguishedName Base Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasManyWrap HasMany BelongsToMany Proxy BelongsTo Common Find LDIF Delete Update GetText::Translation Normalizable GetText Parser ActiveRecord::Callbacks ActiveRecord::Validations Base\n[lib/active_ldap/adapter/base.rb\nlib/active_ldap/adapter/jndi.rb\nlib/active_ldap/adapter/ldap.rb\nlib/active_ldap/adapter/net_ldap.rb] Jndi Ldap NetLdap GetTextSupport Xml JndiConnection lib/active_ldap/distinguished_name.rb lib/active_ldap/base.rb lib/active_ldap/schema/syntaxes.rb lib/active_ldap/xml.rb lib/active_ldap/entry_attribute.rb lib/active_ldap/ldif.rb lib/active_ldap/ldap_error.rb Compatible ClassMethods Associations LdapBenchmarking ActionController Populate lib/active_ldap/association/has_many_wrap.rb lib/active_ldap/association/children.rb lib/active_ldap/association/collection.rb lib/active_ldap/association/proxy.rb lib/active_ldap/association/belongs_to_many.rb lib/active_ldap/association/belongs_to.rb lib/active_ldap/association/has_many.rb HasManyUtils Association ClassMethods Tree Acts Command Update Common ModifyNameRecordLoadable AddOperationModifiable DeleteOperationModifiable ReplaceOperationModifiable ModifyRecordLoadable DeleteRecordLoadable AddRecordLoadable ContentRecordLoadable LDIF Delete Find Operations GetTextSupport Escape ClassMethods Normalizable Attributes ClassMethods Configuration ClassMethods ObjectClass lib/active_ldap/get_text/parser.rb GetText ClassMethods Callbacks Validations lib/active_ldap/adapter/jndi_connection.rb lib/active_ldap/adapter/net_ldap.rb lib/active_ldap/adapter/ldap.rb lib/active_ldap/adapter/jndi.rb Adapter Helper Translation GetTextFallback ClassMethods HumanReadable Salt UserPassword ClassMethods Connection ActiveLdap dot/m_46_0.png

Methods

Constants

CONNECTION_CONFIGURATION_KEYS = [:uri, :base, :adapter]

Public Instance methods

[Source]

    # File lib/active_ldap/configuration.rb, line 79
79:       def configuration(key=nil)
80:         @@defined_configurations[key || active_connection_name]
81:       end

[Source]

    # File lib/active_ldap/configuration.rb, line 52
52:       def default_configuration
53:         DEFAULT_CONFIG.dup
54:       end

[Source]

    # File lib/active_ldap/configuration.rb, line 83
83:       def define_configuration(key, config)
84:         @@defined_configurations[key] = config
85:       end

[Source]

    # File lib/active_ldap/configuration.rb, line 87
87:       def defined_configurations
88:         @@defined_configurations
89:       end

[Source]

    # 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

[Source]

     # 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

[Source]

     # 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

[Source]

    # 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

[Source]

     # File lib/active_ldap/configuration.rb, line 96
 96:       def remove_connection_related_configuration(config)
 97:         config.reject do |key, value|
 98:           CONNECTION_CONFIGURATION_KEYS.include?(key)
 99:         end
100:       end

[Validate]