From 191c6ce526ecb61eb4b1524379cae30cc0387126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kwa=C5=9Bniak?= Date: Thu, 8 Dec 2016 11:28:38 +0100 Subject: [PATCH 1/2] Public real_model_name method --- lib/jsonapi/resource.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jsonapi/resource.rb b/lib/jsonapi/resource.rb index a5bb1d791..a3840e288 100644 --- a/lib/jsonapi/resource.rb +++ b/lib/jsonapi/resource.rb @@ -324,7 +324,7 @@ def _replace_polymorphic_to_one_link(relationship_type, key_value, key_type, opt relationship = self.class._relationships[relationship_type.to_sym] _model.public_send("#{relationship.foreign_key}=", key_value) - _model.public_send("#{relationship.polymorphic_type}=", _model_class_name(key_type)) + _model.public_send("#{relationship.polymorphic_type}=", self.class.real_model_name(key_type)) @save_needed = true @@ -404,7 +404,7 @@ def _replace_fields(field_data) :completed end - def _model_class_name(key_type) + def real_model_name(key_type) type_class_name = key_type.to_s.classify resource = self.class.resource_for(type_class_name) resource ? resource._model_name.to_s : type_class_name From f8a8afcbb127f9a3f17effd2ceb39c1eb4979770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kwa=C5=9Bniak?= Date: Thu, 8 Dec 2016 21:33:32 +0100 Subject: [PATCH 2/2] Apply feedback --- lib/jsonapi/resource.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/jsonapi/resource.rb b/lib/jsonapi/resource.rb index a3840e288..94c0c097c 100644 --- a/lib/jsonapi/resource.rb +++ b/lib/jsonapi/resource.rb @@ -324,7 +324,7 @@ def _replace_polymorphic_to_one_link(relationship_type, key_value, key_type, opt relationship = self.class._relationships[relationship_type.to_sym] _model.public_send("#{relationship.foreign_key}=", key_value) - _model.public_send("#{relationship.polymorphic_type}=", self.class.real_model_name(key_type)) + _model.public_send("#{relationship.polymorphic_type}=", self.class.model_name_for_type(key_type)) @save_needed = true @@ -404,12 +404,6 @@ def _replace_fields(field_data) :completed end - def real_model_name(key_type) - type_class_name = key_type.to_s.classify - resource = self.class.resource_for(type_class_name) - resource ? resource._model_name.to_s : type_class_name - end - class << self def inherited(subclass) subclass.abstract(false) @@ -467,6 +461,12 @@ def resource_type_for(model) end end + def model_name_for_type(key_type) + type_class_name = key_type.to_s.classify + resource = resource_for(type_class_name) + resource ? resource._model_name.to_s : type_class_name + end + attr_accessor :_attributes, :_relationships, :_type, :_model_hints attr_writer :_allowed_filters, :_paginator