Class ActiveLdap::Association::Proxy
In: lib/active_ldap/association/proxy.rb
Parent: Object
Error AttributeAssignmentError AdapterNotSpecified OperationNotPermitted RequiredObjectClassMissed ConnectionError RequiredAttributeMissed LdifInvalid LdapError DistinguishedNameNotSetError EntryNotFound SaveError StrongAuthenticationRequired 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 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/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 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_46_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 8
 8:       def initialize(owner, options)
 9:         @owner = owner
10:         @options = options
11:         reset
12:         extend(options[:extend]) if options[:extend]
13:       end

Public Instance methods

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

Private Instance methods

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Validate]