Module: JSONAPIonify::Api::Resource::Builders::ClassMethods

Includes:
Structure
Defined in:
lib/jsonapionify/api/resource/builders.rb

Constant Summary

Constants included from Structure

Structure::ValidationError

Instance Method Summary collapse

Instance Method Details

#build_cursor(**options) ⇒ Object



38
39
40
# File 'lib/jsonapionify/api/resource/builders.rb', line 38

def build_cursor(**options)
  CursorBuilder.build(self, **options)
end

#build_id(**options) ⇒ Object



42
43
44
# File 'lib/jsonapionify/api/resource/builders.rb', line 42

def build_id(**options)
  IdBuilder.build(self, **options)
end

#build_resource(**options, &block) ⇒ Object



14
15
16
# File 'lib/jsonapionify/api/resource/builders.rb', line 14

def build_resource(**options, &block)
  ResourceBuilder.build(self, **options)
end

#build_resource_collection(context:, collection:, include_cursors: false, &block) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/jsonapionify/api/resource/builders.rb', line 18

def build_resource_collection(context:, collection:, include_cursors: false, &block)
  collection.each_with_object(
    Collections::Resources.new
  ) do |instance, resources|
    resources << build_resource(context: context, instance: instance, include_cursor: include_cursors, &block)
  end
end

#build_resource_identifier(instance:) ⇒ Object



26
27
28
# File 'lib/jsonapionify/api/resource/builders.rb', line 26

def build_resource_identifier(instance:)
  ResourceIdentiferBuilder.build(self, instance: instance)
end

#build_resource_identifier_collection(collection:) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/jsonapionify/api/resource/builders.rb', line 30

def build_resource_identifier_collection(collection:)
  collection.each_with_object(
    Collections::ResourceIdentifiers.new
  ) do |instance, resource_identifiers|
    resource_identifiers << build_resource_identifier(instance: instance)
  end
end