class PromisePay::Request
Attributes
method[R]
password[R]
path[R]
payload[R]
request[R]
user[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/promise_pay/request.rb, line 6 def initialize(options = {}) @path = options.fetch(:path) @user = options.fetch(:user) { PromisePay.api_user } @password = options.fetch(:password) { PromisePay.api_key } @method = options.fetch(:method) { :get } @payload = options.fetch(:payload) { nil } @request = build_request end
Public Instance Methods
execute()
click to toggle source
# File lib/promise_pay/request.rb, line 15 def execute begin response = request.execute rescue RestClient::Unauthorized => e raise UnauthorizedRequestError, e.message rescue RestClient::BadRequest => e raise BadRequestError, e.message end response end
Private Instance Methods
build_request()
click to toggle source
# File lib/promise_pay/request.rb, line 29 def build_request RestClient::Request.new(request_params) end
endpoint()
click to toggle source
# File lib/promise_pay/request.rb, line 44 def endpoint host + path end
host()
click to toggle source
# File lib/promise_pay/request.rb, line 48 def host if PromisePay.env && PromisePay.env == :test TEST_HOST else API_HOST end end
request_params()
click to toggle source
# File lib/promise_pay/request.rb, line 33 def request_params { method: method, url: endpoint, user: user, password: password, payload: payload, headers: { accept: :json, content_type: :json } } end