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 rubocop:disable Lint/UnusedMethodArgument.
- .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
43 44 45 |
# File 'lib/json_api/support/relationship_helpers.rb', line 43 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
47 48 49 |
# File 'lib/json_api/support/relationship_helpers.rb', line 47 def extract_type_from_identifier(identifier) ResourceIdentifier.extract_type(identifier) end |
.find_relationship_definition(definition, relationship_name) ⇒ Object
72 73 74 |
# File 'lib/json_api/support/relationship_helpers.rb', line 72 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
60 61 62 |
# File 'lib/json_api/support/relationship_helpers.rb', line 60 def polymorphic_association?(definition, relationship_name) ResourceIdentifier.polymorphic_association?(definition, relationship_name) end |
.polymorphic_association_for_association?(association, definition) ⇒ Boolean
68 69 70 |
# File 'lib/json_api/support/relationship_helpers.rb', line 68 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
51 52 53 54 55 56 57 58 |
# File 'lib/json_api/support/relationship_helpers.rb', line 51 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 rubocop:disable Lint/UnusedMethodArgument
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/json_api/support/relationship_helpers.rb', line 31 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 |
.sti_subclass?(instance_class, association_class) ⇒ Boolean
64 65 66 |
# File 'lib/json_api/support/relationship_helpers.rb', line 64 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 |