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