Class: ActiveMongoid::Associations::DocumentRelation::Referenced::In

Inherits:
One
  • Object
show all
Defined in:
lib/active_mongoid/associations/document_relation/referenced/in.rb

Instance Attribute Summary

Attributes inherited from Proxy

#__metadata__, #base, #target

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from One

#==, #clear, #respond_to?

Methods inherited from Proxy

#==, #init, #klass, #method_missing

Constructor Details

#initialize(base, target, metadata) ⇒ In

Returns a new instance of In.



7
8
9
10
11
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 7

def initialize(base, target, )
  init(base, target, ) do
    bind_one
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ActiveMongoid::Associations::Proxy

Class Method Details

.builder(base, meta, object) ⇒ Object



58
59
60
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 58

def builder(base, meta, object)
  ActiveMongoid::Associations::Builders::In.new(base, meta, object)
end

.criteria(metadata, object, type = nil) ⇒ Object



62
63
64
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 62

def criteria(, object, type = nil)
  type.where(.primary_key => object)
end

.foreign_key(name) ⇒ Object



38
39
40
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 38

def foreign_key(name)
  "#{name}#{foreign_key_suffix}"
end

.foreign_key_defaultObject



42
43
44
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 42

def foreign_key_default
  nil
end

.foreign_key_suffixObject



46
47
48
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 46

def foreign_key_suffix
  "_id"
end

.macroObject



54
55
56
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 54

def macro
  :belongs_to_document
end

.primary_key_defaultObject



50
51
52
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 50

def primary_key_default
  "_id"
end

.stores_foreign_key?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 34

def stores_foreign_key?
  true
end

Instance Method Details

#substitute(replacement) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/active_mongoid/associations/document_relation/referenced/in.rb', line 13

def substitute(replacement)
  unbind_one
  return nil unless replacement
  self.target = normalize(replacement)
  bind_one
  self
end