diff options
author | Nikita Afanasenko <nikita@afanasenko.name> | 2012-11-10 01:45:43 +0400 |
---|---|---|
committer | Nikita Afanasenko <nikita@afanasenko.name> | 2012-11-10 01:45:43 +0400 |
commit | 410e887a446e82399cca535bc0a9f12647d7dbf3 (patch) | |
tree | 015fa75157e055521dd50782a406d4522e964c15 /activerecord/lib/active_record/attribute_methods | |
parent | 90a1721c3171bce08b20b9ce4765ba9eeea725cd (diff) | |
download | rails-410e887a446e82399cca535bc0a9f12647d7dbf3.tar.gz rails-410e887a446e82399cca535bc0a9f12647d7dbf3.tar.bz2 rails-410e887a446e82399cca535bc0a9f12647d7dbf3.zip |
Keep the code related to serialization in Serialization module.
We should not need any `serialized_attributes` checks outside `ActiveRecord::AttributeMethods::Serialization` module.
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/serialization.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/serialization.rb b/activerecord/lib/active_record/attribute_methods/serialization.rb index 5b9ed81424..47d4a938af 100644 --- a/activerecord/lib/active_record/attribute_methods/serialization.rb +++ b/activerecord/lib/active_record/attribute_methods/serialization.rb @@ -5,7 +5,7 @@ module ActiveRecord included do # Returns a hash of all the attributes that have been specified for - # serialization as keys and their class restriction as values. + # serialization as keys and their class restriction as values. class_attribute :serialized_attributes, instance_accessor: false self.serialized_attributes = {} end @@ -129,6 +129,14 @@ module ActiveRecord end end end + + def typecasted_attribute_value(name) + if self.class.serialized_attributes.include?(name) + @attributes[name].serialized_value + else + super + end + end end end end |