From 30596c448886902ad2eec4d07a81b72525eec1f8 Mon Sep 17 00:00:00 2001 From: Kyle Reeves Date: Mon, 2 Jul 2018 11:04:18 -0500 Subject: [PATCH] move add_relationship to each class method --- lib/fast_jsonapi/object_serializer.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/fast_jsonapi/object_serializer.rb b/lib/fast_jsonapi/object_serializer.rb index b00bdfd..49e06e2 100644 --- a/lib/fast_jsonapi/object_serializer.rb +++ b/lib/fast_jsonapi/object_serializer.rb @@ -184,15 +184,18 @@ module FastJsonapi end def has_many(relationship_name, options = {}, &block) - create_relationship(relationship_name, :has_many, options, block) + relationship = create_relationship(relationship_name, :has_many, options, block) + add_relationship(relationship) end def has_one(relationship_name, options = {}, &block) - create_relationship(relationship_name, :has_one, options, block) + relationship = create_relationship(relationship_name, :has_one, options, block) + add_relationship(relationship) end def belongs_to(relationship_name, options = {}, &block) - create_relationship(relationship_name, :belongs_to, options, block) + relationship = create_relationship(relationship_name, :belongs_to, options, block) + add_relationship(relationship) end def create_relationship(base_key, relationship_type, options, block) @@ -206,7 +209,7 @@ module FastJsonapi base_key_sym = name id_postfix = '_id' end - relationship = Relationship.new( + Relationship.new( key: options[:key] || run_key_transform(base_key), name: name, id_method_name: options[:id_method_name] || "#{base_serialization_key}#{id_postfix}".to_sym, @@ -219,7 +222,6 @@ module FastJsonapi polymorphic: fetch_polymorphic_option(options), conditional_proc: options[:if] ) - add_relationship(relationship) end def compute_serializer_name(serializer_key)