From 6e7d8b7ee014e5f650bca313daf9ddc3993f5d10 Mon Sep 17 00:00:00 2001 From: Kyle Reeves Date: Mon, 2 Jul 2018 10:56:52 -0500 Subject: [PATCH] make fetch_associated_object a public method on relationship class so it can be called from SerilizationCore class --- lib/fast_jsonapi/relationship.rb | 10 +++++----- lib/fast_jsonapi/serialization_core.rb | 7 +------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/fast_jsonapi/relationship.rb b/lib/fast_jsonapi/relationship.rb index a560442..b3a2d2b 100644 --- a/lib/fast_jsonapi/relationship.rb +++ b/lib/fast_jsonapi/relationship.rb @@ -37,6 +37,11 @@ module FastJsonapi end end + def fetch_associated_object(record, params) + return object_block.call(record, params) unless object_block.nil? + record.send(object_method_name) + end + private def include_relationship?(record, serialization_params) @@ -80,11 +85,6 @@ module FastJsonapi end end - def fetch_associated_object(record, params) - return object_block.call(record, params) unless object_block.nil? - record.send(object_method_name) - end - def fetch_id(record, params) unless object_block.nil? object = object_block.call(record, params) diff --git a/lib/fast_jsonapi/serialization_core.rb b/lib/fast_jsonapi/serialization_core.rb index 6ea3503..9ee8f8e 100644 --- a/lib/fast_jsonapi/serialization_core.rb +++ b/lib/fast_jsonapi/serialization_core.rb @@ -119,7 +119,7 @@ module FastJsonapi serializer = relationship_item.serializer.to_s.constantize relationship_type = relationship_item.relationship_type - included_objects = fetch_associated_object(record, relationship_item, params) + included_objects = relationship_item.fetch_associated_object(record, params) next if included_objects.blank? included_objects = [included_objects] unless relationship_type == :has_many @@ -138,11 +138,6 @@ module FastJsonapi end end end - - def fetch_associated_object(record, relationship, params) - return relationship.object_block.call(record, params) unless relationship.object_block.nil? - record.send(relationship.object_method_name) - end end end end