Skip to content

Commit f5f8444

Browse files
Exelordlgebhardt
authored andcommitted
Public model_name_for_type method (#924)
1 parent afee3bf commit f5f8444

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

lib/jsonapi/resource.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ def _replace_polymorphic_to_one_link(relationship_type, key_value, key_type, opt
324324
relationship = self.class._relationships[relationship_type.to_sym]
325325

326326
_model.public_send("#{relationship.foreign_key}=", key_value)
327-
_model.public_send("#{relationship.polymorphic_type}=", _model_class_name(key_type))
327+
_model.public_send("#{relationship.polymorphic_type}=", self.class.model_name_for_type(key_type))
328328

329329
@save_needed = true
330330

@@ -404,12 +404,6 @@ def _replace_fields(field_data)
404404
:completed
405405
end
406406

407-
def _model_class_name(key_type)
408-
type_class_name = key_type.to_s.classify
409-
resource = self.class.resource_for(type_class_name)
410-
resource ? resource._model_name.to_s : type_class_name
411-
end
412-
413407
class << self
414408
def inherited(subclass)
415409
subclass.abstract(false)
@@ -467,6 +461,12 @@ def resource_type_for(model)
467461
end
468462
end
469463

464+
def model_name_for_type(key_type)
465+
type_class_name = key_type.to_s.classify
466+
resource = resource_for(type_class_name)
467+
resource ? resource._model_name.to_s : type_class_name
468+
end
469+
470470
attr_accessor :_attributes, :_relationships, :_type, :_model_hints
471471
attr_writer :_allowed_filters, :_paginator
472472

0 commit comments

Comments
 (0)