class Exercism::CLI::MonitoredRequest

Attributes

api[R]

Public Class Methods

new(api) click to toggle source
# File lib/cli/monitored_request.rb, line 6
def initialize(api)
  @api = api
end

Public Instance Methods

request(action, *args) { |response, response_body| ... } click to toggle source
# File lib/cli/monitored_request.rb, line 10
def request(action, *args)
  begin
    response = api.send(action, *args)
    response_body = JSON.parse(response.body)

    abort response_body["error"] if response_body["error"]

    yield response, response_body
  rescue Exception => e
    abort "There was an issue with your request.\n#{e}"
  end
end