aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/coders
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-02-01 11:07:02 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-02-01 14:25:46 -0800
commita6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc (patch)
treef3999f8e7aca92110819970198e4e6fca3baf37d /activerecord/lib/active_record/coders
parent69600a9f97d2f678972500d8a741edc745833718 (diff)
downloadrails-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.rb7
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