From c593adbcb23c98f428e3101fcb682d0b552971bb Mon Sep 17 00:00:00 2001 From: Lucas Hosseini Date: Tue, 1 Sep 2015 20:46:18 +0200 Subject: [PATCH] Further cleanup `add_included`. --- .../serializer/adapter/json_api.rb | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/active_model/serializer/adapter/json_api.rb b/lib/active_model/serializer/adapter/json_api.rb index 812a2b10..23b41b2d 100644 --- a/lib/active_model/serializer/adapter/json_api.rb +++ b/lib/active_model/serializer/adapter/json_api.rb @@ -36,7 +36,7 @@ module ActiveModel add_links(options) else - @hash[:data] = attributes_for(serializer, options) + @hash[:data] = resource_objects_for(serializer, options) relationships = relationships_for(serializer) @hash[:data][:relationships] = relationships if relationships.any? included = included_for(serializer) @@ -75,15 +75,7 @@ module ActiveModel { id: id.to_s, type: type } end - def attributes_for(serializer, options) - if serializer.respond_to?(:each) - serializer.map { |s| resource_object_for(s, options) } - else - resource_object_for(serializer, options) - end - end - - def resource_object_for(serializer, options) + def resource_object_for(serializer, options = {}) options[:fields] = @fieldset && @fieldset.fields_for(serializer) cache_check(serializer) do @@ -94,6 +86,14 @@ module ActiveModel end end + def resource_objects_for(serializer, options) + if serializer.respond_to?(:each) + serializer.map { |s| resource_object_for(s, options) } + else + resource_object_for(serializer, options) + end + end + def relationship_value_for(serializer, options = {}) if serializer.respond_to?(:each) serializer.map { |s| resource_identifier_for(s) } @@ -130,10 +130,10 @@ module ActiveModel resource_path = [parent, resource_name].compact.join('.') if include_assoc?(resource_path) - attrs = attributes_for(serializer, @options) + resource_object = resource_object_for(serializer, @options) relationships = relationships_for(serializer) - attrs[:relationships] = relationships if relationships.any? - result.push(attrs) + resource_object[:relationships] = relationships if relationships.any? + result.push(resource_object) end if include_nested_assoc?(resource_path)