Class ActiveLdap::Association::Proxy
In: lib/active_ldap/association/proxy.rb
Parent: Object
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

External Aliases

respond_to? -> proxy_respond_to?
extend -> proxy_extend

Public Class methods

[Source]

    # File lib/active_ldap/association/proxy.rb, line 7
 7:       def initialize(owner, options)
 8:         @owner = owner
 9:         @options = options
10:         extend(options[:extend]) if options[:extend]
11:         reset
12:       end

Public Instance methods

[Source]

    # File lib/active_ldap/association/proxy.rb, line 19
19:       def ===(other)
20:         load_target and other === @target
21:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 50
50:       def exists?
51:         load_target
52:         not @target.nil?
53:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 37
37:       def loaded
38:         @loaded = true
39:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 33
33:       def loaded?
34:         @loaded
35:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 28
28:       def reload
29:         reset
30:         load_target
31:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 23
23:       def reset
24:         @target = nil
25:         @loaded = false
26:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 14
14:       def respond_to?(symbol, include_priv=false)
15:         proxy_respond_to?(symbol, include_priv) or
16:           (load_target && @target.respond_to?(symbol, include_priv))
17:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 41
41:       def target
42:         @target
43:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 45
45:       def target=(target)
46:         @target = target
47:         loaded
48:       end

Private Instance methods

[Source]

    # File lib/active_ldap/association/proxy.rb, line 88
88:       def find_options(options={})
89:         if @owner.connection != @owner.class.connection
90:           {:connection => @owner.connection}.merge(options)
91:         else
92:           options
93:         end
94:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 61
61:       def foreign_class
62:         klass = @owner.class.associated_class(@options[:association_id])
63:         klass = @owner.class.module_eval(klass) if klass.is_a?(String)
64:         klass
65:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 67
67:       def have_foreign_key?
68:         false
69:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 96
96:       def infect_connection(target)
97:         conn = @owner.instance_variable_get("@connection")
98:         target.connection = conn if conn
99:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 75
75:       def load_target
76:         if !@owner.new_entry? or have_foreign_key?
77:           begin
78:             @target = find_target unless loaded?
79:           rescue EntryNotFound
80:             reset
81:           end
82:         end
83: 
84:         loaded if target
85:         target
86:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 56
56:       def method_missing(method, *args, &block)
57:         load_target
58:         @target.send(method, *args, &block)
59:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 71
71:       def primary_key
72:         @options[:primary_key_name] || foreign_class.dn_attribute
73:       end

[Validate]