# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 50 def primary_key_default "_id" end
class ActiveMongoid::Associations::DocumentRelation::Referenced::In
Public Class Methods
new(base, target, metadata)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.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/in.rb, line 58 def builder(base, meta, object) ActiveMongoid::Associations::Builders::In.new(base, meta, object) end
criteria(metadata, object, type = nil)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 62 def criteria(metadata, object, type = nil) type.where(metadata.primary_key => object) end
foreign_key(name)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 38 def foreign_key(name) "#{name}#{foreign_key_suffix}" end
foreign_key_default()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 42 def foreign_key_default nil end
foreign_key_suffix()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 46 def foreign_key_suffix "_id" end
macro()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 54 def macro :belongs_to_document end
primary_key_default()
click to toggle source
stores_foreign_key?()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 34 def stores_foreign_key? true end
Public Instance Methods
substitute(replacement)
click to toggle source
# 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
Private Instance Methods
binding()
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 23 def binding Bindings::In.new(base, target, __metadata__) end
normalize(replacement)
click to toggle source
# File lib/active_mongoid/associations/document_relation/referenced/in.rb, line 27 def normalize(replacement) return replacement if replacement.is_a?(::Mongoid::Document) __metadata__.builder(klass, replacement).build end