aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-24 15:04:20 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-24 15:04:20 -0300
commita0580e974b4a058a983de6c593e4573bd94b76f0 (patch)
tree105bfad4927ca04e4bbac93f1fb7cd98f4807135
parentefc6d49114f3cf140d2349876eb5a9ea8ff3383c (diff)
parentc5d62cb86d958aaa68a4057b3c2578329044e674 (diff)
downloadrails-a0580e974b4a058a983de6c593e4573bd94b76f0.tar.gz
rails-a0580e974b4a058a983de6c593e4573bd94b76f0.tar.bz2
rails-a0580e974b4a058a983de6c593e4573bd94b76f0.zip
Merge pull request #19055 from ianks/model_name.to_json
activemodel: make .model_name json encodable
-rw-r--r--activemodel/lib/active_model/naming.rb2
-rw-r--r--activemodel/test/cases/serializers/json_serialization_test.rb4
2 files changed, 5 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/naming.rb b/activemodel/lib/active_model/naming.rb
index 2bc3eeaa19..22010b517c 100644
--- a/activemodel/lib/active_model/naming.rb
+++ b/activemodel/lib/active_model/naming.rb
@@ -130,7 +130,7 @@ module ActiveModel
#
# Equivalent to +to_s+.
delegate :==, :===, :<=>, :=~, :"!~", :eql?, :to_s,
- :to_str, to: :name
+ :to_str, :as_json, to: :name
# Returns a new ActiveModel::Name instance. By default, the +namespace+
# and +name+ option will take the namespace and name of the given class
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