pagarme 2.1.2 → 2.1.3
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 +4 -4
- data/.gitignore +2 -0
- data/LICENSE +24 -0
- data/README.md +7 -2
- data/lib/pagarme.rb +6 -5
- data/lib/pagarme/errors.rb +1 -1
- data/lib/pagarme/nested_model.rb +10 -3
- data/lib/pagarme/object.rb +1 -1
- data/lib/pagarme/resources/transaction.rb +6 -1
- data/lib/pagarme/version.rb +1 -1
- data/pagarme.gemspec +7 -5
- data/test/assertions.rb +6 -2
- data/test/fixtures.rb +2 -2
- data/test/pagarme/error_test.rb +1 -1
- data/test/pagarme/object_test.rb +1 -1
- data/test/pagarme/resources/balance_test.rb +1 -1
- data/test/pagarme/resources/bank_account_test.rb +8 -8
- data/test/pagarme/resources/bulk_anticipation_test.rb +2 -1
- data/test/pagarme/resources/card_test.rb +1 -1
- data/test/pagarme/resources/payable_test.rb +2 -2
- data/test/pagarme/resources/plan_test.rb +2 -3
- data/test/pagarme/resources/postback_test.rb +7 -5
- data/test/pagarme/resources/recipient_test.rb +3 -6
- data/test/pagarme/resources/subscription_test.rb +3 -3
- data/test/pagarme/resources/transaction_test.rb +12 -1
- data/test/pagarme/resources/transfer_test.rb +1 -1
- data/test/pagarme/resources/zipcode_test.rb +1 -1
- data/test/test_helper.rb +21 -12
- metadata +29 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32435bc6f31cb6c994fb5cf1c179085fc24b27f0
|
4
|
+
data.tar.gz: b6dc35d91784e87fb4681693fd0e2ee06311ba1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8497647fc3b90c9bf2a7e7e603a680f83b687dd0e48d603695034bb4ffed4fd8190d89334b78a2396383d1ab7f61a19d580215388db11fb2180a93aacbffa62
|
7
|
+
data.tar.gz: a1b0e5a51306c35352599434001552aa4e8c83572f72110dc83afeec96153d27cdd890e38249a359a0477fa9d4e9144ad837168684a4e3cfd5c2456ee5b82ca2
|
data/.gitignore
CHANGED
data/LICENSE
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
The MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2013-2016, Pagar.me Pagamentos S/A
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person
|
6
|
+
obtaining a copy of this software and associated documentation
|
7
|
+
files (the "Software"), to deal in the Software without
|
8
|
+
restriction, including without limitation the rights to use,
|
9
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the
|
11
|
+
Software is furnished to do so, subject to the following
|
12
|
+
conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be
|
15
|
+
included in all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
18
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
19
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
20
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
21
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
22
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
23
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
24
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -27,10 +27,12 @@ and run `bundle install` from your shell.
|
|
27
27
|
You can set your API key in Ruby:
|
28
28
|
|
29
29
|
```ruby
|
30
|
-
PagarMe.api_key
|
30
|
+
PagarMe.api_key = 'YOUR_API_KEY_HERE'
|
31
|
+
PagarMe.encryption_key = 'YOUR_ENCRYPTION_KEY_HERE' # If needed
|
31
32
|
```
|
32
33
|
|
33
34
|
or set the environment variable _PAGARME\_API\_KEY_ (**recommended**)
|
35
|
+
and _PAGARME\_ENCRYPTION\_KEY_ (**recommended if needed**)
|
34
36
|
|
35
37
|
### Using Pagar.me Checkout
|
36
38
|
|
@@ -340,6 +342,9 @@ so you can search your data optimally.
|
|
340
342
|
|
341
343
|
And document all the source code.
|
342
344
|
|
345
|
+
## Support
|
346
|
+
If you have any problem or suggestion please open an issue [here](https://github.com/pagarme/pagarme-ruby/issues).
|
347
|
+
|
343
348
|
## License
|
344
349
|
|
345
|
-
|
350
|
+
Check [here](LICENSE).
|
data/lib/pagarme.rb
CHANGED
@@ -18,13 +18,14 @@ end
|
|
18
18
|
|
19
19
|
module PagarMe
|
20
20
|
class << self
|
21
|
-
attr_accessor :api_endpoint, :open_timeout, :timeout, :api_key
|
21
|
+
attr_accessor :api_endpoint, :open_timeout, :timeout, :api_key, :encryption_key
|
22
22
|
end
|
23
23
|
|
24
|
-
self.api_endpoint
|
25
|
-
self.open_timeout
|
26
|
-
self.timeout
|
27
|
-
self.api_key
|
24
|
+
self.api_endpoint = 'https://api.pagar.me/1'
|
25
|
+
self.open_timeout = 30
|
26
|
+
self.timeout = 90
|
27
|
+
self.api_key = ENV['PAGARME_API_KEY']
|
28
|
+
self.encryption_key = ENV['PAGARME_ENCRYPTION_KEY']
|
28
29
|
|
29
30
|
# TODO: Remove deprecated PagarMe.validate_fingerprint
|
30
31
|
def self.validate_fingerprint(*args)
|
data/lib/pagarme/errors.rb
CHANGED
@@ -38,7 +38,7 @@ module PagarMe
|
|
38
38
|
@response = response
|
39
39
|
@errors = response['errors'].map do |error|
|
40
40
|
params = error.values_at('message', 'parameter_name', 'type', 'url')
|
41
|
-
ParamError.new
|
41
|
+
ParamError.new(*params)
|
42
42
|
end
|
43
43
|
super @errors.map(&:message).join(', ')
|
44
44
|
end
|
data/lib/pagarme/nested_model.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module PagarMe
|
2
2
|
class NestedModel < Model
|
3
|
-
|
3
|
+
attr_accessor :parent_id
|
4
4
|
|
5
5
|
def initialize(hash = Hash.new)
|
6
6
|
hash = hash.dup
|
@@ -28,7 +28,11 @@ module PagarMe
|
|
28
28
|
raise RequestError.new('Invalid ID') unless id.present?
|
29
29
|
raise RequestError.new('Invalid parent ID') unless parent_id.present?
|
30
30
|
|
31
|
-
PagarMe::Request.get(url parent_id, id).call
|
31
|
+
object = PagarMe::Request.get(url parent_id, id).call
|
32
|
+
if object
|
33
|
+
object.parent_id = parent_id
|
34
|
+
end
|
35
|
+
object
|
32
36
|
end
|
33
37
|
alias :find :find_by_id
|
34
38
|
|
@@ -38,7 +42,10 @@ module PagarMe
|
|
38
42
|
PagarMe::Request.get(url(parent_id), params: hash.merge(
|
39
43
|
page: page,
|
40
44
|
count: count
|
41
|
-
)).call
|
45
|
+
)).call.map do |object|
|
46
|
+
object.parent_id = parent_id
|
47
|
+
object
|
48
|
+
end
|
42
49
|
end
|
43
50
|
alias :find_by_hash :find_by
|
44
51
|
|
data/lib/pagarme/object.rb
CHANGED
@@ -34,7 +34,12 @@ module PagarMe
|
|
34
34
|
def calculate_installments(params)
|
35
35
|
PagarMe::Request.get(url('calculate_installments_amount'), query: params).run
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
|
+
def generate_card_hash()
|
39
|
+
raise RequestError.new('Invalid Encryption Key') if PagarMe.encryption_key.blank?
|
40
|
+
|
41
|
+
PagarMe::Request.get(url('card_hash_key'), params: { encryption_key: PagarMe.encryption_key }).call
|
42
|
+
end
|
38
43
|
alias :charge :create
|
39
44
|
end
|
40
45
|
end
|
data/lib/pagarme/version.rb
CHANGED
data/pagarme.gemspec
CHANGED
@@ -16,13 +16,15 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ['lib']
|
18
18
|
|
19
|
-
|
19
|
+
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
21
|
+
spec.add_development_dependency 'shoulda', '~> 3.4.0'
|
22
|
+
spec.add_development_dependency 'activesupport', '~> 3.0'
|
23
|
+
spec.add_development_dependency 'pry'
|
24
|
+
spec.add_development_dependency 'vcr'
|
20
25
|
spec.add_development_dependency 'rake'
|
21
|
-
spec.add_development_dependency 'shoulda', '~> 3.4.0'
|
22
|
-
spec.add_development_dependency 'test-unit'
|
23
26
|
spec.add_development_dependency 'webmock'
|
24
|
-
spec.add_development_dependency '
|
25
|
-
spec.add_development_dependency 'pry'
|
27
|
+
spec.add_development_dependency 'test-unit'
|
26
28
|
|
27
29
|
spec.add_dependency 'rest-client'
|
28
30
|
spec.add_dependency 'multi_json'
|
data/test/assertions.rb
CHANGED
@@ -96,7 +96,7 @@ module Assertions
|
|
96
96
|
|
97
97
|
def assert_split_rules(split_rules)
|
98
98
|
assert_equal split_rules.size, 4
|
99
|
-
rules = split_rules.sort_by
|
99
|
+
rules = split_rules.sort_by(&:percentage)
|
100
100
|
|
101
101
|
assert_equal rules[0].recipient_id, Fixtures.persistent_recipient_ids[0]
|
102
102
|
assert_equal rules[1].recipient_id, Fixtures.persistent_recipient_ids[1]
|
@@ -132,13 +132,17 @@ module Assertions
|
|
132
132
|
def assert_transaction_errors(params = {})
|
133
133
|
PagarMe::Transaction.create transaction_with_card_params(params)
|
134
134
|
rescue PagarMe::ValidationError
|
135
|
-
assert_no_match
|
135
|
+
assert_no_match(/\s*\,\s*\Z/, $!.message)
|
136
136
|
end
|
137
137
|
|
138
138
|
def assert_has_error_param(exception, parameter_name)
|
139
139
|
assert exception.errors.any?{ |error| error.parameter_name == parameter_name }
|
140
140
|
end
|
141
141
|
|
142
|
+
def assert_hasnt_error_param(exception, parameter_name)
|
143
|
+
assert exception.errors.none?{ |error| error.parameter_name == parameter_name }
|
144
|
+
end
|
145
|
+
|
142
146
|
def assert_transfer(transfer)
|
143
147
|
assert transfer.id
|
144
148
|
assert transfer.fee
|
data/test/fixtures.rb
CHANGED
@@ -111,7 +111,7 @@ class Fixtures
|
|
111
111
|
{
|
112
112
|
transfer_day: 3,
|
113
113
|
transfer_enabled: true,
|
114
|
-
transfer_interval: '
|
114
|
+
transfer_interval: 'weekly'
|
115
115
|
}
|
116
116
|
end
|
117
117
|
|
@@ -202,7 +202,7 @@ class Fixtures
|
|
202
202
|
end
|
203
203
|
|
204
204
|
def method_missing(name, *args, &block)
|
205
|
-
match = name.to_s.match
|
205
|
+
match = name.to_s.match(/\_params\Z/)
|
206
206
|
if match && fixtures.respond_to?(match.pre_match) && args.count < 2
|
207
207
|
if args.empty?
|
208
208
|
fixtures.public_send match.pre_match
|
data/test/pagarme/error_test.rb
CHANGED
data/test/pagarme/object_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class ObjectTest <
|
4
|
+
class ObjectTest < PagarMeTestCase
|
5
5
|
should 'be able to create object and add any attribute' do
|
6
6
|
object = PagarMe::PagarMeObject.new attr1: 2
|
7
7
|
assert_equal object.attr1, 2
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class BalanceTest <
|
4
|
+
class BalanceTest < PagarMeTestCase
|
5
5
|
|
6
6
|
should 'change amount amount after transaction being paid' do
|
7
7
|
transaction = PagarMe::Transaction.charge transaction_with_boleto_params
|
@@ -1,19 +1,19 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class BankAccountTest <
|
4
|
+
class BankAccountTest < PagarMeTestCase
|
5
5
|
should 'be able to create a bank_account' do
|
6
6
|
bank_account = PagarMe::BankAccount.create bank_account_params
|
7
7
|
assert_equal bank_account.bank_code, '237'
|
8
8
|
end
|
9
9
|
|
10
10
|
should 'be able to search by anything' do
|
11
|
-
|
11
|
+
PagarMe::BankAccount.create bank_account_params
|
12
12
|
bank_accounts = PagarMe::BankAccount.find_by bank_code: '237'
|
13
13
|
|
14
14
|
assert bank_accounts.size > 0
|
15
|
-
bank_accounts.each do |
|
16
|
-
assert_equal
|
15
|
+
bank_accounts.each do |bank_account|
|
16
|
+
assert_equal bank_account.bank_code, '237'
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -22,13 +22,13 @@ module PagarMe
|
|
22
22
|
agencia: 'abcd',
|
23
23
|
agencia_dv: 'Y',
|
24
24
|
conta: 'ABCD',
|
25
|
-
conta_dv: '',
|
26
|
-
legal_name: '',
|
27
|
-
document_number: '
|
25
|
+
conta_dv: 'X',
|
26
|
+
legal_name: 'John Doe',
|
27
|
+
document_number: '02476585700'
|
28
28
|
}.each do |key, value|
|
29
29
|
should "validate bank_account - #{key}" do
|
30
30
|
exception = assert_raises(PagarMe::ValidationError){ BankAccount.create key => value }
|
31
|
-
|
31
|
+
assert_hasnt_error_param exception, key.to_s
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class PayableTest <
|
4
|
+
class PayableTest < PagarMeTestCase
|
5
5
|
should 'be created setting default recipient on payable' do
|
6
6
|
transaction = PagarMe::Transaction.create transaction_with_customer_with_card_params
|
7
7
|
payable = transaction.payables.first
|
@@ -12,13 +12,13 @@ module PagarMe
|
|
12
12
|
|
13
13
|
should 'create one per split rule' do
|
14
14
|
transaction = PagarMe::Transaction.create transaction_with_customer_with_card_with_split_rules_params
|
15
|
-
payable = transaction.payables.first
|
16
15
|
|
17
16
|
assert_equal transaction.payables.count, 4
|
18
17
|
assert_equal transaction.payables.map(&:recipient_id).sort, fixtures.persistent_recipient_ids.sort
|
19
18
|
end
|
20
19
|
|
21
20
|
should 'be found' do
|
21
|
+
PagarMe::Transaction.create(transaction_with_customer_with_card_params).refund
|
22
22
|
payables = PagarMe::Payable.find_by type: 'refund'
|
23
23
|
|
24
24
|
assert payables.count > 0
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class PlanTest <
|
4
|
+
class PlanTest < PagarMeTestCase
|
5
5
|
should 'be able to create a plan' do
|
6
6
|
plan = PagarMe::Plan.create plan_params
|
7
7
|
assert_plan_created plan
|
@@ -17,8 +17,7 @@ module PagarMe
|
|
17
17
|
end
|
18
18
|
|
19
19
|
should 'be able to search by anything' do
|
20
|
-
|
21
|
-
assert_plan_created plan
|
20
|
+
assert_plan_created PagarMe::Plan.create(plan_params)
|
22
21
|
|
23
22
|
# find_by_hash is possibly consistent, wait to try to ensure!!!
|
24
23
|
sleep 1
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class TransactionTest <
|
4
|
+
class TransactionTest < PagarMeTestCase
|
5
5
|
should 'be valid when has valid signature' do
|
6
6
|
fixed_api_key do
|
7
7
|
postback = PagarMe::Postback.new postback_response_params
|
@@ -15,10 +15,12 @@ module PagarMe
|
|
15
15
|
end
|
16
16
|
|
17
17
|
should 'validate signature' do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
fixed_api_key do
|
19
|
+
params = postback_response_params
|
20
|
+
assert PagarMe::Postback.valid_request_signature?(params[:payload], params[:signature])
|
21
|
+
assert !PagarMe::Postback.valid_request_signature?(params[:payload], params[:signature][4..-1])
|
22
|
+
assert !PagarMe::Postback.valid_request_signature?(params[:payload], 'invalid signature')
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|
24
26
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class RecipientTest <
|
4
|
+
class RecipientTest < PagarMeTestCase
|
5
5
|
|
6
6
|
should 'be able to create a recipient with bank_account data' do
|
7
7
|
recipient = PagarMe::Recipient.create recipient_with_nested_bank_account_params
|
@@ -18,15 +18,12 @@ module PagarMe
|
|
18
18
|
should 'not be able to create a recipient without bank_account data' do
|
19
19
|
recipient = PagarMe::Recipient.new recipient_params
|
20
20
|
exception = assert_raises(PagarMe::ValidationError){ recipient.create }
|
21
|
-
|
22
|
-
[:bank_code, :agencia, :conta_dv, :conta, :document_number, :legal_name].each do |missing_attr|
|
23
|
-
assert_has_error_param exception, "bank_account[#{missing_attr}]"
|
24
|
-
end
|
21
|
+
assert_has_error_param exception, 'bank_account_id'
|
25
22
|
assert_nil recipient.date_created
|
26
23
|
end
|
27
24
|
|
28
25
|
should 'be able to search' do
|
29
|
-
|
26
|
+
PagarMe::Recipient.create recipient_with_nested_bank_account_params
|
30
27
|
|
31
28
|
bank_account_doc_number = bank_account_params[:document_number]
|
32
29
|
recipients = PagarMe::Recipient.find_by 'bank_account[document_number]' => bank_account_doc_number
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class SubscriptionTest <
|
4
|
+
class SubscriptionTest < PagarMeTestCase
|
5
5
|
should 'be able to create subscription with plan' do
|
6
6
|
plan = PagarMe::Plan.create plan_params
|
7
7
|
assert_plan_created plan
|
@@ -39,7 +39,7 @@ module PagarMe
|
|
39
39
|
assert_subscription_successfully_paid subscription, 2000
|
40
40
|
|
41
41
|
found_subscription = PagarMe::Subscription.find_by_id subscription.id
|
42
|
-
assert_subscription_successfully_paid
|
42
|
+
assert_subscription_successfully_paid found_subscription, 2000
|
43
43
|
end
|
44
44
|
|
45
45
|
should 'be able to create subscription without plan and charge with installments' do
|
@@ -53,7 +53,7 @@ module PagarMe
|
|
53
53
|
assert_subscription_successfully_paid subscription, 1500, 3
|
54
54
|
|
55
55
|
found_subscription = PagarMe::Subscription.find_by_id subscription.id
|
56
|
-
assert_subscription_successfully_paid
|
56
|
+
assert_subscription_successfully_paid found_subscription, 1500, 3
|
57
57
|
end
|
58
58
|
|
59
59
|
should 'be able to update subscription' do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../test_helper'
|
2
2
|
|
3
3
|
module PagarMe
|
4
|
-
class TransactionTest <
|
4
|
+
class TransactionTest < PagarMeTestCase
|
5
5
|
def setup
|
6
6
|
super
|
7
7
|
ensure_positive_balance
|
@@ -217,5 +217,16 @@ module PagarMe
|
|
217
217
|
assert_equal result['installments'][i.to_s]['installment_amount'], installment
|
218
218
|
end
|
219
219
|
end
|
220
|
+
|
221
|
+
should 'be able to get public key' do
|
222
|
+
transaction = PagarMe::Transaction.generate_card_hash
|
223
|
+
assert_match(/BEGIN\ PUBLIC\ KEY/, transaction.public_key)
|
224
|
+
end
|
225
|
+
|
226
|
+
should 'validate encryption_key' do
|
227
|
+
PagarMe.encryption_key = nil
|
228
|
+
exception = assert_raises(PagarMe::RequestError){ PagarMe::Transaction.generate_card_hash }
|
229
|
+
assert_equal exception.message, "Invalid Encryption Key"
|
230
|
+
end
|
220
231
|
end
|
221
232
|
end
|
data/test/test_helper.rb
CHANGED
@@ -15,17 +15,20 @@ VCR.configure do |config|
|
|
15
15
|
config.hook_into :webmock
|
16
16
|
end
|
17
17
|
|
18
|
-
class Test::Unit::TestCase
|
18
|
+
class PagarMeTestCase < Test::Unit::TestCase
|
19
19
|
FIXED_API_KEY = 'ak_test_Q2D2qDYGJSyeR1KbI4sLzGACEr73MF'
|
20
|
+
FIXED_ENCRYPTION_KEY = 'ek_test_ZsiQ61rmOmB8mh055slzu1nxfVbAFa'
|
20
21
|
|
21
22
|
include Fixtures::Helpers
|
22
23
|
include Assertions
|
23
24
|
|
24
25
|
def setup
|
25
|
-
PagarMe.
|
26
|
+
PagarMe.encryption_key = temporary_company.encryption_key.test
|
27
|
+
PagarMe.api_key = temporary_company.api_key.test
|
26
28
|
end
|
27
29
|
|
28
30
|
def teardown
|
31
|
+
PagarMe.encryption_key = nil
|
29
32
|
PagarMe.api_key = nil
|
30
33
|
end
|
31
34
|
|
@@ -44,26 +47,32 @@ class Test::Unit::TestCase
|
|
44
47
|
end
|
45
48
|
end
|
46
49
|
|
50
|
+
def ensure_anticipable_default_recipient
|
51
|
+
VCR.use_cassette 'TestCase/ensure_anticipable_default_recipient' do
|
52
|
+
recipient = PagarMe::Recipient.default
|
53
|
+
recipient.anticipatable_volume_percentage = 100
|
54
|
+
recipient.save
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
47
58
|
def fixed_api_key
|
59
|
+
PagarMe.encryption_key = FIXED_ENCRYPTION_KEY
|
48
60
|
PagarMe.api_key = FIXED_API_KEY
|
49
61
|
yield
|
50
|
-
PagarMe.
|
62
|
+
PagarMe.encryption_key = temporary_company.encryption_key.test
|
63
|
+
PagarMe.api_key = temporary_company.api_key.test
|
51
64
|
end
|
52
65
|
|
53
|
-
def
|
54
|
-
|
55
|
-
|
56
|
-
# TODO: Unfortunately, it's right now impossible to create
|
57
|
-
# temporary companies properly pre-configured to run all tests
|
58
|
-
VCR.use_cassette 'TestCase/tmp_company_api_key' do
|
66
|
+
def temporary_company
|
67
|
+
VCR.use_cassette 'TestCase/tmp_company' do
|
59
68
|
PagarMe.api_key = FIXED_API_KEY
|
60
|
-
Company.temporary
|
69
|
+
PagarMe::Company.temporary
|
61
70
|
end
|
62
71
|
end
|
63
72
|
|
64
73
|
# Monkey Patch that adds VCR everywhere
|
65
74
|
def self.should(description, &block)
|
66
|
-
cassette_name = "#{ self.name.split('::').last }/should_#{ description.gsub
|
67
|
-
super(description){ VCR.use_cassette(cassette_name){ self.instance_exec
|
75
|
+
cassette_name = "#{ self.name.split('::').last }/should_#{ description.gsub(/\s+/, '_') }"
|
76
|
+
super(description){ VCR.use_cassette(cassette_name){ self.instance_exec(&block) } }
|
68
77
|
end
|
69
78
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagarme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedro Franceschi
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -26,35 +26,35 @@ dependencies:
|
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '1.3'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: shoulda
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 3.4.0
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 3.4.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: activesupport
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 3.
|
48
|
+
version: '3.0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 3.
|
55
|
+
version: '3.0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: pry
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - ">="
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: vcr
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: rake
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - ">="
|
@@ -96,7 +96,21 @@ dependencies:
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
99
|
+
name: webmock
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: test-unit
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - ">="
|
@@ -148,6 +162,7 @@ files:
|
|
148
162
|
- ".gitignore"
|
149
163
|
- ".travis.yml"
|
150
164
|
- Gemfile
|
165
|
+
- LICENSE
|
151
166
|
- README.md
|
152
167
|
- Rakefile
|
153
168
|
- certs/cabundle.pem
|