Changeset 7406
- Timestamp:
- 09/04/07 17:32:48 (3 years ago)
- Files:
-
- trunk/activerecord/CHANGELOG (modified) (1 diff)
- trunk/activerecord/lib/active_record/attribute_methods.rb (modified) (1 diff)
- trunk/activerecord/test/attribute_methods_test.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/activerecord/CHANGELOG
r7380 r7406 1 1 *SVN* 2 3 * Fix bug where unserializing an attribute attempts to modify a frozen @attributes hash for a deleted record. [Rick] 2 4 3 5 * Performance: absorb instantiate and initialize_with_callbacks into the Base methods. [Jeremy Kemper] trunk/activerecord/lib/active_record/attribute_methods.rb
r7315 r7406 208 208 209 209 if unserialized_object.is_a?(self.class.serialized_attributes[attr_name]) || unserialized_object.nil? 210 @attributes [attr_name] = unserialized_object210 @attributes.frozen? ? unserialized_object : @attributes[attr_name] = unserialized_object 211 211 else 212 212 raise SerializationTypeMismatch, trunk/activerecord/test/attribute_methods_test.rb
r4635 r7406 1 1 require 'abstract_unit' 2 require 'fixtures/topic' 2 3 3 4 class AttributeMethodsTest < Test::Unit::TestCase … … 47 48 end 48 49 end 50 51 def test_should_unserialize_attributes_for_frozen_records 52 myobj = {:value1 => :value2} 53 topic = Topic.create("content" => myobj) 54 topic.freeze 55 assert_equal myobj, topic.content 56 57 end 49 58 end