lib/virtus/attribute/embedded_value.rb in virtus-1.0.0.beta5 vs lib/virtus/attribute/embedded_value.rb in virtus-1.0.0.beta6

- old
+ new

@@ -21,11 +21,11 @@ # # user = User.new(:address => { # :street => 'Street 1/2', :zipcode => '12345', :city => 'NYC' }) # class EmbeddedValue < Attribute - TYPES = [Struct, OpenStruct, Virtus].freeze + TYPES = [Struct, OpenStruct, Virtus, Model::Constructor].freeze class FromStruct < self # @api public def coerce(input) @@ -54,10 +54,10 @@ klass.is_a?(Class) && TYPES.any? { |type| klass <= type } end # @api private def self.determine_type(klass) - if klass < Virtus || klass <= OpenStruct + if klass < Virtus || klass < Model::Constructor || klass <= OpenStruct FromOpenStruct elsif klass < Struct FromStruct end end