Module: JSONAPI::RelationshipHelpers

Defined in:
lib/json_api/support/relationship_helpers.rb

Class Method Summary collapse

Class Method Details

.extract_id_from_identifier(identifier) ⇒ Object



41
42
43
# File 'lib/json_api/support/relationship_helpers.rb', line 41

def extract_id_from_identifier(identifier)
  ResourceIdentifier.extract_id(identifier)
end

.extract_sort_direction(sort_field) ⇒ Object



25
26
27
# File 'lib/json_api/support/relationship_helpers.rb', line 25

def extract_sort_direction(sort_field)
  SortParsing.extract_sort_direction(sort_field)
end

.extract_sort_field_name(sort_field) ⇒ Object

Delegate to SortParsing



21
22
23
# File 'lib/json_api/support/relationship_helpers.rb', line 21

def extract_sort_field_name(sort_field)
  SortParsing.extract_sort_field_name(sort_field)
end

.extract_type_from_identifier(identifier) ⇒ Object



45
46
47
# File 'lib/json_api/support/relationship_helpers.rb', line 45

def extract_type_from_identifier(identifier)
  ResourceIdentifier.extract_type(identifier)
end

.find_relationship_definition(definition, relationship_name) ⇒ Object



70
71
72
# File 'lib/json_api/support/relationship_helpers.rb', line 70

def find_relationship_definition(definition, relationship_name)
  definition.relationship_definitions.find { |r| r[:name].to_s == relationship_name.to_s }
end

.model_type_name(model_class) ⇒ Object



12
13
14
# File 'lib/json_api/support/relationship_helpers.rb', line 12

def model_type_name(model_class)
  TypeConversion.model_type_name(model_class)
end

.polymorphic_association?(definition, relationship_name) ⇒ Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/json_api/support/relationship_helpers.rb', line 58

def polymorphic_association?(definition, relationship_name)
  ResourceIdentifier.polymorphic_association?(definition, relationship_name)
end

.polymorphic_association_for_association?(association, definition) ⇒ Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/json_api/support/relationship_helpers.rb', line 66

def polymorphic_association_for_association?(association, definition)
  ResourceIdentifier.polymorphic_association_for_association?(association, definition)
end


49
50
51
52
53
54
55
56
# File 'lib/json_api/support/relationship_helpers.rb', line 49

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

.resource_type_name(definition_class) ⇒ Object



16
17
18
# File 'lib/json_api/support/relationship_helpers.rb', line 16

def resource_type_name(definition_class)
  TypeConversion.resource_type_name(definition_class)
end

.serialize_resource_identifier(record, association: nil, resource_class: nil, use_instance_class: false, base_resource_class: nil) ⇒ Object

Delegate to ResourceIdentifier



30
31
32
33
34
35
36
37
38
39
# File 'lib/json_api/support/relationship_helpers.rb', line 30

def serialize_resource_identifier(
  record, association: nil, resource_class: nil, use_instance_class: false, base_resource_class: nil
)
  ResourceIdentifier.serialize_identifier(
    record,
    association:,
    definition: resource_class,
    use_instance_class:
  )
end

.sti_subclass?(instance_class, association_class) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/json_api/support/relationship_helpers.rb', line 62

def sti_subclass?(instance_class, association_class)
  ResourceIdentifier.sti_subclass?(instance_class, association_class)
end

.type_to_class_name(type) ⇒ Object

Delegate to TypeConversion



8
9
10
# File 'lib/json_api/support/relationship_helpers.rb', line 8

def type_to_class_name(type)
  TypeConversion.type_to_class_name(type)
end