class Multisafepay::Resource

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/multisafepay/resource.rb, line 5
def initialize(client)
  @client = client
end

Private Instance Methods

delete_request(url, params: {}, headers: {}) click to toggle source
# File lib/multisafepay/resource.rb, line 27
def delete_request(url, params: {}, headers: {})
  handle_response client.connection.delete(url, params, headers)
end
get_request(url, params: {}, headers: {}) click to toggle source
# File lib/multisafepay/resource.rb, line 11
def get_request(url, params: {}, headers: {})
  handle_response client.connection.get(url, params, headers)
end
handle_response(response) click to toggle source
# File lib/multisafepay/resource.rb, line 31
def handle_response(response)
  case response.status
  when 400
    raise Error, "Request malformed. #{response.body["error_info"]}"
  when 401
    raise Error, "Invalid api_key. #{response.body["error_info"]}"
  when 403
    raise Error, "Action not allowed. #{response.body}"
  when 404
    raise Error, "No results. #{response.body["error_info"]}"
  when 500
    raise Error, "Unable to perform the request due to server-side problems. #{response.body["error_info"]}"
  end

  response.body
end
patch_request(url, body:, headers: {}) click to toggle source
# File lib/multisafepay/resource.rb, line 19
def patch_request(url, body:, headers: {})
  handle_response client.connection.patch(url, body, headers)
end
post_request(url, body:, headers: {}) click to toggle source
# File lib/multisafepay/resource.rb, line 15
def post_request(url, body:, headers: {})
  handle_response client.connection.post(url, body, headers)
end
put_request(url, body:, headers: {}) click to toggle source
# File lib/multisafepay/resource.rb, line 23
def put_request(url, body:, headers: {})
  handle_response client.connection.put(url, body, headers)
end