From 88785ea21ecacc881118d6040c0a20f47d3ff573 Mon Sep 17 00:00:00 2001 From: Lucas Hosseini Date: Mon, 21 Sep 2015 07:11:23 +0200 Subject: [PATCH 1/2] Add failing test. --- test/adapter/json/collection_test.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/adapter/json/collection_test.rb b/test/adapter/json/collection_test.rb index f627dd845..3b9e4b019 100644 --- a/test/adapter/json/collection_test.rb +++ b/test/adapter/json/collection_test.rb @@ -75,6 +75,16 @@ def test_root_is_underscored assert_equal 1, adapter.serializable_hash[:virtual_values].length end + + def test_include_option + serializer = ArraySerializer.new([@first_post, @second_post]) + adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, include: '') + actual = adapter.serializable_hash + expected = { posts: [{ id: 1, title: 'Hello!!', body: 'Hello, world!!' }, + { id: 2, title: 'New Post', body: 'Body' }] } + + assert_equal(expected, actual) + end end end end From 4976837c316b962e7666538b0268298fab9c5616 Mon Sep 17 00:00:00 2001 From: Lucas Hosseini Date: Mon, 21 Sep 2015 07:11:30 +0200 Subject: [PATCH 2/2] Fix options passing in Json and Attributes adapters. --- lib/active_model/serializer/adapter/attributes.rb | 2 +- lib/active_model/serializer/adapter/json.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/active_model/serializer/adapter/attributes.rb b/lib/active_model/serializer/adapter/attributes.rb index 4331f579c..79cf58dcd 100644 --- a/lib/active_model/serializer/adapter/attributes.rb +++ b/lib/active_model/serializer/adapter/attributes.rb @@ -10,7 +10,7 @@ def initialize(serializer, options = {}) def serializable_hash(options = nil) options ||= {} if serializer.respond_to?(:each) - result = serializer.map { |s| Attributes.new(s).serializable_hash(options) } + result = serializer.map { |s| Attributes.new(s, instance_options).serializable_hash(options) } else hash = {} diff --git a/lib/active_model/serializer/adapter/json.rb b/lib/active_model/serializer/adapter/json.rb index 4e5fd29fd..ab81f5710 100644 --- a/lib/active_model/serializer/adapter/json.rb +++ b/lib/active_model/serializer/adapter/json.rb @@ -7,7 +7,7 @@ class Json < Base def serializable_hash(options = nil) options ||= {} - { root => Attributes.new(serializer).serializable_hash(options) } + { root => Attributes.new(serializer, instance_options).serializable_hash(options) } end private