Module: JSONAPI::RelationshipHelpers
- Defined in:
- lib/json_api/support/relationship_helpers.rb
Class Method Summary collapse
- .extract_id_from_identifier(identifier) ⇒ Object
- .extract_sort_direction(sort_field) ⇒ Object
-
.extract_sort_field_name(sort_field) ⇒ Object
Delegate to SortParsing.
- .extract_type_from_identifier(identifier) ⇒ Object
- .find_relationship_definition(definition, relationship_name) ⇒ Object
- .model_type_name(model_class) ⇒ Object
- .polymorphic_association?(definition, relationship_name) ⇒ Boolean
- .polymorphic_association_for_association?(association, definition) ⇒ Boolean
- .resolve_and_find_related_resource(identifier, association:, resource_class:, relationship_name:) ⇒ Object
- .resource_type_name(definition_class) ⇒ Object
-
.serialize_resource_identifier(record, association: nil, resource_class: nil, use_instance_class: false, base_resource_class: nil) ⇒ Object
Delegate to ResourceIdentifier.
- .sti_subclass?(instance_class, association_class) ⇒ Boolean
-
.type_to_class_name(type) ⇒ Object
Delegate to TypeConversion.
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
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
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 |
.resolve_and_find_related_resource(identifier, association:, resource_class:, relationship_name:) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/json_api/support/relationship_helpers.rb', line 49 def (identifier, association:, resource_class:, relationship_name:) ResourceIdentifier.( 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
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 |