diff options
author | Ian Ker-Seymer <i.kerseymer@gmail.com> | 2015-02-23 18:45:46 -0700 |
---|---|---|
committer | Ian Ker-Seymer <i.kerseymer@gmail.com> | 2015-02-24 11:00:32 -0700 |
commit | c5d62cb86d958aaa68a4057b3c2578329044e674 (patch) | |
tree | be03541b30100c8b38651decb1813fcd43d8f4b1 /activemodel/test/cases/serializers | |
parent | f6a31f532167eaffe0709af50c2d2190f2f76219 (diff) | |
download | rails-c5d62cb86d958aaa68a4057b3c2578329044e674.tar.gz rails-c5d62cb86d958aaa68a4057b3c2578329044e674.tar.bz2 rails-c5d62cb86d958aaa68a4057b3c2578329044e674.zip |
activemodel: make .model_name json encodable
Previously, calling `User.model_name.to_json` would result in an infinite
recursion as `.model_name` inherited its `.as_json` behavior from Object. This
patch fixes that unexpected behavior by delegating `.as_json` to :name.
Diffstat (limited to 'activemodel/test/cases/serializers')
-rw-r--r-- | activemodel/test/cases/serializers/json_serialization_test.rb | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/activemodel/test/cases/serializers/json_serialization_test.rb b/activemodel/test/cases/serializers/json_serialization_test.rb index e2eb91eeb0..d765a47636 100644 --- a/activemodel/test/cases/serializers/json_serialization_test.rb +++ b/activemodel/test/cases/serializers/json_serialization_test.rb @@ -195,4 +195,8 @@ class JsonSerializationTest < ActiveModel::TestCase assert_no_match %r{"awesome":}, json assert_no_match %r{"preferences":}, json end + + test "Class.model_name should be json encodable" do + assert_match %r{"Contact"}, Contact.model_name.to_json + end end |