Module ActiveLdap::Operations::Update
In: lib/active_ldap/operations.rb
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid LdapError DistinguishedNameNotSetError EntryNotFound 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] DistinguishedName Base Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasManyWrap HasMany BelongsToMany Proxy BelongsTo Common Find LDIF Delete Update GetText::Translation 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 Xml JndiConnection lib/active_ldap/distinguished_name.rb lib/active_ldap/base.rb lib/active_ldap/schema/syntaxes.rb lib/active_ldap/xml.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 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 Translation GetTextFallback ClassMethods HumanReadable Salt UserPassword ClassMethods Connection ActiveLdap dot/m_46_0.png

Methods

Public Instance methods

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Validate]