Class: ActiveMongoid::Associations::RecordRelation::Referenced::Many
- Inherits:
-
Many
- Object
- Proxy
- Many
- ActiveMongoid::Associations::RecordRelation::Referenced::Many
show all
- Defined in:
- lib/active_mongoid/associations/record_relation/referenced/many.rb
Instance Attribute Summary
Attributes inherited from Proxy
#__metadata__, #base, #target
Class Method Summary
collapse
Methods inherited from Many
#<<, #blank?, #build, #concat, #create, #create!, #delete, #delete_all, #destroy_all, #each, #exists?, #find, #find_or_create_by, #find_or_initialize_by, #initialize, #nil?, #nullify, #purge, #raise_unsaved, #respond_to?, #scoped, #substitute, #unscoped
Methods inherited from Proxy
#==, #init, #klass
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
75
76
77
78
79
80
81
82
83
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 75
def method_missing(name, *args, &block)
if target.respond_to?(name)
target.send(name, *args, &block)
else
criteria.scoping do
criteria.public_send(name, *args, &block)
end
end
end
|
Class Method Details
.builder(base, meta, object) ⇒ Object
111
112
113
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 111
def builder(base, meta, object)
ActiveMongoid::Associations::Builders::Many.new(base, meta, object || [])
end
|
.criteria(metadata, object, type = nil) ⇒ Object
115
116
117
118
119
120
121
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 115
def criteria(metadata, object, type = nil)
crit = metadata.klass.where(metadata.foreign_key => object.to_s)
if metadata.polymorphic?
crit = crit.where(metadata.type => type.name)
end
crit
end
|
.foreign_key(name) ⇒ Object
91
92
93
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 91
def foreign_key(name)
"#{name}#{foreign_key_suffix}"
end
|
.foreign_key_default ⇒ Object
95
96
97
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 95
def foreign_key_default
nil
end
|
.foreign_key_suffix ⇒ Object
99
100
101
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 99
def foreign_key_suffix
"_id"
end
|
.macro ⇒ Object
107
108
109
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 107
def macro
:has_many_records
end
|
.primary_key_default ⇒ Object
103
104
105
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 103
def primary_key_default
"_id"
end
|
.stores_foreign_key? ⇒ Boolean
87
88
89
|
# File 'lib/active_mongoid/associations/record_relation/referenced/many.rb', line 87
def stores_foreign_key?
false
end
|