gocardless_pro 2.41.0 → 2.41.1

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.
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/LICENSE.txt +0 -22
  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.1
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
96
  - Gemfile
144
- - 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/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 GoCardless
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/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