From 65e0d79195bf74cd6226d606de02570be7f58b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moura?= Date: Mon, 15 Jun 2015 15:59:01 -0300 Subject: [PATCH] pluralising root key when using arraySerializer --- lib/active_model/serializer/array_serializer.rb | 2 +- lib/active_model/serializer/fieldset.rb | 2 +- test/adapter/json/collection_test.rb | 4 ++-- test/serializers/meta_test.rb | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/active_model/serializer/array_serializer.rb b/lib/active_model/serializer/array_serializer.rb index b05cb1dd..71c7ab44 100644 --- a/lib/active_model/serializer/array_serializer.rb +++ b/lib/active_model/serializer/array_serializer.rb @@ -19,7 +19,7 @@ module ActiveModel end def json_key - @objects.first.json_key if @objects.first + @objects.first.json_key.pluralize if @objects.first end def root=(root) diff --git a/lib/active_model/serializer/fieldset.rb b/lib/active_model/serializer/fieldset.rb index 911dac25..3ff42bed 100644 --- a/lib/active_model/serializer/fieldset.rb +++ b/lib/active_model/serializer/fieldset.rb @@ -13,7 +13,7 @@ module ActiveModel def fields_for(serializer) key = serializer.json_key - fields[key.to_sym] + fields[key.to_sym] || fields[key.pluralize.to_sym] end private diff --git a/test/adapter/json/collection_test.rb b/test/adapter/json/collection_test.rb index 018a6b23..54bc5431 100644 --- a/test/adapter/json/collection_test.rb +++ b/test/adapter/json/collection_test.rb @@ -28,7 +28,7 @@ module ActiveModel @serializer = ArraySerializer.new([@blog], serializer: CustomBlogSerializer) @adapter = ActiveModel::Serializer::Adapter::Json.new(@serializer) - expected = {custom_blog:[{ + expected = {custom_blogs:[{ id: 1, special_attribute: "Special", articles: [{id: 1,title: "Hello!!", body: "Hello, world!!"}, {id: 2, title: "New Post", body: "Body"}] @@ -37,7 +37,7 @@ module ActiveModel end def test_include_multiple_posts - expected = { post: [{ + expected = { posts: [{ title: "Hello!!", body: "Hello, world!!", id: 1, diff --git a/test/serializers/meta_test.rb b/test/serializers/meta_test.rb index b6201574..802049eb 100644 --- a/test/serializers/meta_test.rb +++ b/test/serializers/meta_test.rb @@ -12,10 +12,10 @@ module ActiveModel end def test_meta_is_present_with_root - serializer = AlternateBlogSerializer.new(@blog, root: "blog", meta: {total: 10}) + serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10}) adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog') expected = { - blog: { + alternate_blog: { id: 1, title: "AMS Hints" }, @@ -39,7 +39,7 @@ module ActiveModel serializer = AlternateBlogSerializer.new(@blog, root: 'blog', meta: {total: 10}, meta_key: "haha_meta") adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog') expected = { - blog: { + alternate_blog: { id: 1, title: "AMS Hints" }, @@ -73,7 +73,7 @@ module ActiveModel serializer = ArraySerializer.new([@blog], meta: {total: 10}, meta_key: "haha_meta") adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog') expected = { - blog: [{ + blogs: [{ id: 1, name: "AMS Hints", writer: {