class SixSaferpay::Client
Attributes
object[RW]
request[RW]
response[RW]
Public Class Methods
new(object)
click to toggle source
# File lib/six_saferpay/client.rb, line 5 def initialize(object) @object = object end
post(object)
click to toggle source
# File lib/six_saferpay/client.rb, line 9 def self.post(object) new(object).post end
Public Instance Methods
post()
click to toggle source
# File lib/six_saferpay/client.rb, line 13 def post https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true @response = https.request(request) hash = @response.body hash = JSON.parse(hash, symbolize_names: true) hash = transform_response_hash(hash) if @response.code == '200' @object.response_class.new(hash) else raise SixSaferpay::Error.new(hash) end end
Protected Instance Methods
header()
click to toggle source
# File lib/six_saferpay/client.rb, line 29 def header {"Content-Type" => 'application/json'} end
Private Instance Methods
base_url()
click to toggle source
# File lib/six_saferpay/client.rb, line 49 def base_url SixSaferpay.config.base_url end
password()
click to toggle source
# File lib/six_saferpay/client.rb, line 57 def password SixSaferpay.config.password end
transform_request_hash(hash)
click to toggle source
# File lib/six_saferpay/client.rb, line 61 def transform_request_hash(hash) hash = hash.deep_transform_keys do |key| key = key.to_s key.gsub!('fd_','') key = key.camelize key.to_sym end end
transform_response_hash(hash)
click to toggle source
# File lib/six_saferpay/client.rb, line 70 def transform_response_hash(hash) hash = hash.deep_transform_keys do |key| key = key.to_s.underscore key.gsub!(/^alias/,'fd_alias') key.gsub!(/^abort/,'fd_abort') key.gsub!(/^fail/,'fd_fail') key.to_sym end end
uri()
click to toggle source
# File lib/six_saferpay/client.rb, line 45 def uri URI.parse(base_url + @object.url) end
username()
click to toggle source
# File lib/six_saferpay/client.rb, line 53 def username SixSaferpay.config.username end