class SecupayRuby::Requests::Base
Attributes
body[R]
payment[R]
Public Class Methods
new(api_key: , payment: nil, body: {})
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 27 def initialize(api_key: , payment: nil, body: {}) @api_key = api_key @payment = payment @body = body end
post(api_key: , payment: nil, body: {})
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 18 def post(api_key: , payment: nil, body: {}) new(api_key: api_key, payment: payment, body: body).post end
Public Instance Methods
defaults()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 45 def defaults { apikey: @api_key.key } end
http_request()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 51 def http_request @request ||= begin request = Net::HTTP::Post.new(uri.request_uri, { "Content-Type" => "application/json; charset=utf-8;", "Accept" => "application/json;" }) request.body = { data: defaults.merge(body) }.to_json request end end
http_response()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 65 def http_response @response ||= begin response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(http_request) end json_response = JSON.parse(response.body) response = SecupayRuby::Requests::Response.new(http_status: response.header.code, status: json_response["status"], data: json_response["data"], errors: json_response["errors"]) raise RequestError.new(response.errors) if response.failed? response end end
path()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 41 def path raise NotImplementedError.new "Abstract method!" end
post()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 33 def post http_response end
uri()
click to toggle source
# File lib/secupay_ruby/requests/base.rb, line 37 def uri @uri ||= URI.parse([SecupayRuby.config.host, path].join("/")) end