Module ActiveLdap::Configuration::ClassMethods
In: lib/active_ldap/configuration.rb
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid DistinguishedNameNotSetError EntryNotFound LdapError 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] Base DistinguishedName Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasManyWrap HasMany BelongsToMany Proxy BelongsTo Normalizable Common Find LDIF Delete Update ActiveRecord::Callbacks GetText Parser 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 ActiveRecord::Validations Xml JndiConnection lib/active_ldap/distinguished_name.rb lib/active_ldap/base.rb lib/active_ldap/xml.rb lib/active_ldap/schema.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 ClassMethods Normalizable Attributes Update Common ModifyNameRecordLoadable AddOperationModifiable DeleteOperationModifiable ReplaceOperationModifiable ModifyRecordLoadable DeleteRecordLoadable AddRecordLoadable ContentRecordLoadable LDIF Delete Find Operations GetTextSupport Escape ClassMethods Configuration ClassMethods ObjectClass ClassMethods Callbacks lib/active_ldap/get_text/parser.rb GetText lib/active_ldap/adapter/jndi_connection.rb lib/active_ldap/adapter/net_ldap.rb lib/active_ldap/adapter/ldap.rb lib/active_ldap/adapter/base.rb lib/active_ldap/adapter/jndi.rb Adapter Validations GetTextFallback Helper 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]