Module: Versapay

Defined in:
lib/versapay.rb,
lib/versapay/version.rb,
lib/versapay/fund_sources.rb,
lib/versapay/transactions.rb,
lib/versapay/rails_helpers.rb,
lib/versapay/debit_agreement.rb,
lib/versapay/webhooks.rb

Defined Under Namespace

Modules: Helpers Classes: DebitAgreement, FundSources, InvalidInput, InvalidWebhookSignature, NotFound, Transactions, Unprocessable, WebhookSignature

Constant Summary collapse

VERSION =
"0.1.1"
@@token =
"PleaseOverrideYourToken"
@@key =
"PleaseOverriedYourKey"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.keyObject

Returns the value of attribute key.



17
18
19
# File 'lib/versapay.rb', line 17

def key
  @key
end

.tokenObject

Returns the value of attribute token.



17
18
19
# File 'lib/versapay.rb', line 17

def token
  @token
end

Class Method Details

.make_request(method, url, args = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/versapay.rb', line 28

def self.make_request(method, url, args = {})
  if method == :get then
    RestClient.get("https://#{Versapay.token}:#{Versapay.key}@" + Versapay::site + url, {:params => args}) do |response, request, result, &block|
      case response.code
      when 200
        return JSON.parse(response)
      when 422
        raise Versapay::Unprocessable, response
      when 500
        raise Versapay::NotFound, response
      end
    end
  end

  if method == :post then
    RestClient.post("https://#{Versapay.token}:#{Versapay.key}@" + Versapay::site + url, args.to_json, :content_type => :json, :accept => :json) do |response, request, result, &block|
      case response.code
      when 200,201
        return JSON.parse(response)
      when 412
        raise Versapay::InvalidInput, response
      when 422
        raise Versapay::Unprocessable, response
      when 500
        raise Versapay::NotFound, response
      end
    end
  end


end

.siteObject



23
24
25
# File 'lib/versapay.rb', line 23

def self.site
  Rails.env.production? ? "secure.versapay.com" : "demo.versapay.com"
end