class JSONAPI::Parser::Resource

Public Class Methods

parse!(document) click to toggle source

Validate the structure of a resource create/update payload.

@param [Hash] document The input JSONAPI document. @raise [JSONAPI::Parser::InvalidDocument] if document is invalid.

# File lib/jsonapi/parser/resource.rb, line 10
def self.parse!(document)
  Document.ensure!(document.is_a?(Hash),
                   'A JSON object MUST be at the root of every JSONAPI ' \
                   'request and response containing data.')
  Document.ensure!(document.keys == ['data'].freeze &&
                   document['data'].is_a?(Hash),
                   'The request MUST include a single resource object ' \
                   'as primary data.')
  Document.parse_primary_resource!(document['data'])
end