class PayuAPI::Request
Constants
- API_SANDBOX_URL
- API_URL
Public Instance Methods
call()
click to toggle source
rubocop:disable Metrics/AbcSize
# File lib/payu_api/request.rb, line 7 def call connection = Faraday.new(url: api_url) do |builder| builder.response(:detailed_logger, logger) if logger builder.adapter Faraday.default_adapter end connection.public_send(method.to_s.downcase) do |request| request.url url request.body = body if body headers.each do |key, value| request.headers[key] = value end end rescue Faraday::Error => e raise RequestError, e.message end
Private Instance Methods
api_url()
click to toggle source
# File lib/payu_api/request.rb, line 26 def api_url sandbox? ? API_SANDBOX_URL : API_URL end
body()
click to toggle source
# File lib/payu_api/request.rb, line 46 def body nil end
headers()
click to toggle source
# File lib/payu_api/request.rb, line 42 def headers {} end
logger()
click to toggle source
# File lib/payu_api/request.rb, line 50 def logger nil end
method()
click to toggle source
# File lib/payu_api/request.rb, line 34 def method raise NotImplementedError end
sandbox?()
click to toggle source
# File lib/payu_api/request.rb, line 30 def sandbox? raise NotImplementedError end
url()
click to toggle source
# File lib/payu_api/request.rb, line 38 def url raise NotImplementedError end