Class: JsonAPIObjectMapper::Parser::Document

Inherits:
Object
  • Object
show all
Includes:
Errors
Defined in:
lib/jsonapi-object-mapper/parser/document.rb

Instance Attribute Summary collapse

Attributes included from Errors

#errors

Instance Method Summary collapse

Methods included from Errors

#invalid?, #valid?

Constructor Details

#initialize(document) ⇒ Document

Returns a new instance of Document.



13
14
15
16
17
18
# File 'lib/jsonapi-object-mapper/parser/document.rb', line 13

def initialize(document)
  @document = (document.is_a?(String) ? ::Oj.load(document) : document).freeze
  @includes = IncludedResources.load(@document["included"])
  @errors   = deserialize_errors!.freeze
  freeze
end

Instance Attribute Details

#documentObject

Returns the value of attribute document.



11
12
13
# File 'lib/jsonapi-object-mapper/parser/document.rb', line 11

def document
  @document
end

#includesObject

Returns the value of attribute includes.



11
12
13
# File 'lib/jsonapi-object-mapper/parser/document.rb', line 11

def includes
  @includes
end

Instance Method Details

#deserialize_errors!Object



20
21
22
23
# File 'lib/jsonapi-object-mapper/parser/document.rb', line 20

def deserialize_errors!
  return [] unless @document.key?("errors")
  Set.new(@document["errors"]) { |error| OpenStruct.new(error) }
end