class Her::Middleware::JsonApiParser

This middleware expects the resource/collection data to be contained in the `data` key of the JSON object

Public Instance Methods

on_complete(env) click to toggle source

This method is triggered when the response has been received. It modifies the value of `env`.

@param [Hash] env The response environment @private

# File lib/her/middleware/json_api_parser.rb, line 27
def on_complete(env)
  env[:body] = case env[:status]
               when 204, 304
                 parse('{}')
               else
                 parse(env[:body])
               end
end
parse(body) click to toggle source

Parse the response body

@param [String] body The response body @return [Mixed] the parsed response @private

# File lib/her/middleware/json_api_parser.rb, line 12
def parse(body)
  json = parse_json(body)

  {
    :data => json[:data] || {},
    :errors => json[:errors] || [],
    :metadata => json[:meta] || {},
  }
end