payments-client 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +27 -0
- data/Rakefile +6 -0
- data/bin/payments +3 -0
- data/lib/payments/cli.rb +60 -0
- data/lib/payments/client.rb +40 -0
- data/lib/payments/client/config.rb +8 -0
- data/lib/payments/client/facade.rb +98 -0
- data/lib/payments/client/gateway.rb +60 -0
- data/lib/payments/client/operations.rb +8 -0
- data/lib/payments/client/operations/financial_contexts.rb +27 -0
- data/lib/payments/client/operations/http.rb +66 -0
- data/lib/payments/client/operations/merchants.rb +35 -0
- data/lib/payments/client/operations/middleware.rb +21 -0
- data/lib/payments/client/operations/orders.rb +27 -0
- data/lib/payments/client/operations/pricing_schedule.rb +11 -0
- data/lib/payments/client/operations/receipt_numbers.rb +19 -0
- data/lib/payments/client/operations/settlements.rb +28 -0
- data/lib/payments/client/railtie.rb +11 -0
- data/lib/payments/client/request_id.rb +15 -0
- data/lib/payments/client/version.rb +5 -0
- data/payments-client.gemspec +33 -0
- data/spec/spec_helper.rb +12 -0
- metadata +227 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d6b0ce6b4f413eb60a6c28ae2f1b8c61900b7a5c
|
4
|
+
data.tar.gz: d37b2be0802f899d519d8f03cf41f23306d97dad
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: be1392a02032bada8a0160120ba4224f6689b216c0103245701aeb52d97eee5dd16f64c6d1afcee71e9fa6bab5189ac780861b8c6c7b9ecd1963c9813db01028
|
7
|
+
data.tar.gz: 64916318614780b4e67ba6087d0b784418cc212f7d47587acfcb08106941c41c1303cab808391c47b0f1e59266ffe6c454fcb76bff82ed4c4100bcef9ee970bb
|
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Tim Cooper
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Payments-Client
|
2
|
+
|
3
|
+
Ruby library wrapping Payments HTTP API
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem "payments-client", github: "everydayhero/payments-client"
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle install
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
See `./spec`
|
20
|
+
|
21
|
+
## Contributing
|
22
|
+
|
23
|
+
1. Fork it (https://github.com/everydayhero/payments-client/fork)
|
24
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
25
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
26
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
27
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
data/bin/payments
ADDED
data/lib/payments/cli.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require "thor"
|
2
|
+
require "payments/client"
|
3
|
+
require 'pp'
|
4
|
+
|
5
|
+
module Payments
|
6
|
+
class CLI < Thor
|
7
|
+
CLIENT = Client.v1
|
8
|
+
|
9
|
+
desc "get_merchant MERCHANT_ID", "get a merchant by MERCHANT_ID"
|
10
|
+
def get_merchant(merchant_id)
|
11
|
+
response = CLIENT.get_merchant(merchant_id)
|
12
|
+
response = response.body
|
13
|
+
|
14
|
+
table = []
|
15
|
+
table << ["ID", response.merchant_id]
|
16
|
+
table << ["Name", response.name]
|
17
|
+
table << ["Region Code", response.region_code]
|
18
|
+
table << ["Financial Contexts", response.financial_context_ids.join(", ")]
|
19
|
+
|
20
|
+
print_table table
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "get_donation_transaction_detail_report SETTLEMENT_ID", "nope"
|
24
|
+
def get_donation_transaction_detail_report(settlement_id)
|
25
|
+
response = CLIENT.get_donation_transaction_detail_report(settlement_id)
|
26
|
+
|
27
|
+
pp response.body.map(&:to_hash)
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "get_account_donation_transaction_detail_report SETTLEMENT_ID", "nope"
|
31
|
+
def get_account_donation_transaction_detail_report(settlement_id, account_id)
|
32
|
+
response = CLIENT.get_account_donation_transaction_detail_report(settlement_id, account_id)
|
33
|
+
|
34
|
+
pp response.body.map(&:to_hash)
|
35
|
+
end
|
36
|
+
|
37
|
+
desc "get_receipt_number ORDER_ID", "get a receipt number by ORDER_ID"
|
38
|
+
def get_receipt_number(order_id)
|
39
|
+
response = CLIENT.get_receipt_number(order_id)
|
40
|
+
|
41
|
+
table = []
|
42
|
+
table << ["Region Code", response.region_code]
|
43
|
+
table << ["Receipt Number", response.receipt_number]
|
44
|
+
table << ["Order ID", response.order_id]
|
45
|
+
|
46
|
+
print_table table
|
47
|
+
end
|
48
|
+
|
49
|
+
desc "get_pricing_schedule FINANCIAL_CONTEXT_ID MERCHANT_ID", "get the pricing schedule for a merchant in a financial context"
|
50
|
+
def get_pricing_schedule(financial_context_id, merchant_id)
|
51
|
+
response = CLIENT.get_pricing_schedule(financial_context_id, merchant_id)
|
52
|
+
|
53
|
+
table = []
|
54
|
+
table << ["Financial Context", financial_context_id]
|
55
|
+
table << ["Merchant", merchant_id]
|
56
|
+
|
57
|
+
print_table table
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "securerandom"
|
2
|
+
require "uri_config"
|
3
|
+
|
4
|
+
require "payments/client/version"
|
5
|
+
require "payments/client/config"
|
6
|
+
require "payments/client/facade"
|
7
|
+
require "payments/client/gateway"
|
8
|
+
require "payments/client/operations"
|
9
|
+
|
10
|
+
require "payments/client/railtie" if defined?(Rails)
|
11
|
+
|
12
|
+
module Payments
|
13
|
+
module Client
|
14
|
+
GATEWAY_ALIASES = {
|
15
|
+
http: :excon,
|
16
|
+
}
|
17
|
+
Error = Class.new(StandardError)
|
18
|
+
|
19
|
+
def self.request_id=(value)
|
20
|
+
@request_id = value
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.request_id
|
24
|
+
@request_id ||= SecureRandom.uuid
|
25
|
+
end
|
26
|
+
|
27
|
+
# @example
|
28
|
+
# client = Payments::Client.v1
|
29
|
+
# client = Payments::Client.v1(:rack, Payments::Application)
|
30
|
+
#
|
31
|
+
# client.get_merchant(merchant_id)
|
32
|
+
def self.v1(name = :http, *gateway_options)
|
33
|
+
name = GATEWAY_ALIASES[name] || name
|
34
|
+
config = Config.new(ENV.fetch("PAYMENTS_API_URL"))
|
35
|
+
gateway = Gateway.new(name, config, *gateway_options)
|
36
|
+
|
37
|
+
Facade.new(gateway)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class Facade
|
4
|
+
def initialize(gateway)
|
5
|
+
@gateway = gateway
|
6
|
+
end
|
7
|
+
|
8
|
+
def create_merchant(params)
|
9
|
+
perform(CreateMerchant, params)
|
10
|
+
end
|
11
|
+
|
12
|
+
def update_merchant(params)
|
13
|
+
perform(UpdateMerchant, params)
|
14
|
+
end
|
15
|
+
|
16
|
+
def get_merchant(merchant_id)
|
17
|
+
perform(GetMerchant, merchant_id: merchant_id)
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_merchant_financial_reports(merchant_id)
|
21
|
+
perform(GetMerchantFinancialReports, merchant_id: merchant_id)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_financial_context(financial_context_id)
|
25
|
+
perform(GetFinancialContext, financial_context_id: financial_context_id)
|
26
|
+
end
|
27
|
+
|
28
|
+
def create_financial_context(params)
|
29
|
+
perform(CreateFinancialContext, params)
|
30
|
+
end
|
31
|
+
|
32
|
+
def update_merchants_in_financial_context(params)
|
33
|
+
perform(UpdateMerchantsInFinancialContext, params)
|
34
|
+
end
|
35
|
+
|
36
|
+
def request_receipt_number(region_code, order_id)
|
37
|
+
perform(
|
38
|
+
RequestReceiptNumber,
|
39
|
+
region_code: region_code,
|
40
|
+
order_id: order_id,
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def get_receipt_number(order_id)
|
45
|
+
perform(GetReceiptNumber, order_id: order_id)
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_pricing_schedule(financial_context_id, merchant_id)
|
49
|
+
perform(
|
50
|
+
GetPricingSchedule,
|
51
|
+
financial_context_id: financial_context_id,
|
52
|
+
merchant_id: merchant_id,
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
def get_donation_transaction_detail_report(settlement_id)
|
57
|
+
perform(
|
58
|
+
GetDonationTransactionDetailReport,
|
59
|
+
settlement_id: settlement_id,
|
60
|
+
)
|
61
|
+
end
|
62
|
+
|
63
|
+
def get_account_donation_transaction_detail_report(settlement_id, account_id)
|
64
|
+
perform(
|
65
|
+
GetAccountDonationTransactionDetailReport,
|
66
|
+
settlement_id: settlement_id,
|
67
|
+
account_id: account_id,
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
def get_account_statement(settlement_id, account_id)
|
72
|
+
perform(
|
73
|
+
GetAccountStatement,
|
74
|
+
settlement_id: settlement_id,
|
75
|
+
account_id: account_id,
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
def change_order_extra_data(params)
|
80
|
+
perform(ChangeOrderExtraData, params)
|
81
|
+
end
|
82
|
+
|
83
|
+
def place_order(params)
|
84
|
+
perform(PlaceOrder, params)
|
85
|
+
end
|
86
|
+
|
87
|
+
def request_order_void(params)
|
88
|
+
perform(RequestOrderVoid, params)
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
def perform(operation, options = {})
|
94
|
+
operation.new(@gateway).call(options)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require "active_support/notifications"
|
2
|
+
require "excon"
|
3
|
+
require "faraday"
|
4
|
+
require "faraday_middleware"
|
5
|
+
|
6
|
+
module Payments
|
7
|
+
module Client
|
8
|
+
class Gateway
|
9
|
+
def initialize(adapter, config, *adapter_options, connection: nil)
|
10
|
+
@config = config
|
11
|
+
@adapter = adapter
|
12
|
+
@adapter_options = adapter_options
|
13
|
+
@connection = connection
|
14
|
+
end
|
15
|
+
|
16
|
+
%i(get post put).each do |verb|
|
17
|
+
define_method(verb) do |path, params = nil|
|
18
|
+
begin
|
19
|
+
connection.public_send(verb, prefix(path), params) do |request|
|
20
|
+
request.headers["X-Request-Id"] = Payments::Client.request_id
|
21
|
+
end
|
22
|
+
rescue Faraday::Error
|
23
|
+
raise Payments::Client::Error
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def with_middleware(keep: true, response: nil)
|
29
|
+
new_connection = connection.dup
|
30
|
+
new_connection.build(keep: keep) do |builder|
|
31
|
+
Array(response).each do |middleware|
|
32
|
+
builder.response middleware
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
self.class.new(
|
37
|
+
@adapter,
|
38
|
+
@config,
|
39
|
+
*@adapter_options,
|
40
|
+
connection: new_connection,
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def prefix(path)
|
47
|
+
@config.path_prefix + path
|
48
|
+
end
|
49
|
+
|
50
|
+
def connection
|
51
|
+
@connection ||= Faraday.new(url: @config.host) do |connection|
|
52
|
+
connection.request :json
|
53
|
+
connection.basic_auth @config.username, @config.password
|
54
|
+
connection.use :instrumentation, name: "client.payments"
|
55
|
+
connection.adapter @adapter, *@adapter_options
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require "payments/client/operations/middleware"
|
2
|
+
require "payments/client/operations/http"
|
3
|
+
require "payments/client/operations/merchants"
|
4
|
+
require "payments/client/operations/financial_contexts"
|
5
|
+
require "payments/client/operations/receipt_numbers"
|
6
|
+
require "payments/client/operations/pricing_schedule"
|
7
|
+
require "payments/client/operations/settlements"
|
8
|
+
require "payments/client/operations/orders"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class GetFinancialContext < Operation
|
4
|
+
include GetOperation
|
5
|
+
|
6
|
+
def path
|
7
|
+
"/financial-contexts/{financial_context_id}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class CreateFinancialContext < Operation
|
12
|
+
include PostOperation
|
13
|
+
|
14
|
+
def path
|
15
|
+
"/financial-contexts/notice_financial_context"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class UpdateMerchantsInFinancialContext < Operation
|
20
|
+
include PostOperation
|
21
|
+
|
22
|
+
def path
|
23
|
+
"/financial-contexts/change_merchants_in_financial_context"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class Operation
|
4
|
+
def initialize(gateway)
|
5
|
+
@gateway = gateway
|
6
|
+
end
|
7
|
+
|
8
|
+
def call(other_options = {})
|
9
|
+
my_options = options.merge(other_options)
|
10
|
+
@gateway.public_send(
|
11
|
+
method,
|
12
|
+
actual_path(my_options),
|
13
|
+
my_options,
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
def with_middleware(*args)
|
20
|
+
previous_gateway = @gateway
|
21
|
+
@gateway = @gateway.with_middleware(*args)
|
22
|
+
yield
|
23
|
+
ensure
|
24
|
+
@gateway = previous_gateway
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def options
|
30
|
+
{}
|
31
|
+
end
|
32
|
+
|
33
|
+
def actual_path(options)
|
34
|
+
path.gsub(/{([^}]+)}/) do |_key|
|
35
|
+
value = options.fetch($1.to_sym)
|
36
|
+
options.delete($1.to_sym)
|
37
|
+
value
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
module GetOperation
|
43
|
+
include DefaultMiddleware
|
44
|
+
|
45
|
+
def method
|
46
|
+
:get
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
module PostOperation
|
51
|
+
include DefaultMiddleware
|
52
|
+
|
53
|
+
def method
|
54
|
+
:post
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
module PutOperation
|
59
|
+
include DefaultMiddleware
|
60
|
+
|
61
|
+
def method
|
62
|
+
:put
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class CreateMerchant < Operation
|
4
|
+
include PostOperation
|
5
|
+
|
6
|
+
def path
|
7
|
+
"/merchants/onboard_merchant"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class UpdateMerchant < Operation
|
12
|
+
include PostOperation
|
13
|
+
|
14
|
+
def path
|
15
|
+
"/merchants/update_merchant_attributes"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class GetMerchant < Operation
|
20
|
+
include GetOperation
|
21
|
+
|
22
|
+
def path
|
23
|
+
"/merchants/{merchant_id}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class GetMerchantFinancialReports < Operation
|
28
|
+
include GetOperation
|
29
|
+
|
30
|
+
def path
|
31
|
+
"/financial-reports"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
module DefaultMiddleware
|
4
|
+
def call(*args)
|
5
|
+
with_default_middleware { super }
|
6
|
+
end
|
7
|
+
|
8
|
+
private def with_default_middleware
|
9
|
+
with_middleware(response: %i(mashify dates json)) do
|
10
|
+
yield
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
module WithoutDefaultMiddleware
|
16
|
+
private def with_default_middleware
|
17
|
+
yield
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class RequestOrderVoid < Operation
|
4
|
+
include PostOperation
|
5
|
+
|
6
|
+
def path
|
7
|
+
"/orders/request_order_void"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class ChangeOrderExtraData < Operation
|
12
|
+
include PostOperation
|
13
|
+
|
14
|
+
def path
|
15
|
+
"/orders/change_order_extra_data"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class PlaceOrder < Operation
|
20
|
+
include PostOperation
|
21
|
+
|
22
|
+
def path
|
23
|
+
"/salamander/orders"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class GetReceiptNumber < Operation
|
4
|
+
include GetOperation
|
5
|
+
|
6
|
+
def path
|
7
|
+
"/receipt-numbers/{order_id}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class RequestReceiptNumber < Operation
|
12
|
+
include PutOperation
|
13
|
+
|
14
|
+
def path
|
15
|
+
"/receipt-numbers/{order_id}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Payments
|
2
|
+
module Client
|
3
|
+
class GetDonationTransactionDetailReport < Operation
|
4
|
+
include GetOperation
|
5
|
+
|
6
|
+
def path
|
7
|
+
"/settlements/{settlement_id}/donation-transaction-detail-report"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class GetAccountDonationTransactionDetailReport < Operation
|
12
|
+
include GetOperation
|
13
|
+
|
14
|
+
def path
|
15
|
+
"/settlements/{settlement_id}/donation-transaction-detail-report/{account_id}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class GetAccountStatement < Operation
|
20
|
+
include GetOperation
|
21
|
+
include WithoutDefaultMiddleware
|
22
|
+
|
23
|
+
def path
|
24
|
+
"/settlements/{settlement_id}/account-statement/{account_id}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "payments/client/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "payments-client"
|
8
|
+
spec.version = Payments::Client::VERSION
|
9
|
+
spec.authors = ["Tim Cooper"]
|
10
|
+
spec.email = ["coop@latrobest.com"]
|
11
|
+
spec.summary = "Ruby client for Payments HTTP API"
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "activesupport"
|
22
|
+
spec.add_dependency "excon"
|
23
|
+
spec.add_dependency "faraday"
|
24
|
+
spec.add_dependency "faraday_middleware"
|
25
|
+
spec.add_dependency "hashie"
|
26
|
+
spec.add_dependency "thor"
|
27
|
+
spec.add_dependency "uri_config"
|
28
|
+
|
29
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
30
|
+
spec.add_development_dependency "dotenv"
|
31
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
32
|
+
spec.add_development_dependency "rspec"
|
33
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,227 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: payments-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tim Cooper
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-09-29 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: excon
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: faraday
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: faraday_middleware
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: hashie
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: thor
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: uri_config
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: bundler
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.7'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.7'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: dotenv
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rake
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '10.0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '10.0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rspec
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
description: Ruby client for Payments HTTP API
|
168
|
+
email:
|
169
|
+
- coop@latrobest.com
|
170
|
+
executables:
|
171
|
+
- payments
|
172
|
+
extensions: []
|
173
|
+
extra_rdoc_files: []
|
174
|
+
files:
|
175
|
+
- ".gitignore"
|
176
|
+
- ".rspec"
|
177
|
+
- ".travis.yml"
|
178
|
+
- Gemfile
|
179
|
+
- LICENSE.txt
|
180
|
+
- README.md
|
181
|
+
- Rakefile
|
182
|
+
- bin/payments
|
183
|
+
- lib/payments/cli.rb
|
184
|
+
- lib/payments/client.rb
|
185
|
+
- lib/payments/client/config.rb
|
186
|
+
- lib/payments/client/facade.rb
|
187
|
+
- lib/payments/client/gateway.rb
|
188
|
+
- lib/payments/client/operations.rb
|
189
|
+
- lib/payments/client/operations/financial_contexts.rb
|
190
|
+
- lib/payments/client/operations/http.rb
|
191
|
+
- lib/payments/client/operations/merchants.rb
|
192
|
+
- lib/payments/client/operations/middleware.rb
|
193
|
+
- lib/payments/client/operations/orders.rb
|
194
|
+
- lib/payments/client/operations/pricing_schedule.rb
|
195
|
+
- lib/payments/client/operations/receipt_numbers.rb
|
196
|
+
- lib/payments/client/operations/settlements.rb
|
197
|
+
- lib/payments/client/railtie.rb
|
198
|
+
- lib/payments/client/request_id.rb
|
199
|
+
- lib/payments/client/version.rb
|
200
|
+
- payments-client.gemspec
|
201
|
+
- spec/spec_helper.rb
|
202
|
+
homepage: ''
|
203
|
+
licenses:
|
204
|
+
- MIT
|
205
|
+
metadata: {}
|
206
|
+
post_install_message:
|
207
|
+
rdoc_options: []
|
208
|
+
require_paths:
|
209
|
+
- lib
|
210
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - ">="
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
220
|
+
requirements: []
|
221
|
+
rubyforge_project:
|
222
|
+
rubygems_version: 2.5.1
|
223
|
+
signing_key:
|
224
|
+
specification_version: 4
|
225
|
+
summary: Ruby client for Payments HTTP API
|
226
|
+
test_files:
|
227
|
+
- spec/spec_helper.rb
|