class Payture::Api::V1::Request
Attributes
response[R]
result[R]
Public Class Methods
new(url, params)
click to toggle source
# File lib/payture/api/v1/request.rb, line 6 def initialize(url, params) params = prepare_params(params) @response = rest_client.post(url, params) @result = Response.new(response).result end
Public Instance Methods
convert_keys(params)
click to toggle source
# File lib/payture/api/v1/request.rb, line 26 def convert_keys(params) mappings = { 'Pan' => 'PAN', 'Ip' => 'IP', 'Data' => 'DATA', 'VwId' => 'VWID', 'VwUserLgn' => 'VWUserLgn', 'VwUserPsw' => 'VWUserPsw' } Hash[params.map {|k, v| [k.to_s.to_camelcase(mappings), v] }] end
endode_data(data)
click to toggle source
# File lib/payture/api/v1/request.rb, line 16 def endode_data(data) if data.kind_of?(Hash) data = convert_keys(data) data = Array[data.map {|k, v| "#{k}=#{v}" }].join(';') data = CGI.escape(data) end data end
prepare_params(params)
click to toggle source
# File lib/payture/api/v1/request.rb, line 39 def prepare_params(params) params = convert_keys(params) params = Hash[params.map {|k, v| v.kind_of?(Hash) ? [k, endode_data(v)] : [k, v] }] end
rest_client()
click to toggle source
# File lib/payture/api/v1/request.rb, line 12 def rest_client @rest_client ||= RestClient end