class MnClient::Response::RaiseError

Public Instance Methods

on_complete(env) click to toggle source
# File lib/mn_client/response/raise_error.rb, line 8
def on_complete(env)
  case env[:status].to_i
  when 400
    raise MnClient::BadRequest.new(error_message(env))
  when 401
    raise MnClient::NotAuthorized.new(error_message(env))
  when 404
    raise MnClient::NotFound.new(error_message(env))
  when 400...500
    raise MnClient::BadRequest.new(error_message(env))
  end
end

Private Instance Methods

error_body(body) click to toggle source
# File lib/mn_client/response/raise_error.rb, line 31
def error_body(body)
  if body.nil?
    nil
  elsif body['meta'] && body['meta']['msg']
    body['meta']['msg']
  end
end
error_message(env) click to toggle source
# File lib/mn_client/response/raise_error.rb, line 22
def error_message(env)
  [
    env[:method].to_s.upcase,
    env[:url].to_s,
    env[:status],
    error_body(env[:body])
  ].join(': ')
end