From e5ccb8e4dd3d0d4cbd61e881118773258d8279e7 Mon Sep 17 00:00:00 2001 From: Marek Pietrucha Date: Mon, 6 Jul 2015 16:50:25 +0200 Subject: [PATCH] root option is working (fixed #986) --- lib/active_model/serializer.rb | 2 +- test/serializers/root_test.rb | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 test/serializers/root_test.rb diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 4a5f9668..9f62e615 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -169,7 +169,7 @@ module ActiveModel end def json_key - self.class.root_name + @root || self.class.root_name end def id diff --git a/test/serializers/root_test.rb b/test/serializers/root_test.rb new file mode 100644 index 00000000..05853e39 --- /dev/null +++ b/test/serializers/root_test.rb @@ -0,0 +1,19 @@ +require 'test_helper' + +module ActiveModel + class Serializer + class RootTest < Minitest::Test + + def setup + @profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' }) + @profile_serializer = ProfileSerializer.new(@post, {root: 'smth'}) + end + + def test_overwrite_root + setup + assert_equal('smth', @profile_serializer.json_key) + end + + end + end +end