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

Public Instance methods

[Source]

     # File lib/active_ldap/operations.rb, line 545
545:       def add_entry(dn, attributes, options={})
546:         unnormalized_attributes = attributes.collect do |key, value|
547:           [:add, key, unnormalize_attribute(key, value)]
548:         end
549:         options[:connection] ||= connection
550:         options[:connection].add(dn, unnormalized_attributes, options)
551:       end

[Source]

     # File lib/active_ldap/operations.rb, line 553
553:       def modify_entry(dn, attributes, options={})
554:         return if attributes.empty?
555:         unnormalized_attributes = attributes.collect do |type, key, value|
556:           [type, key, unnormalize_attribute(key, value)]
557:         end
558:         options[:connection] ||= connection
559:         options[:connection].modify(dn, unnormalized_attributes, options)
560:       end

[Source]

     # File lib/active_ldap/operations.rb, line 562
562:       def modify_rdn_entry(dn, new_rdn, delete_old_rdn, new_superior, options={})
563:         options[:connection] ||= connection
564:         options[:connection].modify_rdn(dn, new_rdn, delete_old_rdn,
565:                                         new_superior, options)
566:       end

[Source]

     # File lib/active_ldap/operations.rb, line 568
568:       def update(dn, attributes, options={})
569:         if dn.is_a?(Array)
570:           i = -1
571:           dns = dn
572:           dns.collect do |_dn|
573:             i += 1
574:             update(_dn, attributes[i], options)
575:           end
576:         else
577:           object = find(dn, options)
578:           object.update_attributes(attributes)
579:           object
580:         end
581:       end

[Source]

     # File lib/active_ldap/operations.rb, line 583
583:       def update_all(attributes, filter=nil, options={})
584:         search_options = options.dup
585:         if filter
586:           if filter.is_a?(String) and /[=\(\)&\|]/ !~ filter
587:             search_options = search_options.merge(:value => filter)
588:           else
589:             search_options = search_options.merge(:filter => filter)
590:           end
591:         end
592:         targets = search(search_options).collect do |dn, attrs|
593:           dn
594:         end
595: 
596:         unnormalized_attributes = attributes.collect do |name, value|
597:           normalized_name, normalized_value = normalize_attribute(name, value)
598:           [:replace, normalized_name,
599:            unnormalize_attribute(normalized_name, normalized_value)]
600:         end
601:         options[:connection] ||= connection
602:         conn = options[:connection]
603:         targets.each do |dn|
604:           conn.modify(dn, unnormalized_attributes, options)
605:         end
606:       end

[Validate]