class MongoModel::Associations::Base::Association

Attributes

definition[R]
instance[R]

Public Class Methods

new(definition, instance) click to toggle source
# File lib/mongomodel/concerns/associations/base/association.rb, line 10
def initialize(definition, instance)
  @definition, @instance = definition, instance
end

Public Instance Methods

ensure_class(value) click to toggle source
# File lib/mongomodel/concerns/associations/base/association.rb, line 23
def ensure_class(value)
  unless value.is_a?(klass) || value.class.name.constantize <= klass.name.constantize
    raise AssociationTypeMismatch, "#{klass} expected, got #{value.class}"
  end
end
proxy() click to toggle source
# File lib/mongomodel/concerns/associations/base/association.rb, line 14
def proxy
  @proxy ||= proxy_class.new(self)
end
replace(obj) click to toggle source
# File lib/mongomodel/concerns/associations/base/association.rb, line 18
def replace(obj)
  proxy.target = obj
  proxy
end

Protected Instance Methods

proxy_class() click to toggle source
# File lib/mongomodel/concerns/associations/base/association.rb, line 30
def proxy_class
  self.class.parent::Proxy rescue Base::Proxy
end