class SimpleJsonapi::Node::RelationshipData::Collection

Represents a relationship's data object containing a collection of resource linkage objects.

@!attribute [r] resources

@return [Array<Object>]

Attributes

resources[R]

Public Class Methods

new(resources:, **options) click to toggle source

@param resources [Array<Object>] @param options see {Node::RelationshipData::Base#initialize} for additional parameters

# File lib/simple_jsonapi/node/relationship_data/collection.rb, line 12
def initialize(resources:, **options)
  super

  @resources = Array.wrap(resources)
  @linkage_nodes = []

  @resources.each do |resource|
    linkage_node = build_linkage_node(resource)

    @linkage_nodes << linkage_node

    add_resource_to_included(resource, linkage_node)
  end
end

Public Instance Methods

as_jsonapi() click to toggle source

@return [Hash{Symbol => Hash}]

# File lib/simple_jsonapi/node/relationship_data/collection.rb, line 28
def as_jsonapi
  { data: @linkage_nodes.map(&:as_jsonapi) }
end