module ActiveModelSerializers::Adapter::JsonApi::Deserialization
def parse_relationship(assoc_name, assoc_data, options)
- Api: - private
Returns:
-
(Hash{Symbol, Object})
-
Parameters:
-
options
(Hash
) -- -
assoc_data
(Hash
) -- -
assoc_name
(Symbol
) --
def parse_relationship(assoc_name, assoc_data, options) prefix_key = field_key(assoc_name, options).to_s.singularize hash = if assoc_data.is_a?(Array) { "#{prefix_key}_ids".to_sym => assoc_data.map { |ri| ri['id'] } } else { "#{prefix_key}_id".to_sym => assoc_data ? assoc_data['id'] : nil } end polymorphic = (options[:polymorphic] || []).include?(assoc_name.to_sym) if polymorphic hash["#{prefix_key}_type".to_sym] = assoc_data.present? ? assoc_data['type'] : nil end hash end