Sha256: 3d35dfa7f528e875788bdec9adb17238be84ff23a877f74456f1f93b619a6cd8
Contents?: true
Size: 716 Bytes
Versions: 19
Compression:
Stored size: 716 Bytes
Contents
module MongoMapper module Associations class ManyEmbeddedPolymorphicProxy < Collection def replace(values) @_values = values.map do |v| if v.kind_of?(EmbeddedDocument) v.attributes.merge(reflection.type_key_name => v.class.name) else v end end reset end protected def find_target (@_values || []).map do |hash| polymorphic_class(hash).new(hash) end end def polymorphic_class(doc) if class_name = doc[reflection.type_key_name] class_name.constantize else klass end end end end end
Version data entries
19 entries across 19 versions & 4 rubygems