Module ActiveLdap::Populate
In: lib/active_ldap/populate.rb
Error DeleteError LdapError AdapterNotSpecified OperationNotPermitted RequiredAttributeMissed LdifInvalid AttributeAssignmentError RequiredObjectClassMissed DistinguishedNameNotSetError StrongAuthenticationRequired ConnectionError SaveError EntryNotFound AuthenticationError EntryNotSaved UnknownAttribute ConnectionNotEstablished TimeoutError ConfigurationError AdapterNotFound DistinguishedNameInvalid ObjectClassError EntryInvalid EntryAlreadyExist Base DistinguishedName Ldif Reloadable::Deprecated Reloadable::Subclasses Enumerable Collection StandardError Children HasMany HasManyWrap BelongsToMany Proxy BelongsTo Common Find LDIF Delete Update GetText Parser GetTextSupport Base\n[lib/active_ldap/adapter/base.rb\nlib/active_ldap/adapter/ldap.rb\nlib/active_ldap/adapter/net_ldap.rb] Ldap NetLdap Normalize ActiveRecord::Callbacks ActiveRecord::Validations Schema\n[lib/active_ldap/schema.rb\nlib/active_ldap/schema/syntaxes.rb] lib/active_ldap/base.rb lib/active_ldap/schema.rb lib/active_ldap/ldif.rb lib/active_ldap/distinguished_name.rb lib/active_ldap/ldap_error.rb ClassMethods Associations ClassMethods HumanReadable lib/active_ldap/association/has_many_wrap.rb lib/active_ldap/association/has_many.rb lib/active_ldap/association/proxy.rb lib/active_ldap/association/children.rb lib/active_ldap/association/collection.rb lib/active_ldap/association/belongs_to_many.rb lib/active_ldap/association/belongs_to.rb HasManyUtils Association ClassMethods Tree Acts Common LDIF Delete Find Update Operations lib/active_ldap/get_text/parser.rb GetText ClassMethods Configuration Command lib/active_ldap/adapter/net_ldap.rb lib/active_ldap/adapter/ldap.rb Adapter GetTextSupport Normalize ClassMethods Attributes Escape Callbacks ClassMethods ObjectClass Helper Validations ClassMethods Connection GetTextFallback Populate Salt UserPassword ActiveLdap dot/m_40_0.png

Methods

Public Instance methods

[Source]

    # File lib/active_ldap/populate.rb, line 4
 4:     def ensure_base(base_class=nil)
 5:       base_class ||= Base
 6:       return unless base_class.search(:scope => :base).empty?
 7: 
 8:       base_dn = DN.parse(base_class.base)
 9:       suffixes = []
10: 
11:       base_dn.rdns.reverse_each do |rdn|
12:         name, value = rdn.to_a[0]
13:         prefix = suffixes.join(",")
14:         suffixes.unshift("#{name}=#{value}")
15:         next unless name == "dc"
16:         dc_class = Class.new(base_class)
17:         dc_class.ldap_mapping :dn_attribute => "dc",
18:                               :prefix => "",
19:                               :scope => :base,
20:                               :classes => ["top", "dcObject", "organization"]
21:         dc_class.base = prefix
22:         next if dc_class.exist?(value)
23:         dc = dc_class.new(value)
24:         dc.o = dc.dc
25:         begin
26:           dc.save
27:         rescue ActiveLdap::OperationNotPermitted
28:         end
29:       end
30:     end

[Source]

    # File lib/active_ldap/populate.rb, line 32
32:     def ensure_ou(name, base_class=nil)
33:       base_class ||= Base
34:       name = name.gsub(/\Aou\s*=\s*/, '')
35: 
36:       ou_class = Class.new(base_class)
37:       ou_class.ldap_mapping(:dn_attribute => "ou",
38:                             :prefix => "",
39:                             :classes => ["top", "organizationalUnit"])
40:       return if ou_class.exist?(name)
41:       ou_class.new(name).save
42:     end

[Validate]