module JSONAPI::RelationshipHelpers
def extract_id_from_identifier(identifier)
def extract_id_from_identifier(identifier) ResourceIdentifier.extract_id(identifier) end
def extract_lid_from_identifier(identifier)
def extract_lid_from_identifier(identifier) ResourceIdentifier.extract_lid(identifier) end
def extract_sort_direction(sort_field)
def extract_sort_direction(sort_field) SortParsing.extract_sort_direction(sort_field) end
def extract_sort_field_name(sort_field)
def extract_sort_field_name(sort_field) SortParsing.extract_sort_field_name(sort_field) end
def extract_type_from_identifier(identifier)
def extract_type_from_identifier(identifier) ResourceIdentifier.extract_type(identifier) end
def find_relationship_definition(definition, relationship_name)
def find_relationship_definition(definition, relationship_name) definition.relationship_definitions.find { |r| r[:name].to_s == relationship_name.to_s } end
def model_type_name(model_class)
def model_type_name(model_class) TypeConversion.model_type_name(model_class) end
def polymorphic_association?(definition, relationship_name)
def polymorphic_association?(definition, relationship_name) ResourceIdentifier.polymorphic_association?(definition, relationship_name) end
def polymorphic_association_for_association?(association, definition)
def polymorphic_association_for_association?(association, definition) ResourceIdentifier.polymorphic_association_for_association?(association, definition) end
def resolve_and_find_related_resource(identifier, association:, resource_class:, relationship_name:)
def resolve_and_find_related_resource(identifier, association:, resource_class:, relationship_name:) ResourceIdentifier.resolve_and_find_related_record( identifier, association:, definition: resource_class, relationship_name:, ) end
def resource_type_name(definition_class)
def resource_type_name(definition_class) TypeConversion.resource_type_name(definition_class) end
def serialize_resource_identifier(
Delegate to ResourceIdentifier
def serialize_resource_identifier( record, association: nil, resource_class: nil, use_instance_class: false, base_resource_class: nil ) # rubocop:enable Lint/UnusedMethodArgument ResourceIdentifier.serialize_identifier( record, association:, definition: resource_class, use_instance_class:, ) end
def sti_subclass?(instance_class, association_class)
def sti_subclass?(instance_class, association_class) ResourceIdentifier.sti_subclass?(instance_class, association_class) end
def type_to_class_name(type)
def type_to_class_name(type) TypeConversion.type_to_class_name(type) end