diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-02-01 11:07:02 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-02-01 14:25:46 -0800 |
commit | a6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc (patch) | |
tree | f3999f8e7aca92110819970198e4e6fca3baf37d /activerecord/lib/active_record/coders | |
parent | 69600a9f97d2f678972500d8a741edc745833718 (diff) | |
download | rails-a6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc.tar.gz rails-a6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc.tar.bz2 rails-a6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc.zip |
move the coders to the serialized_attributes hash
Diffstat (limited to 'activerecord/lib/active_record/coders')
-rw-r--r-- | activerecord/lib/active_record/coders/yaml_column.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/coders/yaml_column.rb b/activerecord/lib/active_record/coders/yaml_column.rb index 9b0df119ef..fcecc11aba 100644 --- a/activerecord/lib/active_record/coders/yaml_column.rb +++ b/activerecord/lib/active_record/coders/yaml_column.rb @@ -14,16 +14,21 @@ module ActiveRecord @object_class = object_class end + def dump(obj) + YAML.dump obj + end + def load(yaml) return yaml unless yaml.is_a?(String) && yaml =~ /^---/ begin - obj = YAML::load(yaml) + obj = YAML.load(yaml) unless obj.is_a?(object_class) || obj.nil? raise SerializationTypeMismatch, "Attribute was supposed to be a #{object_class}, but was a #{obj.class}" end + obj rescue *RESCUE_ERRORS yaml end |