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 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

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 93
93:       def find_options(options={})
94:         if @owner.connection != @owner.class.connection
95:           {:connection => @owner.connection}.merge(options)
96:         else
97:           options
98:         end
99:       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 76
76:       def foreign_key
77:         @options[:foreign_key_name] || foreign_class.dn_attribute
78:       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 101
101:       def infect_connection(target)
102:         conn = @owner.instance_variable_get("@connection")
103:         target.connection = conn if conn
104:       end

[Source]

    # File lib/active_ldap/association/proxy.rb, line 80
80:       def load_target
81:         if !@owner.new_entry? or have_foreign_key?
82:           begin
83:             @target = find_target unless loaded?
84:           rescue EntryNotFound
85:             reset
86:           end
87:         end
88: 
89:         loaded if target
90:         target
91:       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] || @owner.dn_attribute
74:       end

[Validate]