class SantanderChile::ApiClient::Resource

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/santander_chile/api_client/resources/resource.rb, line 7
def initialize(client)
  @client = client
end

Private Instance Methods

handle_response(response) click to toggle source
# File lib/santander_chile/api_client/resources/resource.rb, line 17
def handle_response(response)
  case response.status
  when 400
    raise Error, "Your request was malformed. #{response.body["error"]}"
  when 401
    raise Error, "You did not supply valid authentication credentials. #{response.body["error"]}"
  when 403
    raise Error, "You are not allowed to perform that action. #{response.body["error"]}"
  when 404
    raise Error, "No results were found for your request. #{response.body["error"]}"
    #when 429
    #  raise Error, "Your request exceeded the API rate limit. #{response.body["error"]}"
  when 500
    raise Error, "We were unable to perform the request due to server-side problems. #{response.body["error"]}"
    #when 503
    #  raise Error, "You have been rate limited for sending more than X requests per second. #{response.body["error"]}"
  end

  response
end
post_request(url, body: {}, headers: {}) click to toggle source
# File lib/santander_chile/api_client/resources/resource.rb, line 13
def post_request(url, body: {}, headers: {})
  handle_response client.connection.post(url, body: body, headers: headers)
end