class Powercash21::Client

Attributes

secret_key[RW]

Public Class Methods

new(secret_key: nil) click to toggle source
# File lib/powercash21/client.rb, line 6
def initialize(secret_key: nil)
  @secret_key = secret_key || Powercash21.secret_key
end

Public Instance Methods

connection() click to toggle source
# File lib/powercash21/client.rb, line 10
def connection
@connection ||= begin
  Faraday.new(:url => 'https://sandbox.powerpay21.com') do |faraday|
    faraday.request :url_encoded    
    faraday.adapter Faraday.default_adapter
  end
end
end
get(url, data = {}) click to toggle source
# File lib/powercash21/client.rb, line 23
def get(url, data = {})
  connection.get(url, data)
end
post(url, data = {}) click to toggle source
# File lib/powercash21/client.rb, line 19
def post(url, data = {})
  connection.post(url, data)
end

Private Instance Methods

format_data(data) click to toggle source
# File lib/powercash21/client.rb, line 29
def format_data(data)
  sorted_hash = Hash[data.map{|k, v| [k.to_s.downcase, v]}.sort]
  signature = sorted_hash.map {|kay,val| val}.join("").to_s + @secret_key
  sorted_hash['signature'] = Digest::SHA1.hexdigest(signature)
end