currency_cloud 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +31 -0
  3. data/.rubocop.yml +6 -0
  4. data/.travis.yml +2 -4
  5. data/Gemfile +0 -3
  6. data/LICENSE.md +16 -17
  7. data/README.md +5 -3
  8. data/Rakefile +12 -12
  9. data/currency_cloud.gemspec +9 -9
  10. data/examples/server.rb +7 -7
  11. data/lib/currency_cloud/client.rb +5 -1
  12. data/lib/currency_cloud/conversion.rb +15 -0
  13. data/lib/currency_cloud/conversion_cancel_result.rb +5 -0
  14. data/lib/currency_cloud/conversion_date_change_result.rb +5 -0
  15. data/lib/currency_cloud/conversion_split_result.rb +5 -0
  16. data/lib/currency_cloud/errors/api_error.rb +2 -2
  17. data/lib/currency_cloud/errors/error_utils.rb +4 -4
  18. data/lib/currency_cloud/errors/unexpected_error.rb +3 -3
  19. data/lib/currency_cloud/iban.rb +22 -0
  20. data/lib/currency_cloud/ibans.rb +6 -0
  21. data/lib/currency_cloud/payer_required_details.rb +5 -0
  22. data/lib/currency_cloud/payment.rb +10 -0
  23. data/lib/currency_cloud/payment_authorisation_result.rb +5 -0
  24. data/lib/currency_cloud/payment_dates.rb +5 -0
  25. data/lib/currency_cloud/payment_submission.rb +5 -0
  26. data/lib/currency_cloud/purpose_code.rb +5 -0
  27. data/lib/currency_cloud/reference.rb +20 -5
  28. data/lib/currency_cloud/request_handler.rb +1 -3
  29. data/lib/currency_cloud/response_handler.rb +7 -7
  30. data/lib/currency_cloud/session.rb +2 -3
  31. data/lib/currency_cloud/transfer.rb +8 -0
  32. data/lib/currency_cloud/version.rb +1 -1
  33. data/lib/currency_cloud/virtual_account.rb +22 -0
  34. data/lib/currency_cloud/virtual_accounts.rb +6 -0
  35. data/spec/currency_cloud_spec.rb +9 -9
  36. data/spec/integration/authentication_spec.rb +2 -2
  37. data/spec/integration/conversions_spec.rb +94 -0
  38. data/spec/integration/error_utils_spec.rb +12 -12
  39. data/spec/integration/errors_spec.rb +84 -102
  40. data/spec/integration/ibans_spec.rb +42 -0
  41. data/spec/integration/payment_spec.rb +31 -0
  42. data/spec/integration/payments_spec.rb +67 -0
  43. data/spec/integration/reference_spec.rb +37 -14
  44. data/spec/integration/transfers_spec.rb +39 -0
  45. data/spec/integration/virtual_accounts_spec.rb +37 -0
  46. data/spec/spec_helper.rb +9 -1
  47. data/spec/support/vcr_cassettes/Authentication/can_be_closed.yml +1 -1
  48. data/spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml +1 -1
  49. data/spec/support/vcr_cassettes/Authentication/happens_lazily.yml +1 -1
  50. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/with_notes/has_a_non-empty_notes_attribute.yml +158 -0
  51. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/without_notes/has_a_empty_notes_attribute.yml +157 -0
  52. data/spec/support/vcr_cassettes/Conversions/can_date_change_conversion.yml +157 -0
  53. data/spec/support/vcr_cassettes/Conversions/can_split_conversion.yml +157 -0
  54. data/spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml +1 -1
  55. data/spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml +1 -1
  56. data/spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml +1 -1
  57. data/spec/support/vcr_cassettes/Error/is_raised_on_an_internal_server_error.yml +1 -1
  58. data/spec/support/vcr_cassettes/Error/is_raised_on_incorrect_authentication_details.yml +1 -1
  59. data/spec/support/vcr_cassettes/Error/is_raised_when_too_many_requests_have_been_issued.yml +1 -1
  60. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_a_specific_subaccount.yml +109 -0
  61. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_subaccounts.yml +108 -0
  62. data/spec/support/vcr_cassettes/IBANs/can_find.yml +114 -0
  63. data/spec/support/vcr_cassettes/Payments/can_authorise/when_payment_ids_are_valid.yml +263 -0
  64. data/spec/support/vcr_cassettes/Payments/can_create.yml +155 -0
  65. data/spec/support/vcr_cassettes/Payments/can_get_the_submission.yml +205 -0
  66. data/spec/support/vcr_cassettes/Reference/can_retrieve_beneficiary_required_details.yml +77 -12
  67. data/spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml +183 -22
  68. data/spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml +110 -22
  69. data/spec/support/vcr_cassettes/Reference/can_retrieve_payer_required_details.yml +103 -0
  70. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_dates.yml +110 -0
  71. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_purpose_codes.yml +128 -0
  72. data/spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml +76 -11
  73. data/spec/support/vcr_cassettes/Settlements/can_add_conversion.yml +56 -6
  74. data/spec/support/vcr_cassettes/Settlements/can_release.yml +55 -5
  75. data/spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml +55 -5
  76. data/spec/support/vcr_cassettes/Settlements/can_unrelease.yml +55 -5
  77. data/spec/support/vcr_cassettes/Transfers/can_create.yml +101 -0
  78. data/spec/support/vcr_cassettes/Transfers/can_find.yml +151 -0
  79. data/spec/support/vcr_cassettes/Transfers/can_retrieve.yml +151 -0
  80. data/spec/support/vcr_cassettes/VirtualAccounts/can_find.yml +108 -0
  81. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_a_specific_subaccount.yml +108 -0
  82. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_subaccounts.yml +108 -0
  83. metadata +82 -20
  84. data/Guardfile +0 -14
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: currency_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam McAndrew
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-11-29 00:00:00.000000000 Z
12
+ date: 2018-09-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  requirement: !ruby/object:Gem::Requirement
@@ -42,17 +42,17 @@ dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - "<="
46
46
  - !ruby/object:Gem::Version
47
- version: '3.1'
48
- name: rspec
47
+ version: 2.4.0
48
+ name: addressable
49
49
  prerelease: false
50
50
  type: :development
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - "<="
54
54
  - !ruby/object:Gem::Version
55
- version: '3.1'
55
+ version: 2.4.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
@@ -72,21 +72,21 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.21'
76
- name: webmock
75
+ version: '3.1'
76
+ name: rspec
77
77
  prerelease: false
78
78
  type: :development
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '1.21'
83
+ version: '3.1'
84
84
  - !ruby/object:Gem::Dependency
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.9'
89
+ version: 3.0.3
90
90
  name: vcr
91
91
  prerelease: false
92
92
  type: :development
@@ -94,22 +94,22 @@ dependencies:
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '2.9'
97
+ version: 3.0.3
98
98
  - !ruby/object:Gem::Dependency
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "<="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.4.0
104
- name: addressable
103
+ version: 2.3.2
104
+ name: webmock
105
105
  prerelease: false
106
106
  type: :development
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "<="
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 2.4.0
112
- description: Ruby SDK for the Currency Cloud API - https://connect.currencycloud.com/
111
+ version: 2.3.2
112
+ description: Ruby SDK for the Currency Cloud API - https://www.currencycloud.com/developers/overview/
113
113
  email:
114
114
  - liam.mcandrew@currencycloud.com
115
115
  - richard.nienaber@currencycloud.com
@@ -121,7 +121,6 @@ files:
121
121
  - ".rubocop.yml"
122
122
  - ".travis.yml"
123
123
  - Gemfile
124
- - Guardfile
125
124
  - LICENSE.md
126
125
  - README.md
127
126
  - Rakefile
@@ -143,15 +142,25 @@ files:
143
142
  - lib/currency_cloud/client.rb
144
143
  - lib/currency_cloud/contact.rb
145
144
  - lib/currency_cloud/conversion.rb
145
+ - lib/currency_cloud/conversion_cancel_result.rb
146
+ - lib/currency_cloud/conversion_date_change_result.rb
146
147
  - lib/currency_cloud/conversion_dates.rb
148
+ - lib/currency_cloud/conversion_split_result.rb
147
149
  - lib/currency_cloud/currency.rb
148
150
  - lib/currency_cloud/errors/api_error.rb
149
151
  - lib/currency_cloud/errors/error_utils.rb
150
152
  - lib/currency_cloud/errors/general_error.rb
151
153
  - lib/currency_cloud/errors/unexpected_error.rb
154
+ - lib/currency_cloud/iban.rb
155
+ - lib/currency_cloud/ibans.rb
152
156
  - lib/currency_cloud/pagination.rb
153
157
  - lib/currency_cloud/payer.rb
158
+ - lib/currency_cloud/payer_required_details.rb
154
159
  - lib/currency_cloud/payment.rb
160
+ - lib/currency_cloud/payment_authorisation_result.rb
161
+ - lib/currency_cloud/payment_dates.rb
162
+ - lib/currency_cloud/payment_submission.rb
163
+ - lib/currency_cloud/purpose_code.rb
155
164
  - lib/currency_cloud/rate.rb
156
165
  - lib/currency_cloud/rates.rb
157
166
  - lib/currency_cloud/reference.rb
@@ -163,17 +172,26 @@ files:
163
172
  - lib/currency_cloud/settlement.rb
164
173
  - lib/currency_cloud/settlement_account.rb
165
174
  - lib/currency_cloud/transaction.rb
175
+ - lib/currency_cloud/transfer.rb
166
176
  - lib/currency_cloud/version.rb
177
+ - lib/currency_cloud/virtual_account.rb
178
+ - lib/currency_cloud/virtual_accounts.rb
167
179
  - spec/currency_cloud/request_handler_spec.rb
168
180
  - spec/currency_cloud/resource_spec.rb
169
181
  - spec/currency_cloud_spec.rb
170
182
  - spec/integration/actions_spec.rb
171
183
  - spec/integration/authentication_spec.rb
184
+ - spec/integration/conversions_spec.rb
172
185
  - spec/integration/error_utils_spec.rb
173
186
  - spec/integration/errors_spec.rb
187
+ - spec/integration/ibans_spec.rb
188
+ - spec/integration/payment_spec.rb
189
+ - spec/integration/payments_spec.rb
174
190
  - spec/integration/rates_spec.rb
175
191
  - spec/integration/reference_spec.rb
176
192
  - spec/integration/settlements_spec.rb
193
+ - spec/integration/transfers_spec.rb
194
+ - spec/integration/virtual_accounts_spec.rb
177
195
  - spec/spec_helper.rb
178
196
  - spec/support/vcr_cassettes/Actions/can_create.yml
179
197
  - spec/support/vcr_cassettes/Actions/can_current.yml
@@ -188,6 +206,10 @@ files:
188
206
  - spec/support/vcr_cassettes/Authentication/can_use_just_a_token.yml
189
207
  - spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml
190
208
  - spec/support/vcr_cassettes/Authentication/happens_lazily.yml
209
+ - spec/support/vcr_cassettes/Conversions/can_cancel_conversion/with_notes/has_a_non-empty_notes_attribute.yml
210
+ - spec/support/vcr_cassettes/Conversions/can_cancel_conversion/without_notes/has_a_empty_notes_attribute.yml
211
+ - spec/support/vcr_cassettes/Conversions/can_date_change_conversion.yml
212
+ - spec/support/vcr_cassettes/Conversions/can_split_conversion.yml
191
213
  - spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml
192
214
  - spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml
193
215
  - spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml
@@ -195,17 +217,32 @@ files:
195
217
  - spec/support/vcr_cassettes/Error/is_raised_on_incorrect_authentication_details.yml
196
218
  - spec/support/vcr_cassettes/Error/is_raised_when_a_resource_is_not_found.yml
197
219
  - spec/support/vcr_cassettes/Error/is_raised_when_too_many_requests_have_been_issued.yml
220
+ - spec/support/vcr_cassettes/IBANs/can_IBANs_for_a_specific_subaccount.yml
221
+ - spec/support/vcr_cassettes/IBANs/can_IBANs_for_subaccounts.yml
222
+ - spec/support/vcr_cassettes/IBANs/can_find.yml
223
+ - spec/support/vcr_cassettes/Payments/can_authorise/when_payment_ids_are_valid.yml
224
+ - spec/support/vcr_cassettes/Payments/can_create.yml
225
+ - spec/support/vcr_cassettes/Payments/can_get_the_submission.yml
198
226
  - spec/support/vcr_cassettes/Rates/can_find.yml
199
227
  - spec/support/vcr_cassettes/Rates/can_provided_detailed_rate.yml
200
228
  - spec/support/vcr_cassettes/Reference/can_retrieve_beneficiary_required_details.yml
201
229
  - spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml
202
230
  - spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml
231
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payer_required_details.yml
232
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payment_dates.yml
233
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payment_purpose_codes.yml
203
234
  - spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml
204
235
  - spec/support/vcr_cassettes/Settlements/can_add_conversion.yml
205
236
  - spec/support/vcr_cassettes/Settlements/can_release.yml
206
237
  - spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml
207
238
  - spec/support/vcr_cassettes/Settlements/can_unrelease.yml
208
- homepage: https://connect.currencycloud.com/documentation/getting-started/introduction
239
+ - spec/support/vcr_cassettes/Transfers/can_create.yml
240
+ - spec/support/vcr_cassettes/Transfers/can_find.yml
241
+ - spec/support/vcr_cassettes/Transfers/can_retrieve.yml
242
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find.yml
243
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_a_specific_subaccount.yml
244
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_subaccounts.yml
245
+ homepage: https://github.com/Currencycloud/currencycloud-ruby/
209
246
  licenses:
210
247
  - MIT
211
248
  metadata: {}
@@ -235,11 +272,17 @@ test_files:
235
272
  - spec/currency_cloud_spec.rb
236
273
  - spec/integration/actions_spec.rb
237
274
  - spec/integration/authentication_spec.rb
275
+ - spec/integration/conversions_spec.rb
238
276
  - spec/integration/error_utils_spec.rb
239
277
  - spec/integration/errors_spec.rb
278
+ - spec/integration/ibans_spec.rb
279
+ - spec/integration/payment_spec.rb
280
+ - spec/integration/payments_spec.rb
240
281
  - spec/integration/rates_spec.rb
241
282
  - spec/integration/reference_spec.rb
242
283
  - spec/integration/settlements_spec.rb
284
+ - spec/integration/transfers_spec.rb
285
+ - spec/integration/virtual_accounts_spec.rb
243
286
  - spec/spec_helper.rb
244
287
  - spec/support/vcr_cassettes/Actions/can_create.yml
245
288
  - spec/support/vcr_cassettes/Actions/can_current.yml
@@ -254,6 +297,10 @@ test_files:
254
297
  - spec/support/vcr_cassettes/Authentication/can_use_just_a_token.yml
255
298
  - spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml
256
299
  - spec/support/vcr_cassettes/Authentication/happens_lazily.yml
300
+ - spec/support/vcr_cassettes/Conversions/can_cancel_conversion/with_notes/has_a_non-empty_notes_attribute.yml
301
+ - spec/support/vcr_cassettes/Conversions/can_cancel_conversion/without_notes/has_a_empty_notes_attribute.yml
302
+ - spec/support/vcr_cassettes/Conversions/can_date_change_conversion.yml
303
+ - spec/support/vcr_cassettes/Conversions/can_split_conversion.yml
257
304
  - spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml
258
305
  - spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml
259
306
  - spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml
@@ -261,13 +308,28 @@ test_files:
261
308
  - spec/support/vcr_cassettes/Error/is_raised_on_incorrect_authentication_details.yml
262
309
  - spec/support/vcr_cassettes/Error/is_raised_when_a_resource_is_not_found.yml
263
310
  - spec/support/vcr_cassettes/Error/is_raised_when_too_many_requests_have_been_issued.yml
311
+ - spec/support/vcr_cassettes/IBANs/can_IBANs_for_a_specific_subaccount.yml
312
+ - spec/support/vcr_cassettes/IBANs/can_IBANs_for_subaccounts.yml
313
+ - spec/support/vcr_cassettes/IBANs/can_find.yml
314
+ - spec/support/vcr_cassettes/Payments/can_authorise/when_payment_ids_are_valid.yml
315
+ - spec/support/vcr_cassettes/Payments/can_create.yml
316
+ - spec/support/vcr_cassettes/Payments/can_get_the_submission.yml
264
317
  - spec/support/vcr_cassettes/Rates/can_find.yml
265
318
  - spec/support/vcr_cassettes/Rates/can_provided_detailed_rate.yml
266
319
  - spec/support/vcr_cassettes/Reference/can_retrieve_beneficiary_required_details.yml
267
320
  - spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml
268
321
  - spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml
322
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payer_required_details.yml
323
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payment_dates.yml
324
+ - spec/support/vcr_cassettes/Reference/can_retrieve_payment_purpose_codes.yml
269
325
  - spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml
270
326
  - spec/support/vcr_cassettes/Settlements/can_add_conversion.yml
271
327
  - spec/support/vcr_cassettes/Settlements/can_release.yml
272
328
  - spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml
273
329
  - spec/support/vcr_cassettes/Settlements/can_unrelease.yml
330
+ - spec/support/vcr_cassettes/Transfers/can_create.yml
331
+ - spec/support/vcr_cassettes/Transfers/can_find.yml
332
+ - spec/support/vcr_cassettes/Transfers/can_retrieve.yml
333
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find.yml
334
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_a_specific_subaccount.yml
335
+ - spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_subaccounts.yml
data/Guardfile DELETED
@@ -1,14 +0,0 @@
1
- guard :rspec, cmd: "bundle exec rspec" do
2
- require "guard/rspec/dsl"
3
- dsl = Guard::RSpec::Dsl.new(self)
4
-
5
- # RSpec files
6
- rspec = dsl.rspec
7
- watch(rspec.spec_helper) { rspec.spec_dir }
8
- watch(rspec.spec_support) { rspec.spec_dir }
9
- watch(rspec.spec_files)
10
-
11
- # Ruby files
12
- ruby = dsl.ruby
13
- dsl.watch_spec_files_for(ruby.lib_files)
14
- end