class Her::Middleware::SecondLevelParseJSON

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/castle-her/middleware/second_level_parse_json.rb, line 26
def on_complete(env)
  env[:body] = case env[:status]
  when 204
    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/castle-her/middleware/second_level_parse_json.rb, line 11
def parse(body)
  json = parse_json(body)

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