# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 49 def primary_key_default "id" end
class ActiveMongoid::Associations::DocumentRelation::Referenced::One
Public Class Methods
new(base, target, metadata)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 7 def initialize(base, target, metadata) init(base, target, metadata) do bind_one end end
Private Class Methods
builder(base, meta, object)
click to toggle source
# File lib/active_mongoid/associations/document_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)
click to toggle source
# File lib/active_mongoid/associations/document_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)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 37 def foreign_key(name) "#{name}#{foreign_key_suffix}" end
foreign_key_default()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 41 def foreign_key_default nil end
foreign_key_suffix()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 45 def foreign_key_suffix "_id" end
macro()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 53 def macro :has_one_document end
primary_key_default()
click to toggle source
stores_foreign_key?()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 33 def stores_foreign_key? false end
Public Instance Methods
substitute(replacement)
click to toggle source
# File lib/active_mongoid/associations/document_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
Private Instance Methods
binding()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/one.rb, line 27 def binding Bindings::One.new(base, target, __metadata__) end