class MongoMapper::Plugins::Associations::ManyEmbeddedPolymorphicProxy
Public Instance Methods
replace(values)
click to toggle source
# File lib/mongo_mapper/plugins/associations/proxy/many_embedded_polymorphic_proxy.rb, line 6 def replace(values) @_values = values.map do |v| v.respond_to?(:attributes) ? v.attributes.merge(association.type_key_name => v.class.name) : v end reset end
Protected Instance Methods
find_target()
click to toggle source
# File lib/mongo_mapper/plugins/associations/proxy/many_embedded_polymorphic_proxy.rb, line 15 def find_target (@_values || []).map do |hash| child = polymorphic_class(hash).load(hash, true) assign_references(child) child end end
polymorphic_class(doc)
click to toggle source
# File lib/mongo_mapper/plugins/associations/proxy/many_embedded_polymorphic_proxy.rb, line 23 def polymorphic_class(doc) if class_name = doc[association.type_key_name] class_name.constantize else klass end end