From f04abfd2fe5d0f2040a65678041c5f815dc50d70 Mon Sep 17 00:00:00 2001 From: Krzysztof Rybka Date: Thu, 2 May 2019 15:09:25 +0200 Subject: [PATCH] Compute remaining_items once --- lib/fast_jsonapi/serialization_core.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/fast_jsonapi/serialization_core.rb b/lib/fast_jsonapi/serialization_core.rb index 845aee7..924b5da 100644 --- a/lib/fast_jsonapi/serialization_core.rb +++ b/lib/fast_jsonapi/serialization_core.rb @@ -119,6 +119,8 @@ module FastJsonapi includes_list.sort.each_with_object([]) do |include_item, included_records| items = parse_include_item(include_item) + remaining_items = remaining_items(items) + items.each do |item| next unless relationships_to_serialize && relationships_to_serialize[item] relationship_item = relationships_to_serialize[item] @@ -139,8 +141,8 @@ module FastJsonapi serializer = self.compute_serializer_name(inc_obj.class.name.demodulize.to_sym).to_s.constantize end - if remaining_items(items) - serializer_records = serializer.get_included_records(inc_obj, remaining_items(items), known_included_objects, fieldsets, params) + if remaining_items.present? + serializer_records = serializer.get_included_records(inc_obj, remaining_items, known_included_objects, fieldsets, params) included_records.concat(serializer_records) unless serializer_records.empty? end