class ShareProgress::Client

Public Class Methods

get(*args) click to toggle source
Calls superclass method
# File lib/share_progress/client.rb, line 12
def get(*args)
  format_response(super(*args))
end
post(*args) click to toggle source
Calls superclass method
# File lib/share_progress/client.rb, line 16
def post(*args)
  format_response(super(*args))
end

Private Class Methods

check_api_error(http_response) click to toggle source
# File lib/share_progress/client.rb, line 30
def check_api_error(http_response)
  return if http_response.code < 300
  return if http_response.code == 404 || http_response.code == 422
  error_msg = "Status #{http_response.code}: #{http_response['message']}\n" +
              "Requesting: #{http_response.request.uri.to_s}\n" +
              "With Body: #{http_response.request.raw_body}"
  raise ApiError.new(error_msg)
end
format_response(http_response) click to toggle source
# File lib/share_progress/client.rb, line 22
def format_response(http_response)
  check_api_error(http_response)
  formatted = http_response['response'].nil? ? [] : http_response['response']
  errors = http_response['success'] ? {} : http_response['message']
  formatted.each { |r| r['errors'] = errors }
  formatted
end