class SimpleJsonapi::Node::RelationshipData::Singular

Represents a relationship's data object containing a single resource linkage object.

@!attribute [r] resource

@return [Object]

Attributes

resource[R]

Public Class Methods

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

@param resource [Object] @param options see {Node::RelationshipData::Base#initialize} for additional parameters

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

  @resource = resource

  unless @resource.nil?
    @linkage_node = build_linkage_node(@resource)

    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/singular.rb, line 25
def as_jsonapi
  if resource.nil?
    { data: nil }
  else
    { data: @linkage_node.as_jsonapi }
  end
end