gocardless_pro 2.41.0 → 2.41.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gocardless_pro/api_service.rb +4 -5
  3. data/lib/gocardless_pro/client.rb +3 -3
  4. data/lib/gocardless_pro/error/invalid_state_error.rb +1 -0
  5. data/lib/gocardless_pro/error.rb +1 -0
  6. data/lib/gocardless_pro/middlewares/raise_gocardless_errors.rb +7 -9
  7. data/lib/gocardless_pro/request.rb +5 -7
  8. data/lib/gocardless_pro/resources/bank_authorisation.rb +0 -2
  9. data/lib/gocardless_pro/resources/bank_details_lookup.rb +0 -2
  10. data/lib/gocardless_pro/resources/billing_request.rb +0 -2
  11. data/lib/gocardless_pro/resources/billing_request_flow.rb +0 -2
  12. data/lib/gocardless_pro/resources/billing_request_template.rb +0 -2
  13. data/lib/gocardless_pro/resources/block.rb +0 -2
  14. data/lib/gocardless_pro/resources/creditor.rb +0 -2
  15. data/lib/gocardless_pro/resources/creditor_bank_account.rb +0 -2
  16. data/lib/gocardless_pro/resources/currency_exchange_rate.rb +0 -2
  17. data/lib/gocardless_pro/resources/customer.rb +0 -2
  18. data/lib/gocardless_pro/resources/customer_bank_account.rb +0 -2
  19. data/lib/gocardless_pro/resources/customer_notification.rb +0 -2
  20. data/lib/gocardless_pro/resources/event.rb +0 -2
  21. data/lib/gocardless_pro/resources/instalment_schedule.rb +0 -2
  22. data/lib/gocardless_pro/resources/institution.rb +0 -2
  23. data/lib/gocardless_pro/resources/mandate.rb +0 -2
  24. data/lib/gocardless_pro/resources/mandate_import.rb +0 -2
  25. data/lib/gocardless_pro/resources/mandate_import_entry.rb +0 -2
  26. data/lib/gocardless_pro/resources/mandate_pdf.rb +0 -2
  27. data/lib/gocardless_pro/resources/payer_authorisation.rb +0 -2
  28. data/lib/gocardless_pro/resources/payment.rb +0 -2
  29. data/lib/gocardless_pro/resources/payout.rb +0 -2
  30. data/lib/gocardless_pro/resources/payout_item.rb +0 -2
  31. data/lib/gocardless_pro/resources/redirect_flow.rb +0 -2
  32. data/lib/gocardless_pro/resources/refund.rb +0 -2
  33. data/lib/gocardless_pro/resources/scenario_simulator.rb +0 -2
  34. data/lib/gocardless_pro/resources/scheme_identifier.rb +0 -2
  35. data/lib/gocardless_pro/resources/subscription.rb +0 -2
  36. data/lib/gocardless_pro/resources/tax_rate.rb +0 -2
  37. data/lib/gocardless_pro/resources/verification_detail.rb +0 -2
  38. data/lib/gocardless_pro/resources/webhook.rb +0 -2
  39. data/lib/gocardless_pro/services/bank_authorisations_service.rb +3 -1
  40. data/lib/gocardless_pro/services/billing_request_flows_service.rb +3 -1
  41. data/lib/gocardless_pro/services/billing_request_templates_service.rb +6 -2
  42. data/lib/gocardless_pro/services/billing_requests_service.rb +27 -9
  43. data/lib/gocardless_pro/services/blocks_service.rb +9 -3
  44. data/lib/gocardless_pro/services/creditor_bank_accounts_service.rb +6 -2
  45. data/lib/gocardless_pro/services/creditors_service.rb +9 -3
  46. data/lib/gocardless_pro/services/customer_bank_accounts_service.rb +9 -3
  47. data/lib/gocardless_pro/services/customer_notifications_service.rb +3 -1
  48. data/lib/gocardless_pro/services/customers_service.rb +9 -3
  49. data/lib/gocardless_pro/services/events_service.rb +3 -1
  50. data/lib/gocardless_pro/services/instalment_schedules_service.rb +9 -3
  51. data/lib/gocardless_pro/services/mandate_imports_service.rb +9 -3
  52. data/lib/gocardless_pro/services/mandates_service.rb +12 -4
  53. data/lib/gocardless_pro/services/payer_authorisations_service.rb +12 -4
  54. data/lib/gocardless_pro/services/payments_service.rb +12 -4
  55. data/lib/gocardless_pro/services/payouts_service.rb +6 -2
  56. data/lib/gocardless_pro/services/redirect_flows_service.rb +6 -2
  57. data/lib/gocardless_pro/services/refunds_service.rb +6 -2
  58. data/lib/gocardless_pro/services/scenario_simulators_service.rb +3 -1
  59. data/lib/gocardless_pro/services/scheme_identifiers_service.rb +3 -1
  60. data/lib/gocardless_pro/services/subscriptions_service.rb +15 -5
  61. data/lib/gocardless_pro/services/tax_rates_service.rb +3 -1
  62. data/lib/gocardless_pro/services/webhooks_service.rb +6 -2
  63. data/lib/gocardless_pro/version.rb +1 -2
  64. data/lib/gocardless_pro/webhook.rb +5 -4
  65. data/lib/gocardless_pro.rb +2 -4
  66. metadata +5 -195
  67. data/.github/workflows/tests.yml +0 -40
  68. data/.gitignore +0 -1
  69. data/.rspec +0 -2
  70. data/.rubocop.yml +0 -5
  71. data/.travis.yml +0 -10
  72. data/Gemfile +0 -10
  73. data/demo.rb +0 -9
  74. data/gocardless_pro.gemspec +0 -39
  75. data/spec/api_response_spec.rb +0 -28
  76. data/spec/api_service_spec.rb +0 -188
  77. data/spec/client_spec.rb +0 -19
  78. data/spec/error_spec.rb +0 -53
  79. data/spec/middlewares/raise_gocardless_errors_spec.rb +0 -127
  80. data/spec/resources/bank_authorisation_spec.rb +0 -259
  81. data/spec/resources/bank_details_lookup_spec.rb +0 -121
  82. data/spec/resources/billing_request_flow_spec.rb +0 -257
  83. data/spec/resources/billing_request_spec.rb +0 -962
  84. data/spec/resources/billing_request_template_spec.rb +0 -515
  85. data/spec/resources/block_spec.rb +0 -577
  86. data/spec/resources/creditor_bank_account_spec.rb +0 -472
  87. data/spec/resources/creditor_spec.rb +0 -659
  88. data/spec/resources/currency_exchange_rate_spec.rb +0 -103
  89. data/spec/resources/customer_bank_account_spec.rb +0 -509
  90. data/spec/resources/customer_notification_spec.rb +0 -75
  91. data/spec/resources/customer_spec.rb +0 -616
  92. data/spec/resources/event_spec.rb +0 -210
  93. data/spec/resources/instalment_schedule_spec.rb +0 -636
  94. data/spec/resources/institution_spec.rb +0 -113
  95. data/spec/resources/mandate_import_entry_spec.rb +0 -206
  96. data/spec/resources/mandate_import_spec.rb +0 -344
  97. data/spec/resources/mandate_pdf_spec.rb +0 -117
  98. data/spec/resources/mandate_spec.rb +0 -600
  99. data/spec/resources/payer_authorisation_spec.rb +0 -422
  100. data/spec/resources/payment_spec.rb +0 -617
  101. data/spec/resources/payout_item_spec.rb +0 -101
  102. data/spec/resources/payout_spec.rb +0 -284
  103. data/spec/resources/redirect_flow_spec.rb +0 -347
  104. data/spec/resources/refund_spec.rb +0 -409
  105. data/spec/resources/scenario_simulator_spec.rb +0 -65
  106. data/spec/resources/scheme_identifier_spec.rb +0 -484
  107. data/spec/resources/subscription_spec.rb +0 -828
  108. data/spec/resources/tax_rate_spec.rb +0 -198
  109. data/spec/resources/verification_detail_spec.rb +0 -145
  110. data/spec/resources/webhook_spec.rb +0 -325
  111. data/spec/response_spec.rb +0 -34
  112. data/spec/services/bank_authorisations_service_spec.rb +0 -353
  113. data/spec/services/bank_details_lookups_service_spec.rb +0 -144
  114. data/spec/services/billing_request_flows_service_spec.rb +0 -291
  115. data/spec/services/billing_request_templates_service_spec.rb +0 -806
  116. data/spec/services/billing_requests_service_spec.rb +0 -1288
  117. data/spec/services/blocks_service_spec.rb +0 -840
  118. data/spec/services/creditor_bank_accounts_service_spec.rb +0 -725
  119. data/spec/services/creditors_service_spec.rb +0 -977
  120. data/spec/services/currency_exchange_rates_service_spec.rb +0 -223
  121. data/spec/services/customer_bank_accounts_service_spec.rb +0 -787
  122. data/spec/services/customer_notifications_service_spec.rb +0 -86
  123. data/spec/services/customers_service_spec.rb +0 -922
  124. data/spec/services/events_service_spec.rb +0 -401
  125. data/spec/services/instalment_schedules_service_spec.rb +0 -945
  126. data/spec/services/institutions_service_spec.rb +0 -241
  127. data/spec/services/mandate_import_entries_service_spec.rb +0 -345
  128. data/spec/services/mandate_imports_service_spec.rb +0 -460
  129. data/spec/services/mandate_pdfs_service_spec.rb +0 -140
  130. data/spec/services/mandates_service_spec.rb +0 -893
  131. data/spec/services/payer_authorisations_service_spec.rb +0 -563
  132. data/spec/services/payments_service_spec.rb +0 -914
  133. data/spec/services/payout_items_service_spec.rb +0 -221
  134. data/spec/services/payouts_service_spec.rb +0 -520
  135. data/spec/services/redirect_flows_service_spec.rb +0 -452
  136. data/spec/services/refunds_service_spec.rb +0 -668
  137. data/spec/services/scenario_simulators_service_spec.rb +0 -76
  138. data/spec/services/scheme_identifiers_service_spec.rb +0 -754
  139. data/spec/services/subscriptions_service_spec.rb +0 -1164
  140. data/spec/services/tax_rates_service_spec.rb +0 -381
  141. data/spec/services/verification_details_service_spec.rb +0 -168
  142. data/spec/services/webhooks_service_spec.rb +0 -547
  143. data/spec/spec_helper.rb +0 -90
  144. data/spec/webhook_spec.rb +0 -122
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gocardless_pro
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.41.0
4
+ version: 2.41.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - GoCardless
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.49.1
67
+ version: 1.44.1
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 0.49.1
74
+ version: 1.44.1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: yard
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -86,48 +86,6 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: 0.9.11
89
- - !ruby/object:Gem::Dependency
90
- name: public_suffix
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 2.0.5
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 2.0.5
103
- - !ruby/object:Gem::Dependency
104
- name: parallel
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 1.13.0
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: 1.13.0
117
- - !ruby/object:Gem::Dependency
118
- name: rake
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "<"
122
- - !ruby/object:Gem::Version
123
- version: '13'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "<"
129
- - !ruby/object:Gem::Version
130
- version: '13'
131
89
  description:
132
90
  email:
133
91
  - engineering@gocardless.com
@@ -135,16 +93,8 @@ executables: []
135
93
  extensions: []
136
94
  extra_rdoc_files: []
137
95
  files:
138
- - ".github/workflows/tests.yml"
139
- - ".gitignore"
140
- - ".rspec"
141
- - ".rubocop.yml"
142
- - ".travis.yml"
143
- - Gemfile
144
96
  - LICENSE.txt
145
97
  - README.md
146
- - demo.rb
147
- - gocardless_pro.gemspec
148
98
  - lib/gocardless_pro.rb
149
99
  - lib/gocardless_pro/api_response.rb
150
100
  - lib/gocardless_pro/api_service.rb
@@ -228,76 +178,6 @@ files:
228
178
  - lib/gocardless_pro/services/webhooks_service.rb
229
179
  - lib/gocardless_pro/version.rb
230
180
  - lib/gocardless_pro/webhook.rb
231
- - spec/api_response_spec.rb
232
- - spec/api_service_spec.rb
233
- - spec/client_spec.rb
234
- - spec/error_spec.rb
235
- - spec/middlewares/raise_gocardless_errors_spec.rb
236
- - spec/resources/bank_authorisation_spec.rb
237
- - spec/resources/bank_details_lookup_spec.rb
238
- - spec/resources/billing_request_flow_spec.rb
239
- - spec/resources/billing_request_spec.rb
240
- - spec/resources/billing_request_template_spec.rb
241
- - spec/resources/block_spec.rb
242
- - spec/resources/creditor_bank_account_spec.rb
243
- - spec/resources/creditor_spec.rb
244
- - spec/resources/currency_exchange_rate_spec.rb
245
- - spec/resources/customer_bank_account_spec.rb
246
- - spec/resources/customer_notification_spec.rb
247
- - spec/resources/customer_spec.rb
248
- - spec/resources/event_spec.rb
249
- - spec/resources/instalment_schedule_spec.rb
250
- - spec/resources/institution_spec.rb
251
- - spec/resources/mandate_import_entry_spec.rb
252
- - spec/resources/mandate_import_spec.rb
253
- - spec/resources/mandate_pdf_spec.rb
254
- - spec/resources/mandate_spec.rb
255
- - spec/resources/payer_authorisation_spec.rb
256
- - spec/resources/payment_spec.rb
257
- - spec/resources/payout_item_spec.rb
258
- - spec/resources/payout_spec.rb
259
- - spec/resources/redirect_flow_spec.rb
260
- - spec/resources/refund_spec.rb
261
- - spec/resources/scenario_simulator_spec.rb
262
- - spec/resources/scheme_identifier_spec.rb
263
- - spec/resources/subscription_spec.rb
264
- - spec/resources/tax_rate_spec.rb
265
- - spec/resources/verification_detail_spec.rb
266
- - spec/resources/webhook_spec.rb
267
- - spec/response_spec.rb
268
- - spec/services/bank_authorisations_service_spec.rb
269
- - spec/services/bank_details_lookups_service_spec.rb
270
- - spec/services/billing_request_flows_service_spec.rb
271
- - spec/services/billing_request_templates_service_spec.rb
272
- - spec/services/billing_requests_service_spec.rb
273
- - spec/services/blocks_service_spec.rb
274
- - spec/services/creditor_bank_accounts_service_spec.rb
275
- - spec/services/creditors_service_spec.rb
276
- - spec/services/currency_exchange_rates_service_spec.rb
277
- - spec/services/customer_bank_accounts_service_spec.rb
278
- - spec/services/customer_notifications_service_spec.rb
279
- - spec/services/customers_service_spec.rb
280
- - spec/services/events_service_spec.rb
281
- - spec/services/instalment_schedules_service_spec.rb
282
- - spec/services/institutions_service_spec.rb
283
- - spec/services/mandate_import_entries_service_spec.rb
284
- - spec/services/mandate_imports_service_spec.rb
285
- - spec/services/mandate_pdfs_service_spec.rb
286
- - spec/services/mandates_service_spec.rb
287
- - spec/services/payer_authorisations_service_spec.rb
288
- - spec/services/payments_service_spec.rb
289
- - spec/services/payout_items_service_spec.rb
290
- - spec/services/payouts_service_spec.rb
291
- - spec/services/redirect_flows_service_spec.rb
292
- - spec/services/refunds_service_spec.rb
293
- - spec/services/scenario_simulators_service_spec.rb
294
- - spec/services/scheme_identifiers_service_spec.rb
295
- - spec/services/subscriptions_service_spec.rb
296
- - spec/services/tax_rates_service_spec.rb
297
- - spec/services/verification_details_service_spec.rb
298
- - spec/services/webhooks_service_spec.rb
299
- - spec/spec_helper.rb
300
- - spec/webhook_spec.rb
301
181
  homepage: https://github.com/gocardless/gocardless-pro-ruby
302
182
  licenses:
303
183
  - MIT
@@ -317,78 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
317
197
  - !ruby/object:Gem::Version
318
198
  version: '0'
319
199
  requirements: []
320
- rubygems_version: 3.0.3.1
200
+ rubygems_version: 3.4.1
321
201
  signing_key:
322
202
  specification_version: 4
323
203
  summary: A gem for calling the GoCardless Pro API
324
- test_files:
325
- - spec/api_response_spec.rb
326
- - spec/api_service_spec.rb
327
- - spec/client_spec.rb
328
- - spec/error_spec.rb
329
- - spec/middlewares/raise_gocardless_errors_spec.rb
330
- - spec/resources/bank_authorisation_spec.rb
331
- - spec/resources/bank_details_lookup_spec.rb
332
- - spec/resources/billing_request_flow_spec.rb
333
- - spec/resources/billing_request_spec.rb
334
- - spec/resources/billing_request_template_spec.rb
335
- - spec/resources/block_spec.rb
336
- - spec/resources/creditor_bank_account_spec.rb
337
- - spec/resources/creditor_spec.rb
338
- - spec/resources/currency_exchange_rate_spec.rb
339
- - spec/resources/customer_bank_account_spec.rb
340
- - spec/resources/customer_notification_spec.rb
341
- - spec/resources/customer_spec.rb
342
- - spec/resources/event_spec.rb
343
- - spec/resources/instalment_schedule_spec.rb
344
- - spec/resources/institution_spec.rb
345
- - spec/resources/mandate_import_entry_spec.rb
346
- - spec/resources/mandate_import_spec.rb
347
- - spec/resources/mandate_pdf_spec.rb
348
- - spec/resources/mandate_spec.rb
349
- - spec/resources/payer_authorisation_spec.rb
350
- - spec/resources/payment_spec.rb
351
- - spec/resources/payout_item_spec.rb
352
- - spec/resources/payout_spec.rb
353
- - spec/resources/redirect_flow_spec.rb
354
- - spec/resources/refund_spec.rb
355
- - spec/resources/scenario_simulator_spec.rb
356
- - spec/resources/scheme_identifier_spec.rb
357
- - spec/resources/subscription_spec.rb
358
- - spec/resources/tax_rate_spec.rb
359
- - spec/resources/verification_detail_spec.rb
360
- - spec/resources/webhook_spec.rb
361
- - spec/response_spec.rb
362
- - spec/services/bank_authorisations_service_spec.rb
363
- - spec/services/bank_details_lookups_service_spec.rb
364
- - spec/services/billing_request_flows_service_spec.rb
365
- - spec/services/billing_request_templates_service_spec.rb
366
- - spec/services/billing_requests_service_spec.rb
367
- - spec/services/blocks_service_spec.rb
368
- - spec/services/creditor_bank_accounts_service_spec.rb
369
- - spec/services/creditors_service_spec.rb
370
- - spec/services/currency_exchange_rates_service_spec.rb
371
- - spec/services/customer_bank_accounts_service_spec.rb
372
- - spec/services/customer_notifications_service_spec.rb
373
- - spec/services/customers_service_spec.rb
374
- - spec/services/events_service_spec.rb
375
- - spec/services/instalment_schedules_service_spec.rb
376
- - spec/services/institutions_service_spec.rb
377
- - spec/services/mandate_import_entries_service_spec.rb
378
- - spec/services/mandate_imports_service_spec.rb
379
- - spec/services/mandate_pdfs_service_spec.rb
380
- - spec/services/mandates_service_spec.rb
381
- - spec/services/payer_authorisations_service_spec.rb
382
- - spec/services/payments_service_spec.rb
383
- - spec/services/payout_items_service_spec.rb
384
- - spec/services/payouts_service_spec.rb
385
- - spec/services/redirect_flows_service_spec.rb
386
- - spec/services/refunds_service_spec.rb
387
- - spec/services/scenario_simulators_service_spec.rb
388
- - spec/services/scheme_identifiers_service_spec.rb
389
- - spec/services/subscriptions_service_spec.rb
390
- - spec/services/tax_rates_service_spec.rb
391
- - spec/services/verification_details_service_spec.rb
392
- - spec/services/webhooks_service_spec.rb
393
- - spec/spec_helper.rb
394
- - spec/webhook_spec.rb
204
+ test_files: []
@@ -1,40 +0,0 @@
1
- name: gocardless/gocardless-pro-ruby/tests
2
- on: push
3
-
4
- env:
5
- RUBYGEM_PUBLISH_API_KEY: ${{ secrets.RUBYGEM_PUBLISH_API_KEY }}
6
- jobs:
7
- test:
8
- runs-on: ubuntu-latest
9
- container:
10
- image: ruby:${{ matrix.ruby-version }}
11
- env:
12
- FARADAY_VERSION: ${{ matrix.faraday-version }}
13
- strategy:
14
- matrix:
15
- faraday-version:
16
- - '2.0'
17
- ruby-version:
18
- - '2.6'
19
- - '2.7'
20
- - '3.0'
21
- - '3.1'
22
- steps:
23
- - uses: actions/checkout@v2
24
- - run: bundle install && bundle exec rspec
25
- publish:
26
- if: github.ref == 'refs/heads/master'
27
- runs-on: ubuntu-latest
28
- container:
29
- image: ruby:2.6
30
- needs:
31
- - test
32
- steps:
33
- - uses: actions/checkout@v2
34
- - run: |
35
- mkdir -p $HOME/.gem
36
- touch $HOME/.gem/credentials
37
- chmod 0600 $HOME/.gem/credentials
38
- printf -- "---\n:rubygems_api_key: $RUBYGEM_PUBLISH_API_KEY\n" > $HOME/.gem/credentials
39
- gem build *.gemspec
40
- gem push *.gem
data/.gitignore DELETED
@@ -1 +0,0 @@
1
- Gemfile.lock
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,5 +0,0 @@
1
- Layout/DotPosition:
2
- EnforcedStyle: trailing
3
-
4
- Style/TrailingCommaInLiteral:
5
- EnforcedStyleForMultiline: comma
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- language: ruby
2
-
3
- rvm:
4
- - 2.3.0
5
- - 2.0.0
6
-
7
- sudo: false
8
-
9
- script:
10
- - bundle exec rspec spec
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- # We support both pre-1.x and post-1.x Faraday versions, but to ensure compatibility we
5
- # pin this gem against each in separate runs of CI, using the FARADAY_VERSION env var. For
6
- # more details on the values, see .github/workflows/tests.yml in the gocardless-pro-ruby
7
- # repository.
8
- if ENV.key?("FARADAY_VERSION")
9
- gem 'faraday', "~> #{ENV["FARADAY_VERSION"]}"
10
- end
data/demo.rb DELETED
@@ -1,9 +0,0 @@
1
- require_relative 'lib/gocardless_pro'
2
-
3
- @client = GoCardlessPro::Client.new(
4
- access_token: ENV['GOCARDLESS_TOKEN'],
5
- environment: :sandbox
6
- )
7
-
8
- puts 'Your first customer:'
9
- puts "-> #{@client.customers.list.records.first.inspect}"
@@ -1,39 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'gocardless_pro/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'gocardless_pro'
8
- spec.version = GoCardlessPro::VERSION
9
- spec.authors = %w(GoCardless)
10
- spec.email = %w(engineering@gocardless.com)
11
- spec.summary = %q{A gem for calling the GoCardless Pro API}
12
- spec.homepage = 'https://github.com/gocardless/gocardless-pro-ruby'
13
- spec.license = 'MIT'
14
-
15
- spec.files = `git ls-files -z`.split("\x0")
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ['lib']
19
-
20
- spec.required_ruby_version = '>= 2.6'
21
- spec.add_dependency 'faraday', ['>= 2', '< 3']
22
-
23
- spec.add_development_dependency 'rspec', '~> 3.7.0'
24
- spec.add_development_dependency 'webmock', '~> 3.8.3'
25
- spec.add_development_dependency 'rubocop', '~> 0.49.1'
26
- spec.add_development_dependency 'yard', '~> 0.9.11'
27
-
28
- # Pin the version of the 'public_suffix' gem, which is a transitive dependency
29
- # of 'webmock' (newer versions require Ruby 2.1+).
30
- spec.add_development_dependency 'public_suffix', '~> 2.0.5'
31
-
32
- # Pin the version of the 'parallel' gem, which is a transitive dependency of
33
- # 'rubocop' (newer versions require Ruby 2.2+).
34
- spec.add_development_dependency 'parallel', '~> 1.13.0'
35
-
36
- # Pin the version of the 'rake' gem, which is a transitive dependency of
37
- # 'rainbow' (newer versions require Ruby 2.2+).
38
- spec.add_development_dependency 'rake', '< 13'
39
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
- require 'json'
3
-
4
- describe GoCardlessPro::ApiResponse do
5
- describe 'wrapping a Faraday response' do
6
- let(:content_type) { 'application/json' }
7
-
8
- let(:stubbed) do
9
- Faraday::Adapter::Test::Stubs.new do |stub|
10
- stub.get('/testing') do |_env|
11
- [200, { 'Content-Type' => content_type }, { test: true }.to_json]
12
- end
13
- end
14
- end
15
- let(:test) { Faraday.new { |builder| builder.adapter :test, stubbed } }
16
- subject(:api_response) do
17
- described_class.new(
18
- GoCardlessPro::Response.new(test.get('/testing'))
19
- )
20
- end
21
-
22
- specify { expect(api_response.status_code).to eql(200) }
23
- specify do
24
- expect(api_response.headers).to eql('Content-Type' => content_type)
25
- end
26
- specify { expect(api_response.body).to eql('test' => true) }
27
- end
28
- end
@@ -1,188 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe GoCardlessPro::ApiService do
4
- subject(:service) do
5
- described_class.new('https://api.example.com', 'secret_token', options)
6
- end
7
-
8
- let(:options) { {} }
9
- let(:default_response) do
10
- {
11
- status: 200,
12
- body: '{}',
13
- headers: { 'Content-Type' => 'application/json' },
14
- }
15
- end
16
-
17
- it 'uses basic auth' do
18
- stub = stub_request(:get, 'https://api.example.com/customers').
19
- with(headers: { 'Authorization' => 'Bearer secret_token' }).
20
- to_return(default_response)
21
-
22
- service.make_request(:get, '/customers')
23
- expect(stub).to have_been_requested
24
- end
25
-
26
- describe 'making a get request without any parameters' do
27
- it 'is expected to call the correct stub' do
28
- stub = stub_request(:get, /.*api.example.com\/customers/).
29
- to_return(default_response)
30
-
31
- service.make_request(:get, '/customers')
32
- expect(stub).to have_been_requested
33
- end
34
-
35
- it "doesn't include an idempotency key" do
36
- stub = stub_request(:get, /.*api.example.com\/customers/).
37
- with { |request| !request.headers.key?('Idempotency-Key') }.
38
- to_return(default_response)
39
-
40
- service.make_request(:get, '/customers')
41
- expect(stub).to have_been_requested
42
- end
43
- end
44
-
45
- describe 'making a get request with query parameters' do
46
- it 'correctly passes the query parameters' do
47
- stub = stub_request(:get, /.*api.example.com\/customers\?a=1&b=2/).
48
- to_return(default_response)
49
-
50
- service.make_request(:get, '/customers', params: { a: 1, b: 2 })
51
- expect(stub).to have_been_requested
52
- end
53
-
54
- it "doesn't include an idempotency key" do
55
- stub = stub_request(:get, /.*api.example.com\/customers\?a=1&b=2/).
56
- with { |request| !request.headers.key?('Idempotency-Key') }.
57
- to_return(default_response)
58
-
59
- service.make_request(:get, '/customers', params: { a: 1, b: 2 })
60
- expect(stub).to have_been_requested
61
- end
62
- end
63
-
64
- describe 'making a post request with some data' do
65
- it 'passes the data in as the post body' do
66
- stub = stub_request(:post, /.*api.example.com\/customers/).
67
- with(body: { given_name: 'Jack', family_name: 'Franklin' }).
68
- to_return(default_response)
69
-
70
- service.make_request(:post, '/customers', params: {
71
- given_name: 'Jack',
72
- family_name: 'Franklin',
73
- })
74
- expect(stub).to have_been_requested
75
- end
76
-
77
- it 'generates a random idempotency key' do
78
- allow(SecureRandom).to receive(:uuid).and_return('random-uuid')
79
-
80
- stub = stub_request(:post, /.*api.example.com\/customers/).
81
- with(
82
- body: { given_name: 'Jack', family_name: 'Franklin' },
83
- headers: { 'Idempotency-Key' => 'random-uuid' }
84
- ).
85
- to_return(default_response)
86
-
87
- service.make_request(:post, '/customers', params: {
88
- given_name: 'Jack',
89
- family_name: 'Franklin',
90
- })
91
- expect(stub).to have_been_requested
92
- end
93
- end
94
-
95
- describe 'making a post request with data and custom header' do
96
- it 'passes the data in as the post body' do
97
- stub = stub_request(:post, /.*api.example.com\/customers/).
98
- with(
99
- body: { given_name: 'Jack', family_name: 'Franklin' },
100
- headers: { 'Foo' => 'Bar' }
101
- ).
102
- to_return(default_response)
103
-
104
- service.make_request(:post, '/customers', params: {
105
- given_name: 'Jack',
106
- family_name: 'Franklin',
107
- },
108
- headers: {
109
- 'Foo' => 'Bar',
110
- })
111
- expect(stub).to have_been_requested
112
- end
113
-
114
- it 'merges in a random idempotency key' do
115
- allow(SecureRandom).to receive(:uuid).and_return('random-uuid')
116
-
117
- stub = stub_request(:post, /.*api.example.com\/customers/).
118
- with(
119
- body: { given_name: 'Jack', family_name: 'Franklin' },
120
- headers: { 'Idempotency-Key' => 'random-uuid', 'Foo' => 'Bar' }
121
- ).
122
- to_return(default_response)
123
-
124
- service.make_request(:post, '/customers', params: {
125
- given_name: 'Jack',
126
- family_name: 'Franklin',
127
- },
128
- headers: {
129
- 'Foo' => 'Bar',
130
- })
131
- expect(stub).to have_been_requested
132
- end
133
-
134
- context 'with a custom idempotency key' do
135
- it "doesn't replace it with a randomly-generated idempotency key" do
136
- stub = stub_request(:post, /.*api.example.com\/customers/).
137
- with(
138
- body: { given_name: 'Jack', family_name: 'Franklin' },
139
- headers: { 'Idempotency-Key' => 'my-custom-idempotency-key' }
140
- ).
141
- to_return(default_response)
142
-
143
- service.make_request(:post, '/customers', params: {
144
- given_name: 'Jack',
145
- family_name: 'Franklin',
146
- },
147
- headers: {
148
- 'Idempotency-Key' => 'my-custom-idempotency-key',
149
- })
150
- expect(stub).to have_been_requested
151
- end
152
- end
153
- end
154
-
155
- describe 'making a put request with some data' do
156
- it 'passes the data in as the request body' do
157
- stub = stub_request(:put, /.*api.example.com\/customers\/CU123/).
158
- with(body: { given_name: 'Jack', family_name: 'Franklin' }).
159
- to_return(default_response)
160
-
161
- service.make_request(:put, '/customers/CU123', params: {
162
- given_name: 'Jack',
163
- family_name: 'Franklin',
164
- })
165
- expect(stub).to have_been_requested
166
- end
167
-
168
- it "doesn't include an idempotency key" do
169
- stub = stub_request(:put, /.*api.example.com\/customers\/CU123/).
170
- with { |request| !request.headers.key?('Idempotency-Key') }.
171
- to_return(default_response)
172
-
173
- service.make_request(:put, '/customers/CU123', params: {
174
- given_name: 'Jack',
175
- family_name: 'Franklin',
176
- })
177
- expect(stub).to have_been_requested
178
- end
179
- end
180
-
181
- describe 'when passing an invalid :on_idempotency_conflict' do
182
- let(:options) { { on_idempotency_conflict: :junk } }
183
-
184
- it 'raises an error' do
185
- expect { service }.to raise_error(ArgumentError)
186
- end
187
- end
188
- end
data/spec/client_spec.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe GoCardlessPro::Client do
4
- subject { -> { described_class.new(options) } }
5
-
6
- let(:options) do
7
- {
8
- environment: environment,
9
- token: token,
10
- }
11
- end
12
-
13
- context 'when initialised without an Access Token' do
14
- let(:environment) { :live }
15
- let(:token) { nil }
16
-
17
- it { is_expected.to raise_error('No Access Token given to GoCardless Client') }
18
- end
19
- end
data/spec/error_spec.rb DELETED
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe GoCardlessPro::Error do
4
- subject(:error) { described_class.new(api_error) }
5
-
6
- let(:api_error) do
7
- {
8
- 'documentation_url' => 'https://developer.gocardless.com/pro#validation_failed',
9
- 'message' => 'Validation failed',
10
- 'type' => 'validation_failed',
11
- 'code' => 422,
12
- 'request_id' => 'dd50eaaf-8213-48fe-90d6-5466872efbc4',
13
- 'errors' => [
14
- {
15
- 'message' => 'must be a number',
16
- 'field' => 'branch_code',
17
- }, {
18
- 'message' => 'is the wrong length (should be 8 characters)',
19
- 'field' => 'branch_code',
20
- }
21
- ],
22
- }
23
- end
24
-
25
- specify do
26
- expect(error.documentation_url).to eq('https://developer.gocardless.com/pro#validation_failed')
27
- end
28
-
29
- specify { expect(error.message).to eq('Validation failed') }
30
- specify do
31
- expect(error.to_s).
32
- to eq('branch_code must be a number, '\
33
- 'branch_code is the wrong length (should be 8 characters)')
34
- end
35
- specify { expect(error.type).to eq('validation_failed') }
36
- specify { expect(error.code).to eq(422) }
37
- specify { expect(error.request_id).to eq('dd50eaaf-8213-48fe-90d6-5466872efbc4') }
38
- specify do
39
- expect(error.errors).to eq([
40
- {
41
- 'message' => 'must be a number',
42
- 'field' => 'branch_code',
43
- }, {
44
- 'message' => 'is the wrong length (should be 8 characters)',
45
- 'field' => 'branch_code',
46
- }
47
- ])
48
- end
49
-
50
- context 'when initializing an error with a string' do
51
- specify { expect { described_class.new('FOO') }.to raise_error(ArgumentError) }
52
- end
53
- end