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] Base DistinguishedName Reloadable::Deprecated Reloadable::Subclasses Enumerable Ldif Collection EntryAttribute StandardError Children HasMany HasManyWrap BelongsToMany Proxy BelongsTo Normalizable Common Find LDIF Delete Update 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/xml.rb lib/active_ldap/schema.rb lib/active_ldap/entry_attribute.rb lib/active_ldap/ldif.rb lib/active_ldap/ldap_error.rb LdapBenchmarking ActionController ClassMethods Associations Compatible ClassMethods Tree Acts 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 Populate Command ClassMethods Normalizable Attributes Escape GetTextSupport Update Common ModifyNameRecordLoadable AddOperationModifiable DeleteOperationModifiable ReplaceOperationModifiable ModifyRecordLoadable DeleteRecordLoadable AddRecordLoadable ContentRecordLoadable LDIF Delete Find Operations ClassMethods Configuration lib/active_ldap/get_text/parser.rb GetText ClassMethods Callbacks ClassMethods ObjectClass 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/base.rb lib/active_ldap/adapter/jndi.rb Adapter Helper GetTextFallback ClassMethods HumanReadable Salt UserPassword ClassMethods Connection ActiveLdap dot/m_45_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]