Method: JsonAPIObjectMapper::Deserialize::Resource#initialize

Defined in:
lib/jsonapi-object-mapper/deserialize/resource.rb

#initialize(parser, document: nil) ⇒ Resource

Returns a new instance of Resource.

Raises:



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/jsonapi-object-mapper/deserialize/resource.rb', line 44

def initialize(parser, document: nil)
  super()
  raise InvalidParser unless parser.is_a?(JsonAPIObjectMapper::Parser::Document)
  @errors = parser.errors

  if document_valid?
    @includes      = parser.includes
    @data          = document_data(parser, document)
    @id            = @data["id"]
    @type          = @data["type"]
    @attributes    = @data.fetch("attributes", {})
    @relationships = @data.fetch("relationships", {})
    deserialize!
  end

  freeze
end