Class: ActiveMongoid::Associations::RecordRelation::Referenced::One
- Inherits:
-
One
- Object
- Proxy
- One
- ActiveMongoid::Associations::RecordRelation::Referenced::One
show all
- Defined in:
- lib/active_mongoid/associations/record_relation/referenced/one.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) ⇒ One
Returns a new instance of One.
7
8
9
10
11
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 7
def initialize(base, target, metadata)
init(base, target, metadata) do
bind_one
end
end
|
Class Method Details
.builder(base, meta, object) ⇒ Object
57
58
59
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 57
def builder(base, meta, object)
ActiveMongoid::Associations::Builders::One.new(base, meta, object)
end
|
.criteria(metadata, object, type = nil) ⇒ Object
61
62
63
64
65
66
67
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 61
def criteria(metadata, object, type = nil)
crit = metadata.klass.where(metadata.foreign_key => object)
if metadata.polymorphic?
crit = crit.where(metadata.type => type.name)
end
crit
end
|
.foreign_key(name) ⇒ Object
37
38
39
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 37
def foreign_key(name)
"#{name}#{foreign_key_suffix}"
end
|
.foreign_key_default ⇒ Object
41
42
43
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 41
def foreign_key_default
nil
end
|
.foreign_key_suffix ⇒ Object
45
46
47
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 45
def foreign_key_suffix
"_id"
end
|
.macro ⇒ Object
53
54
55
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 53
def macro
:has_one_record
end
|
.primary_key_default ⇒ Object
49
50
51
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 49
def primary_key_default
"_id"
end
|
.stores_foreign_key? ⇒ Boolean
33
34
35
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 33
def stores_foreign_key?
false
end
|
Instance Method Details
#substitute(replacement) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/active_mongoid/associations/record_relation/referenced/one.rb', line 13
def substitute(replacement)
unbind_one
if base.persisted?
if __metadata__.destructive?
send(__metadata__.dependent)
else
save if persisted?
end
end
One.new(base, replacement, __metadata__) if replacement
end
|