gocardless_pro 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/circle.yml +11 -3
  4. data/demo.rb +3 -3
  5. data/gocardless_pro.gemspec +6 -6
  6. data/lib/gocardless_pro.rb +2 -1
  7. data/lib/gocardless_pro/api_service.rb +3 -2
  8. data/lib/gocardless_pro/client.rb +6 -6
  9. data/lib/gocardless_pro/error.rb +4 -4
  10. data/lib/gocardless_pro/middlewares/raise_gocardless_errors.rb +4 -4
  11. data/lib/gocardless_pro/request.rb +2 -2
  12. data/lib/gocardless_pro/resources/bank_details_lookup.rb +1 -0
  13. data/lib/gocardless_pro/resources/creditor.rb +1 -0
  14. data/lib/gocardless_pro/resources/creditor_bank_account.rb +1 -0
  15. data/lib/gocardless_pro/resources/customer.rb +1 -0
  16. data/lib/gocardless_pro/resources/customer_bank_account.rb +1 -0
  17. data/lib/gocardless_pro/resources/event.rb +1 -0
  18. data/lib/gocardless_pro/resources/mandate.rb +1 -0
  19. data/lib/gocardless_pro/resources/mandate_pdf.rb +1 -0
  20. data/lib/gocardless_pro/resources/payment.rb +1 -0
  21. data/lib/gocardless_pro/resources/payout.rb +1 -0
  22. data/lib/gocardless_pro/resources/redirect_flow.rb +1 -0
  23. data/lib/gocardless_pro/resources/refund.rb +1 -0
  24. data/lib/gocardless_pro/resources/subscription.rb +1 -0
  25. data/lib/gocardless_pro/services/base_service.rb +1 -1
  26. data/lib/gocardless_pro/version.rb +1 -1
  27. data/spec/api_service_spec.rb +49 -49
  28. data/spec/client_spec.rb +1 -1
  29. data/spec/error_spec.rb +13 -13
  30. data/spec/middlewares/raise_gocardless_errors_spec.rb +15 -16
  31. data/spec/resources/bank_details_lookup_spec.rb +18 -18
  32. data/spec/resources/creditor_bank_account_spec.rb +46 -46
  33. data/spec/resources/creditor_spec.rb +42 -42
  34. data/spec/resources/customer_bank_account_spec.rb +48 -48
  35. data/spec/resources/customer_spec.rb +42 -42
  36. data/spec/resources/event_spec.rb +18 -18
  37. data/spec/resources/mandate_pdf_spec.rb +18 -18
  38. data/spec/resources/mandate_spec.rb +54 -54
  39. data/spec/resources/payment_spec.rb +54 -54
  40. data/spec/resources/payout_spec.rb +18 -18
  41. data/spec/resources/redirect_flow_spec.rb +36 -36
  42. data/spec/resources/refund_spec.rb +42 -42
  43. data/spec/resources/subscription_spec.rb +48 -48
  44. data/spec/response_spec.rb +1 -2
  45. data/spec/services/bank_details_lookups_service_spec.rb +25 -25
  46. data/spec/services/creditor_bank_accounts_service_spec.rb +86 -86
  47. data/spec/services/creditors_service_spec.rb +87 -87
  48. data/spec/services/customer_bank_accounts_service_spec.rb +95 -95
  49. data/spec/services/customers_service_spec.rb +87 -87
  50. data/spec/services/events_service_spec.rb +49 -49
  51. data/spec/services/mandate_pdfs_service_spec.rb +25 -25
  52. data/spec/services/mandates_service_spec.rb +103 -103
  53. data/spec/services/payments_service_spec.rb +103 -103
  54. data/spec/services/payouts_service_spec.rb +49 -49
  55. data/spec/services/redirect_flows_service_spec.rb +52 -52
  56. data/spec/services/refunds_service_spec.rb +87 -87
  57. data/spec/services/subscriptions_service_spec.rb +95 -95
  58. metadata +10 -10
@@ -30,13 +30,13 @@ describe GoCardlessPro::Services::CustomersService do
30
30
  'metadata' => 'metadata-input',
31
31
  'postal_code' => 'postal_code-input',
32
32
  'region' => 'region-input',
33
- 'swedish_identity_number' => 'swedish_identity_number-input'
33
+ 'swedish_identity_number' => 'swedish_identity_number-input',
34
34
  }
35
35
  end
36
36
 
37
37
  before do
38
- stub_request(:post, %r{.*api.gocardless.com/customers})
39
- .with(
38
+ stub_request(:post, %r{.*api.gocardless.com/customers}).
39
+ with(
40
40
  body: {
41
41
  'customers' => {
42
42
 
@@ -55,11 +55,11 @@ describe GoCardlessPro::Services::CustomersService do
55
55
  'metadata' => 'metadata-input',
56
56
  'postal_code' => 'postal_code-input',
57
57
  'region' => 'region-input',
58
- 'swedish_identity_number' => 'swedish_identity_number-input'
59
- }
58
+ 'swedish_identity_number' => 'swedish_identity_number-input',
59
+ },
60
60
  }
61
- )
62
- .to_return(
61
+ ).
62
+ to_return(
63
63
  body: {
64
64
  'customers' =>
65
65
 
@@ -80,8 +80,8 @@ describe GoCardlessPro::Services::CustomersService do
80
80
  'metadata' => 'metadata-input',
81
81
  'postal_code' => 'postal_code-input',
82
82
  'region' => 'region-input',
83
- 'swedish_identity_number' => 'swedish_identity_number-input'
84
- }
83
+ 'swedish_identity_number' => 'swedish_identity_number-input',
84
+ },
85
85
 
86
86
  }.to_json,
87
87
  headers: response_headers
@@ -96,19 +96,19 @@ describe GoCardlessPro::Services::CustomersService do
96
96
  before { allow_any_instance_of(GoCardlessPro::Request).to receive(:sleep) }
97
97
 
98
98
  it 'retries timeouts' do
99
- stub = stub_request(:post, %r{.*api.gocardless.com/customers})
100
- .to_timeout.then.to_return(status: 200, headers: response_headers)
99
+ stub = stub_request(:post, %r{.*api.gocardless.com/customers}).
100
+ to_timeout.then.to_return(status: 200, headers: response_headers)
101
101
 
102
102
  post_create_response
103
103
  expect(stub).to have_been_requested.twice
104
104
  end
105
105
 
106
106
  it 'retries 5XX errors' do
107
- stub = stub_request(:post, %r{.*api.gocardless.com/customers})
108
- .to_return(status: 502,
109
- headers: { 'Content-Type' => 'text/html' },
110
- body: '<html><body>Response from Cloudflare</body></html>')
111
- .then.to_return(status: 200, headers: response_headers)
107
+ stub = stub_request(:post, %r{.*api.gocardless.com/customers}).
108
+ to_return(status: 502,
109
+ headers: { 'Content-Type' => 'text/html' },
110
+ body: '<html><body>Response from Cloudflare</body></html>').
111
+ then.to_return(status: 200, headers: response_headers)
112
112
 
113
113
  post_create_response
114
114
  expect(stub).to have_been_requested.twice
@@ -126,9 +126,9 @@ describe GoCardlessPro::Services::CustomersService do
126
126
  type: 'validation_failed',
127
127
  code: 422,
128
128
  errors: [
129
- { message: 'test error message', field: 'test_field' }
130
- ]
131
- }
129
+ { message: 'test error message', field: 'test_field' },
130
+ ],
131
+ },
132
132
  }.to_json,
133
133
  headers: response_headers,
134
134
  status: 422
@@ -161,7 +161,7 @@ describe GoCardlessPro::Services::CustomersService do
161
161
  'metadata' => 'metadata-input',
162
162
  'postal_code' => 'postal_code-input',
163
163
  'region' => 'region-input',
164
- 'swedish_identity_number' => 'swedish_identity_number-input'
164
+ 'swedish_identity_number' => 'swedish_identity_number-input',
165
165
  }
166
166
  end
167
167
 
@@ -176,11 +176,11 @@ describe GoCardlessPro::Services::CustomersService do
176
176
  message: 'A resource has already been created with this idempotency key',
177
177
  reason: 'idempotent_creation_conflict',
178
178
  links: {
179
- conflicting_resource_id: id
180
- }
181
- }
182
- ]
183
- }
179
+ conflicting_resource_id: id,
180
+ },
181
+ },
182
+ ],
183
+ },
184
184
  }.to_json,
185
185
  headers: response_headers,
186
186
  status: 409
@@ -189,8 +189,8 @@ describe GoCardlessPro::Services::CustomersService do
189
189
 
190
190
  let!(:get_stub) do
191
191
  stub_url = "/customers/#{id}"
192
- stub_request(:get, /.*api.gocardless.com#{stub_url}/)
193
- .to_return(
192
+ stub_request(:get, /.*api.gocardless.com#{stub_url}/).
193
+ to_return(
194
194
  body: {
195
195
  'customers' => {
196
196
 
@@ -209,8 +209,8 @@ describe GoCardlessPro::Services::CustomersService do
209
209
  'metadata' => 'metadata-input',
210
210
  'postal_code' => 'postal_code-input',
211
211
  'region' => 'region-input',
212
- 'swedish_identity_number' => 'swedish_identity_number-input'
213
- }
212
+ 'swedish_identity_number' => 'swedish_identity_number-input',
213
+ },
214
214
  }.to_json,
215
215
  headers: response_headers
216
216
  )
@@ -247,14 +247,14 @@ describe GoCardlessPro::Services::CustomersService do
247
247
  'metadata' => 'metadata-input',
248
248
  'postal_code' => 'postal_code-input',
249
249
  'region' => 'region-input',
250
- 'swedish_identity_number' => 'swedish_identity_number-input'
250
+ 'swedish_identity_number' => 'swedish_identity_number-input',
251
251
  }],
252
252
  meta: {
253
253
  cursors: {
254
254
  before: nil,
255
- after: 'ABC123'
256
- }
257
- }
255
+ after: 'ABC123',
256
+ },
257
+ },
258
258
  }.to_json
259
259
  end
260
260
 
@@ -312,19 +312,19 @@ describe GoCardlessPro::Services::CustomersService do
312
312
  before { allow_any_instance_of(GoCardlessPro::Request).to receive(:sleep) }
313
313
 
314
314
  it 'retries timeouts' do
315
- stub = stub_request(:get, %r{.*api.gocardless.com/customers})
316
- .to_timeout.then.to_return(status: 200, headers: response_headers, body: body)
315
+ stub = stub_request(:get, %r{.*api.gocardless.com/customers}).
316
+ to_timeout.then.to_return(status: 200, headers: response_headers, body: body)
317
317
 
318
318
  get_list_response
319
319
  expect(stub).to have_been_requested.twice
320
320
  end
321
321
 
322
322
  it 'retries 5XX errors' do
323
- stub = stub_request(:get, %r{.*api.gocardless.com/customers})
324
- .to_return(status: 502,
325
- headers: { 'Content-Type' => 'text/html' },
326
- body: '<html><body>Response from Cloudflare</body></html>')
327
- .then.to_return(status: 200, headers: response_headers, body: body)
323
+ stub = stub_request(:get, %r{.*api.gocardless.com/customers}).
324
+ to_return(status: 502,
325
+ headers: { 'Content-Type' => 'text/html' },
326
+ body: '<html><body>Response from Cloudflare</body></html>').
327
+ then.to_return(status: 200, headers: response_headers, body: body)
328
328
 
329
329
  get_list_response
330
330
  expect(stub).to have_been_requested.twice
@@ -354,12 +354,12 @@ describe GoCardlessPro::Services::CustomersService do
354
354
  'metadata' => 'metadata-input',
355
355
  'postal_code' => 'postal_code-input',
356
356
  'region' => 'region-input',
357
- 'swedish_identity_number' => 'swedish_identity_number-input'
357
+ 'swedish_identity_number' => 'swedish_identity_number-input',
358
358
  }],
359
359
  meta: {
360
360
  cursors: { after: 'AB345' },
361
- limit: 1
362
- }
361
+ limit: 1,
362
+ },
363
363
  }.to_json,
364
364
  headers: response_headers
365
365
  )
@@ -385,12 +385,12 @@ describe GoCardlessPro::Services::CustomersService do
385
385
  'metadata' => 'metadata-input',
386
386
  'postal_code' => 'postal_code-input',
387
387
  'region' => 'region-input',
388
- 'swedish_identity_number' => 'swedish_identity_number-input'
388
+ 'swedish_identity_number' => 'swedish_identity_number-input',
389
389
  }],
390
390
  meta: {
391
391
  limit: 2,
392
- cursors: {}
393
- }
392
+ cursors: {},
393
+ },
394
394
  }.to_json,
395
395
  headers: response_headers
396
396
  )
@@ -425,19 +425,19 @@ describe GoCardlessPro::Services::CustomersService do
425
425
  'metadata' => 'metadata-input',
426
426
  'postal_code' => 'postal_code-input',
427
427
  'region' => 'region-input',
428
- 'swedish_identity_number' => 'swedish_identity_number-input'
428
+ 'swedish_identity_number' => 'swedish_identity_number-input',
429
429
  }],
430
430
  meta: {
431
431
  cursors: { after: 'AB345' },
432
- limit: 1
433
- }
432
+ limit: 1,
433
+ },
434
434
  }.to_json,
435
435
  headers: response_headers
436
436
  )
437
437
 
438
- second_response_stub = stub_request(:get, %r{.*api.gocardless.com/customers\?after=AB345})
439
- .to_timeout.then
440
- .to_return(
438
+ second_response_stub = stub_request(:get, %r{.*api.gocardless.com/customers\?after=AB345}).
439
+ to_timeout.then.
440
+ to_return(
441
441
  body: {
442
442
  'customers' => [{
443
443
 
@@ -456,12 +456,12 @@ describe GoCardlessPro::Services::CustomersService do
456
456
  'metadata' => 'metadata-input',
457
457
  'postal_code' => 'postal_code-input',
458
458
  'region' => 'region-input',
459
- 'swedish_identity_number' => 'swedish_identity_number-input'
459
+ 'swedish_identity_number' => 'swedish_identity_number-input',
460
460
  }],
461
461
  meta: {
462
462
  limit: 2,
463
- cursors: {}
464
- }
463
+ cursors: {},
464
+ },
465
465
  }.to_json,
466
466
  headers: response_headers
467
467
  )
@@ -492,18 +492,18 @@ describe GoCardlessPro::Services::CustomersService do
492
492
  'metadata' => 'metadata-input',
493
493
  'postal_code' => 'postal_code-input',
494
494
  'region' => 'region-input',
495
- 'swedish_identity_number' => 'swedish_identity_number-input'
495
+ 'swedish_identity_number' => 'swedish_identity_number-input',
496
496
  }],
497
497
  meta: {
498
498
  cursors: { after: 'AB345' },
499
- limit: 1
500
- }
499
+ limit: 1,
500
+ },
501
501
  }.to_json,
502
502
  headers: response_headers
503
503
  )
504
504
 
505
- second_response_stub = stub_request(:get, %r{.*api.gocardless.com/customers\?after=AB345})
506
- .to_return(
505
+ second_response_stub = stub_request(:get, %r{.*api.gocardless.com/customers\?after=AB345}).
506
+ to_return(
507
507
  status: 502,
508
508
  body: '<html><body>Response from Cloudflare</body></html>',
509
509
  headers: { 'Content-Type' => 'text/html' }
@@ -526,12 +526,12 @@ describe GoCardlessPro::Services::CustomersService do
526
526
  'metadata' => 'metadata-input',
527
527
  'postal_code' => 'postal_code-input',
528
528
  'region' => 'region-input',
529
- 'swedish_identity_number' => 'swedish_identity_number-input'
529
+ 'swedish_identity_number' => 'swedish_identity_number-input',
530
530
  }],
531
531
  meta: {
532
532
  limit: 2,
533
- cursors: {}
534
- }
533
+ cursors: {},
534
+ },
535
535
  }.to_json,
536
536
  headers: response_headers
537
537
  )
@@ -552,9 +552,9 @@ describe GoCardlessPro::Services::CustomersService do
552
552
  context 'passing in a custom header' do
553
553
  let!(:stub) do
554
554
  stub_url = '/customers/:identity'.gsub(':identity', id)
555
- stub_request(:get, /.*api.gocardless.com#{stub_url}/)
556
- .with(headers: { 'Foo' => 'Bar' })
557
- .to_return(
555
+ stub_request(:get, /.*api.gocardless.com#{stub_url}/).
556
+ with(headers: { 'Foo' => 'Bar' }).
557
+ to_return(
558
558
  body: {
559
559
  'customers' => {
560
560
 
@@ -573,8 +573,8 @@ describe GoCardlessPro::Services::CustomersService do
573
573
  'metadata' => 'metadata-input',
574
574
  'postal_code' => 'postal_code-input',
575
575
  'region' => 'region-input',
576
- 'swedish_identity_number' => 'swedish_identity_number-input'
577
- }
576
+ 'swedish_identity_number' => 'swedish_identity_number-input',
577
+ },
578
578
  }.to_json,
579
579
  headers: response_headers
580
580
  )
@@ -582,7 +582,7 @@ describe GoCardlessPro::Services::CustomersService do
582
582
 
583
583
  subject(:get_response) do
584
584
  client.customers.get(id, headers: {
585
- 'Foo' => 'Bar'
585
+ 'Foo' => 'Bar',
586
586
  })
587
587
  end
588
588
 
@@ -614,8 +614,8 @@ describe GoCardlessPro::Services::CustomersService do
614
614
  'metadata' => 'metadata-input',
615
615
  'postal_code' => 'postal_code-input',
616
616
  'region' => 'region-input',
617
- 'swedish_identity_number' => 'swedish_identity_number-input'
618
- }
617
+ 'swedish_identity_number' => 'swedish_identity_number-input',
618
+ },
619
619
  }.to_json,
620
620
  headers: response_headers
621
621
  )
@@ -654,8 +654,8 @@ describe GoCardlessPro::Services::CustomersService do
654
654
  it 'retries timeouts' do
655
655
  stub_url = '/customers/:identity'.gsub(':identity', id)
656
656
 
657
- stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/)
658
- .to_timeout.then.to_return(status: 200, headers: response_headers)
657
+ stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/).
658
+ to_timeout.then.to_return(status: 200, headers: response_headers)
659
659
 
660
660
  get_response
661
661
  expect(stub).to have_been_requested.twice
@@ -664,11 +664,11 @@ describe GoCardlessPro::Services::CustomersService do
664
664
  it 'retries 5XX errors' do
665
665
  stub_url = '/customers/:identity'.gsub(':identity', id)
666
666
 
667
- stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/)
668
- .to_return(status: 502,
669
- headers: { 'Content-Type' => 'text/html' },
670
- body: '<html><body>Response from Cloudflare</body></html>')
671
- .then.to_return(status: 200, headers: response_headers)
667
+ stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/).
668
+ to_return(status: 502,
669
+ headers: { 'Content-Type' => 'text/html' },
670
+ body: '<html><body>Response from Cloudflare</body></html>').
671
+ then.to_return(status: 200, headers: response_headers)
672
672
 
673
673
  get_response
674
674
  expect(stub).to have_been_requested.twice
@@ -704,8 +704,8 @@ describe GoCardlessPro::Services::CustomersService do
704
704
  'metadata' => 'metadata-input',
705
705
  'postal_code' => 'postal_code-input',
706
706
  'region' => 'region-input',
707
- 'swedish_identity_number' => 'swedish_identity_number-input'
708
- }
707
+ 'swedish_identity_number' => 'swedish_identity_number-input',
708
+ },
709
709
  }.to_json,
710
710
  headers: response_headers
711
711
  )
@@ -721,8 +721,8 @@ describe GoCardlessPro::Services::CustomersService do
721
721
 
722
722
  it 'retries timeouts' do
723
723
  stub_url = '/customers/:identity'.gsub(':identity', id)
724
- stub = stub_request(:put, /.*api.gocardless.com#{stub_url}/)
725
- .to_timeout.then.to_return(status: 200, headers: response_headers)
724
+ stub = stub_request(:put, /.*api.gocardless.com#{stub_url}/).
725
+ to_timeout.then.to_return(status: 200, headers: response_headers)
726
726
 
727
727
  put_update_response
728
728
  expect(stub).to have_been_requested.twice
@@ -730,11 +730,11 @@ describe GoCardlessPro::Services::CustomersService do
730
730
 
731
731
  it 'retries 5XX errors' do
732
732
  stub_url = '/customers/:identity'.gsub(':identity', id)
733
- stub = stub_request(:put, /.*api.gocardless.com#{stub_url}/)
734
- .to_return(status: 502,
735
- headers: { 'Content-Type' => 'text/html' },
736
- body: '<html><body>Response from Cloudflare</body></html>')
737
- .then.to_return(status: 200, headers: response_headers)
733
+ stub = stub_request(:put, /.*api.gocardless.com#{stub_url}/).
734
+ to_return(status: 502,
735
+ headers: { 'Content-Type' => 'text/html' },
736
+ body: '<html><body>Response from Cloudflare</body></html>').
737
+ then.to_return(status: 200, headers: response_headers)
738
738
 
739
739
  put_update_response
740
740
  expect(stub).to have_been_requested.twice
@@ -23,14 +23,14 @@ describe GoCardlessPro::Services::EventsService do
23
23
  'id' => 'id-input',
24
24
  'links' => 'links-input',
25
25
  'metadata' => 'metadata-input',
26
- 'resource_type' => 'resource_type-input'
26
+ 'resource_type' => 'resource_type-input',
27
27
  }],
28
28
  meta: {
29
29
  cursors: {
30
30
  before: nil,
31
- after: 'ABC123'
32
- }
33
- }
31
+ after: 'ABC123',
32
+ },
33
+ },
34
34
  }.to_json
35
35
  end
36
36
 
@@ -68,19 +68,19 @@ describe GoCardlessPro::Services::EventsService do
68
68
  before { allow_any_instance_of(GoCardlessPro::Request).to receive(:sleep) }
69
69
 
70
70
  it 'retries timeouts' do
71
- stub = stub_request(:get, %r{.*api.gocardless.com/events})
72
- .to_timeout.then.to_return(status: 200, headers: response_headers, body: body)
71
+ stub = stub_request(:get, %r{.*api.gocardless.com/events}).
72
+ to_timeout.then.to_return(status: 200, headers: response_headers, body: body)
73
73
 
74
74
  get_list_response
75
75
  expect(stub).to have_been_requested.twice
76
76
  end
77
77
 
78
78
  it 'retries 5XX errors' do
79
- stub = stub_request(:get, %r{.*api.gocardless.com/events})
80
- .to_return(status: 502,
81
- headers: { 'Content-Type' => 'text/html' },
82
- body: '<html><body>Response from Cloudflare</body></html>')
83
- .then.to_return(status: 200, headers: response_headers, body: body)
79
+ stub = stub_request(:get, %r{.*api.gocardless.com/events}).
80
+ to_return(status: 502,
81
+ headers: { 'Content-Type' => 'text/html' },
82
+ body: '<html><body>Response from Cloudflare</body></html>').
83
+ then.to_return(status: 200, headers: response_headers, body: body)
84
84
 
85
85
  get_list_response
86
86
  expect(stub).to have_been_requested.twice
@@ -101,12 +101,12 @@ describe GoCardlessPro::Services::EventsService do
101
101
  'id' => 'id-input',
102
102
  'links' => 'links-input',
103
103
  'metadata' => 'metadata-input',
104
- 'resource_type' => 'resource_type-input'
104
+ 'resource_type' => 'resource_type-input',
105
105
  }],
106
106
  meta: {
107
107
  cursors: { after: 'AB345' },
108
- limit: 1
109
- }
108
+ limit: 1,
109
+ },
110
110
  }.to_json,
111
111
  headers: response_headers
112
112
  )
@@ -123,12 +123,12 @@ describe GoCardlessPro::Services::EventsService do
123
123
  'id' => 'id-input',
124
124
  'links' => 'links-input',
125
125
  'metadata' => 'metadata-input',
126
- 'resource_type' => 'resource_type-input'
126
+ 'resource_type' => 'resource_type-input',
127
127
  }],
128
128
  meta: {
129
129
  limit: 2,
130
- cursors: {}
131
- }
130
+ cursors: {},
131
+ },
132
132
  }.to_json,
133
133
  headers: response_headers
134
134
  )
@@ -154,19 +154,19 @@ describe GoCardlessPro::Services::EventsService do
154
154
  'id' => 'id-input',
155
155
  'links' => 'links-input',
156
156
  'metadata' => 'metadata-input',
157
- 'resource_type' => 'resource_type-input'
157
+ 'resource_type' => 'resource_type-input',
158
158
  }],
159
159
  meta: {
160
160
  cursors: { after: 'AB345' },
161
- limit: 1
162
- }
161
+ limit: 1,
162
+ },
163
163
  }.to_json,
164
164
  headers: response_headers
165
165
  )
166
166
 
167
- second_response_stub = stub_request(:get, %r{.*api.gocardless.com/events\?after=AB345})
168
- .to_timeout.then
169
- .to_return(
167
+ second_response_stub = stub_request(:get, %r{.*api.gocardless.com/events\?after=AB345}).
168
+ to_timeout.then.
169
+ to_return(
170
170
  body: {
171
171
  'events' => [{
172
172
 
@@ -176,12 +176,12 @@ describe GoCardlessPro::Services::EventsService do
176
176
  'id' => 'id-input',
177
177
  'links' => 'links-input',
178
178
  'metadata' => 'metadata-input',
179
- 'resource_type' => 'resource_type-input'
179
+ 'resource_type' => 'resource_type-input',
180
180
  }],
181
181
  meta: {
182
182
  limit: 2,
183
- cursors: {}
184
- }
183
+ cursors: {},
184
+ },
185
185
  }.to_json,
186
186
  headers: response_headers
187
187
  )
@@ -203,18 +203,18 @@ describe GoCardlessPro::Services::EventsService do
203
203
  'id' => 'id-input',
204
204
  'links' => 'links-input',
205
205
  'metadata' => 'metadata-input',
206
- 'resource_type' => 'resource_type-input'
206
+ 'resource_type' => 'resource_type-input',
207
207
  }],
208
208
  meta: {
209
209
  cursors: { after: 'AB345' },
210
- limit: 1
211
- }
210
+ limit: 1,
211
+ },
212
212
  }.to_json,
213
213
  headers: response_headers
214
214
  )
215
215
 
216
- second_response_stub = stub_request(:get, %r{.*api.gocardless.com/events\?after=AB345})
217
- .to_return(
216
+ second_response_stub = stub_request(:get, %r{.*api.gocardless.com/events\?after=AB345}).
217
+ to_return(
218
218
  status: 502,
219
219
  body: '<html><body>Response from Cloudflare</body></html>',
220
220
  headers: { 'Content-Type' => 'text/html' }
@@ -228,12 +228,12 @@ describe GoCardlessPro::Services::EventsService do
228
228
  'id' => 'id-input',
229
229
  'links' => 'links-input',
230
230
  'metadata' => 'metadata-input',
231
- 'resource_type' => 'resource_type-input'
231
+ 'resource_type' => 'resource_type-input',
232
232
  }],
233
233
  meta: {
234
234
  limit: 2,
235
- cursors: {}
236
- }
235
+ cursors: {},
236
+ },
237
237
  }.to_json,
238
238
  headers: response_headers
239
239
  )
@@ -254,9 +254,9 @@ describe GoCardlessPro::Services::EventsService do
254
254
  context 'passing in a custom header' do
255
255
  let!(:stub) do
256
256
  stub_url = '/events/:identity'.gsub(':identity', id)
257
- stub_request(:get, /.*api.gocardless.com#{stub_url}/)
258
- .with(headers: { 'Foo' => 'Bar' })
259
- .to_return(
257
+ stub_request(:get, /.*api.gocardless.com#{stub_url}/).
258
+ with(headers: { 'Foo' => 'Bar' }).
259
+ to_return(
260
260
  body: {
261
261
  'events' => {
262
262
 
@@ -266,8 +266,8 @@ describe GoCardlessPro::Services::EventsService do
266
266
  'id' => 'id-input',
267
267
  'links' => 'links-input',
268
268
  'metadata' => 'metadata-input',
269
- 'resource_type' => 'resource_type-input'
270
- }
269
+ 'resource_type' => 'resource_type-input',
270
+ },
271
271
  }.to_json,
272
272
  headers: response_headers
273
273
  )
@@ -275,7 +275,7 @@ describe GoCardlessPro::Services::EventsService do
275
275
 
276
276
  subject(:get_response) do
277
277
  client.events.get(id, headers: {
278
- 'Foo' => 'Bar'
278
+ 'Foo' => 'Bar',
279
279
  })
280
280
  end
281
281
 
@@ -298,8 +298,8 @@ describe GoCardlessPro::Services::EventsService do
298
298
  'id' => 'id-input',
299
299
  'links' => 'links-input',
300
300
  'metadata' => 'metadata-input',
301
- 'resource_type' => 'resource_type-input'
302
- }
301
+ 'resource_type' => 'resource_type-input',
302
+ },
303
303
  }.to_json,
304
304
  headers: response_headers
305
305
  )
@@ -338,8 +338,8 @@ describe GoCardlessPro::Services::EventsService do
338
338
  it 'retries timeouts' do
339
339
  stub_url = '/events/:identity'.gsub(':identity', id)
340
340
 
341
- stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/)
342
- .to_timeout.then.to_return(status: 200, headers: response_headers)
341
+ stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/).
342
+ to_timeout.then.to_return(status: 200, headers: response_headers)
343
343
 
344
344
  get_response
345
345
  expect(stub).to have_been_requested.twice
@@ -348,11 +348,11 @@ describe GoCardlessPro::Services::EventsService do
348
348
  it 'retries 5XX errors' do
349
349
  stub_url = '/events/:identity'.gsub(':identity', id)
350
350
 
351
- stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/)
352
- .to_return(status: 502,
353
- headers: { 'Content-Type' => 'text/html' },
354
- body: '<html><body>Response from Cloudflare</body></html>')
355
- .then.to_return(status: 200, headers: response_headers)
351
+ stub = stub_request(:get, /.*api.gocardless.com#{stub_url}/).
352
+ to_return(status: 502,
353
+ headers: { 'Content-Type' => 'text/html' },
354
+ body: '<html><body>Response from Cloudflare</body></html>').
355
+ then.to_return(status: 200, headers: response_headers)
356
356
 
357
357
  get_response
358
358
  expect(stub).to have_been_requested.twice