Module: JSONAPI::RelationshipHelpers
- Defined in:
- lib/json_api/support/relationship_helpers.rb
Class Method Summary collapse
- .extract_id_from_identifier(identifier) ⇒ Object
- .extract_lid_from_identifier(identifier) ⇒ Object
- .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
34 35 36 |
# File 'lib/json_api/support/relationship_helpers.rb', line 34 def extract_id_from_identifier(identifier) ResourceIdentifier.extract_id(identifier) end |
.extract_lid_from_identifier(identifier) ⇒ Object
38 39 40 |
# File 'lib/json_api/support/relationship_helpers.rb', line 38 def extract_lid_from_identifier(identifier) ResourceIdentifier.extract_lid(identifier) end |
.extract_type_from_identifier(identifier) ⇒ Object
42 43 44 |
# File 'lib/json_api/support/relationship_helpers.rb', line 42 def extract_type_from_identifier(identifier) ResourceIdentifier.extract_type(identifier) end |
.find_relationship_definition(definition, relationship_name) ⇒ Object
67 68 69 |
# File 'lib/json_api/support/relationship_helpers.rb', line 67 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
55 56 57 |
# File 'lib/json_api/support/relationship_helpers.rb', line 55 def polymorphic_association?(definition, relationship_name) ResourceIdentifier.polymorphic_association?(definition, relationship_name) end |
.polymorphic_association_for_association?(association, definition) ⇒ Boolean
63 64 65 |
# File 'lib/json_api/support/relationship_helpers.rb', line 63 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
46 47 48 49 50 51 52 53 |
# File 'lib/json_api/support/relationship_helpers.rb', line 46 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
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/json_api/support/relationship_helpers.rb', line 22 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
59 60 61 |
# File 'lib/json_api/support/relationship_helpers.rb', line 59 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 |