class MaropostApi::Response

Public Class Methods

new(response: {}, parser:) click to toggle source
# File lib/maropost_api/response.rb, line 3
def initialize(response: {}, parser:)
  @response = response
  @parser = parser
end

Public Instance Methods

call() click to toggle source
# File lib/maropost_api/response.rb, line 8
def call
  case @response.code
  when 400
    raise BadRequest.new
  when 401...402
    raise Unauthorized.new
  when 404
    raise  NotFound.new
  when 422
    raise UnprocessableEntity.new
  when 500
    raise InternalServerError.new
  else
    @parser.call(@response)
  end
end