class JsonAPIObjectMapper::Parser::IncludedResources

Attributes

resource[R]

Public Class Methods

load(included_resources) click to toggle source
# File lib/jsonapi-object-mapper/parser/included_resources.rb, line 11
def self.load(included_resources)
  return included_resources if included_resources.is_a?(self)
  new included_resources
end
new(included_resources = []) click to toggle source
# File lib/jsonapi-object-mapper/parser/included_resources.rb, line 16
def initialize(included_resources = [])
  included_resources ||= []
  @resource = included_resources.each_with_object({}) do |include, hash|
    hash[format_key(include)] = include
  end.freeze

  freeze
end

Public Instance Methods

fetch(relationship, fallback = nil) click to toggle source
# File lib/jsonapi-object-mapper/parser/included_resources.rb, line 25
def fetch(relationship, fallback = nil)
  @resource.fetch(format_key(relationship), fallback || relationship)
end
format_key(relationship) click to toggle source
# File lib/jsonapi-object-mapper/parser/included_resources.rb, line 33
def format_key(relationship)
  "#{relationship['type']}:#{relationship['id']}"
end
included?(relationship) click to toggle source
# File lib/jsonapi-object-mapper/parser/included_resources.rb, line 29
def included?(relationship)
  @resource.key?(format_key(relationship))
end