Module ActiveLdap::Operations::Update
In: lib/active_ldap/operations.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

Public Instance methods

[Source]

     # File lib/active_ldap/operations.rb, line 477
477:       def add_entry(dn, attributes, options={})
478:         unnormalized_attributes = attributes.collect do |key, value|
479:           [:add, key, unnormalize_attribute(key, value)]
480:         end
481:         options[:connection] ||= connection
482:         options[:connection].add(dn, unnormalized_attributes, options)
483:       end

[Source]

     # File lib/active_ldap/operations.rb, line 485
485:       def modify_entry(dn, attributes, options={})
486:         return if attributes.empty?
487:         unnormalized_attributes = attributes.collect do |type, key, value|
488:           [type, key, unnormalize_attribute(key, value)]
489:         end
490:         options[:connection] ||= connection
491:         options[:connection].modify(dn, unnormalized_attributes, options)
492:       end

[Source]

     # File lib/active_ldap/operations.rb, line 494
494:       def modify_rdn_entry(dn, new_rdn, delete_old_rdn, new_superior, options={})
495:         options[:connection] ||= connection
496:         options[:connection].modify_rdn(dn, new_rdn, delete_old_rdn,
497:                                         new_superior, options)
498:       end

[Source]

     # File lib/active_ldap/operations.rb, line 500
500:       def update(dn, attributes, options={})
501:         if dn.is_a?(Array)
502:           i = -1
503:           dns = dn
504:           dns.collect do |dn|
505:             i += 1
506:             update(dn, attributes[i], options)
507:           end
508:         else
509:           object = find(dn, options)
510:           object.update_attributes(attributes)
511:           object
512:         end
513:       end

[Source]

     # File lib/active_ldap/operations.rb, line 515
515:       def update_all(attributes, filter=nil, options={})
516:         search_options = options.dup
517:         if filter
518:           if filter.is_a?(String) and /[=\(\)&\|]/ !~ filter
519:             search_options = search_options.merge(:value => filter)
520:           else
521:             search_options = search_options.merge(:filter => filter)
522:           end
523:         end
524:         targets = search(search_options).collect do |dn, attrs|
525:           dn
526:         end
527: 
528:         unnormalized_attributes = attributes.collect do |name, value|
529:           normalized_name, normalized_value = normalize_attribute(name, value)
530:           [:replace, normalized_name,
531:            unnormalize_attribute(normalized_name, normalized_value)]
532:         end
533:         options[:connection] ||= connection
534:         conn = options[:connection]
535:         targets.each do |dn|
536:           conn.modify(dn, unnormalized_attributes, options)
537:         end
538:       end

[Validate]