class JsonAPIObjectMapper::Parser::Document

Attributes

document[R]
includes[R]

Public Class Methods

new(document) click to toggle source
# File lib/jsonapi-object-mapper/parser/document.rb, line 13
def initialize(document)
  parsed_document = (document.is_a?(String) ? ::Oj.load(document) : document)
  @includes       = IncludedResources.load(parsed_document.delete("included"))
  @links          = deserialize_links(parsed_document.delete("links")).freeze
  @document       = parsed_document.freeze
  @errors         = deserialize_errors!.freeze
  freeze
end

Public Instance Methods

contains_data_array?() click to toggle source
# File lib/jsonapi-object-mapper/parser/document.rb, line 26
def contains_data_array?
  document_data.is_a?(Array)
end
deserialize_errors!() click to toggle source
# File lib/jsonapi-object-mapper/parser/document.rb, line 30
def deserialize_errors!
  return [] unless @document.key?("errors")
  Set.new(@document["errors"]) { |error| OpenStruct.new(error) }
end
document_data() click to toggle source
# File lib/jsonapi-object-mapper/parser/document.rb, line 22
def document_data
  @document["data"] || @document
end