Module ActiveLdap::Configuration::ClassMethods
In: lib/active_ldap/configuration.rb
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid LdapError DistinguishedNameNotSetError EntryNotFound SaveError StrongAuthenticationRequired AdapterNotFound ConnectionNotEstablished TimeoutError AuthenticationError AttributeValueInvalid EntryNotSaved DistinguishedNameInputInvalid EntryAlreadyExist ObjectClassError UnknownAttribute EntryInvalid DeleteError ConfigurationError DistinguishedNameInvalid DistinguishedName Base Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasManyWrap HasMany BelongsToMany Proxy BelongsTo Common Find LDIF Delete Update 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 Schema\n[lib/active_ldap/schema.rb\nlib/active_ldap/schema/syntaxes.rb] JndiConnection lib/active_ldap/distinguished_name.rb lib/active_ldap/base.rb lib/active_ldap/schema.rb lib/active_ldap/entry_attribute.rb lib/active_ldap/ldif.rb lib/active_ldap/ldap_error.rb 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 GetTextFallback ClassMethods HumanReadable Salt UserPassword ClassMethods Connection ActiveLdap dot/m_44_0.png

Methods

Constants

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

Public Instance methods

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

    # 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

[Source]

     # 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

[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 90
90:       def remove_configuration_by_configuration(config)
91:         @@defined_configurations.delete_if {|key, value| value == config}
92:       end

[Source]

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

[Validate]