Sha256: a46b135bf3e7be12529ebb105417e95af83fdc9f402e7c77266956f68bd081db
Contents?: true
Size: 946 Bytes
Versions: 2
Compression:
Stored size: 946 Bytes
Contents
# encoding: UTF-8 module MongoMapper module Plugins module Associations class OneEmbeddedProxy < Proxy def build(attributes={}) @target = klass.new(attributes) assign_references(@target) loaded @target end def replace(doc) if doc.respond_to?(:attributes) @target = klass.load(doc.attributes) else @target = klass.load(doc) end @target.default_id_value if @target && @target.id.nil? assign_references(@target) loaded @target end protected def find_target if @value klass.load(@value).tap do |child| assign_references(child) end end end def assign_references(doc) doc._parent_document = proxy_owner if doc end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ign-mongo_mapper-0.8.6.2 | lib/mongo_mapper/plugins/associations/one_embedded_proxy.rb |
ign-mongo_mapper-0.8.6.1 | lib/mongo_mapper/plugins/associations/one_embedded_proxy.rb |