From a6cf6ec98b58dc2a7d0586ccb6ef970d93f0bafc Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 1 Feb 2011 11:07:02 -0800 Subject: move the coders to the serialized_attributes hash --- activerecord/lib/active_record/coders/yaml_column.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/coders') 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 -- cgit v1.2.3