From 04347540510aff4ce7df2abafcc517de338bd668 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 5 Jun 2013 17:30:11 +0900 Subject: the typecast value should be passed to the serializer. fixes #10830 --- .../lib/active_record/attribute_methods/serialization.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/attribute_methods/serialization.rb b/activerecord/lib/active_record/attribute_methods/serialization.rb index d326ef7c22..9caf73e627 100644 --- a/activerecord/lib/active_record/attribute_methods/serialization.rb +++ b/activerecord/lib/active_record/attribute_methods/serialization.rb @@ -56,7 +56,7 @@ module ActiveRecord end def type_cast(value) - value.unserialized_value + value.unserialized_value @column.type_cast value.value end def type @@ -65,17 +65,17 @@ module ActiveRecord end class Attribute < Struct.new(:coder, :value, :state) # :nodoc: - def unserialized_value - state == :serialized ? unserialize : value + def unserialized_value(v = value) + state == :serialized ? unserialize(v) : value end def serialized_value state == :unserialized ? serialize : value end - def unserialize + def unserialize(v) self.state = :unserialized - self.value = coder.load(value) + self.value = coder.load(v) end def serialize -- cgit v1.2.3