mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Added *instance_writer: false* for stored/serialized attributes.
This commit is contained in:
parent
9f5d2b1202
commit
75322ac5b8
4 changed files with 16 additions and 2 deletions
|
@ -6,7 +6,7 @@ module ActiveRecord
|
||||||
included do
|
included do
|
||||||
# Returns a hash of all the attributes that have been specified for serialization as
|
# Returns a hash of all the attributes that have been specified for serialization as
|
||||||
# keys and their class restriction as values.
|
# keys and their class restriction as values.
|
||||||
class_attribute :serialized_attributes
|
class_attribute :serialized_attributes, instance_writer: false
|
||||||
self.serialized_attributes = {}
|
self.serialized_attributes = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ module ActiveRecord
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
included do
|
||||||
class_attribute :stored_attributes
|
class_attribute :stored_attributes, instance_writer: false
|
||||||
self.stored_attributes = {}
|
self.stored_attributes = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -51,4 +51,11 @@ class SerializationTest < ActiveRecord::TestCase
|
||||||
assert_equal @contact_attributes[:awesome], contact.awesome, "For #{format}"
|
assert_equal @contact_attributes[:awesome], contact.awesome, "For #{format}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_serialized_attributes_are_class_level_settings
|
||||||
|
assert_raise NoMethodError do
|
||||||
|
topic = Topic.new
|
||||||
|
topic.serialized_attributes = []
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -120,4 +120,11 @@ class StoreTest < ActiveRecord::TestCase
|
||||||
test "stored attributes are returned" do
|
test "stored attributes are returned" do
|
||||||
assert_equal [:color, :homepage], Admin::User.stored_attributes[:settings]
|
assert_equal [:color, :homepage], Admin::User.stored_attributes[:settings]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "stores_attributes are class level settings" do
|
||||||
|
assert_raise NoMethodError do
|
||||||
|
@john.stored_attributes = {}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue