currency_cloud 0.5 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +151 -8
  4. data/currency_cloud.gemspec +1 -0
  5. data/lib/currency_cloud.rb +14 -0
  6. data/lib/currency_cloud/actions/delete.rb +7 -1
  7. data/lib/currency_cloud/actions/save.rb +14 -0
  8. data/lib/currency_cloud/errors/api_error.rb +38 -2
  9. data/lib/currency_cloud/errors/error_utils.rb +14 -0
  10. data/lib/currency_cloud/errors/general_error.rb +5 -0
  11. data/lib/currency_cloud/errors/unexpected_error.rb +23 -1
  12. data/lib/currency_cloud/request_handler.rb +27 -20
  13. data/lib/currency_cloud/resource.rb +7 -1
  14. data/lib/currency_cloud/resources/balance.rb +3 -1
  15. data/lib/currency_cloud/resources/beneficiary.rb +2 -3
  16. data/lib/currency_cloud/resources/payment.rb +0 -2
  17. data/lib/currency_cloud/resources/settlement.rb +30 -9
  18. data/lib/currency_cloud/response_handler.rb +14 -15
  19. data/lib/currency_cloud/session.rb +4 -4
  20. data/lib/currency_cloud/version.rb +1 -1
  21. data/spec/currency_cloud/request_handler_spec.rb +32 -0
  22. data/spec/currency_cloud/resource_spec.rb +37 -0
  23. data/spec/currency_cloud_spec.rb +49 -5
  24. data/spec/integration/actions_spec.rb +28 -0
  25. data/spec/integration/errors_spec.rb +47 -0
  26. data/spec/integration/rates_spec.rb +1 -1
  27. data/spec/integration/settlements_spec.rb +67 -0
  28. data/spec/spec_helper.rb +3 -2
  29. data/spec/support/vcr_cassettes/Actions/can_first.yml +0 -36
  30. data/spec/support/vcr_cassettes/Actions/can_use_currency_to_retrieve_balance.yml +36 -0
  31. data/spec/support/vcr_cassettes/Actions/can_validate_beneficiaries.yml +38 -0
  32. data/spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml +35 -0
  33. data/spec/support/vcr_cassettes/Error/is_raised_on_an_internal_server_error.yml +0 -34
  34. data/spec/support/vcr_cassettes/Rates/can_find.yml +3 -3
  35. data/spec/support/vcr_cassettes/Rates/can_provided_detailed_rate.yml +3 -3
  36. data/spec/support/vcr_cassettes/Reference/can_retrieve_beneficiary_required_details.yml +3 -3
  37. data/spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml +3 -3
  38. data/spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml +3 -3
  39. data/spec/support/vcr_cassettes/Settlements/can_add_conversion.yml +102 -0
  40. data/spec/support/vcr_cassettes/Settlements/can_release.yml +69 -0
  41. data/spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml +69 -0
  42. data/spec/support/vcr_cassettes/Settlements/can_unrelease.yml +69 -0
  43. metadata +26 -5
  44. data/Gemfile.lock +0 -99
  45. data/lib/currency_cloud/errors/config_error.rb +0 -5
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/51c619e0-0256-40ad-afba-ca4114b936f9
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Auth-Token:
11
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Mon, 04 May 2015 21:17:27 GMT
21
+ Content-Type:
22
+ - application/json;charset=utf-8
23
+ Content-Length:
24
+ - '396'
25
+ Connection:
26
+ - keep-alive
27
+ X-Request-Id:
28
+ - '2778832264358227281'
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ body:
32
+ encoding: UTF-8
33
+ string: '{"id":"51c619e0-0256-40ad-afba-ca4114b936f9","status":"open","short_reference":"20150504-SHKTFD","type":"bulk","conversion_ids":["9bb4a49b-f959-402f-8bb8-4463b18d93c7"],"entries":[{"USD":{"receive_amount":"0.00","send_amount":"1512.00"}},{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}}],"created_at":"2015-05-04T21:14:48+00:00","updated_at":"2015-05-04T21:14:48+00:00","released_at":""}'
34
+ http_version:
35
+ recorded_at: Mon, 04 May 2015 21:17:27 GMT
36
+ - request:
37
+ method: post
38
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/51c619e0-0256-40ad-afba-ca4114b936f9/release
39
+ body:
40
+ encoding: US-ASCII
41
+ string: ''
42
+ headers:
43
+ X-Auth-Token:
44
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
45
+ response:
46
+ status:
47
+ code: 200
48
+ message: OK
49
+ headers:
50
+ Server:
51
+ - nginx
52
+ Date:
53
+ - Mon, 04 May 2015 21:44:23 GMT
54
+ Content-Type:
55
+ - application/json;charset=utf-8
56
+ Content-Length:
57
+ - '425'
58
+ Connection:
59
+ - keep-alive
60
+ X-Request-Id:
61
+ - '2778845818645866210'
62
+ X-Content-Type-Options:
63
+ - nosniff
64
+ body:
65
+ encoding: UTF-8
66
+ string: '{"id":"51c619e0-0256-40ad-afba-ca4114b936f9","status":"released","short_reference":"20150504-SHKTFD","type":"bulk","conversion_ids":["9bb4a49b-f959-402f-8bb8-4463b18d93c7"],"entries":[{"USD":{"receive_amount":"0.00","send_amount":"1512.00"}},{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}}],"created_at":"2015-05-04T21:14:48+00:00","updated_at":"2015-05-04T21:44:23+00:00","released_at":"2015-05-04T21:44:23+00:00"}'
67
+ http_version:
68
+ recorded_at: Mon, 04 May 2015 21:44:23 GMT
69
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/63eeef54-3531-4e65-827a-7d0f37503fcc
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Auth-Token:
11
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Mon, 04 May 2015 21:10:09 GMT
21
+ Content-Type:
22
+ - application/json;charset=utf-8
23
+ Content-Length:
24
+ - '396'
25
+ Connection:
26
+ - keep-alive
27
+ X-Request-Id:
28
+ - '2778828587740391361'
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ body:
32
+ encoding: UTF-8
33
+ string: '{"id":"63eeef54-3531-4e65-827a-7d0f37503fcc","status":"open","short_reference":"20150504-RKNNBH","type":"bulk","conversion_ids":["24d2ee7f-c7a3-4181-979e-9c58dbace992"],"entries":[{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}},{"USD":{"receive_amount":"0.00","send_amount":"1511.70"}}],"created_at":"2015-05-04T20:29:16+00:00","updated_at":"2015-05-04T20:40:56+00:00","released_at":""}'
34
+ http_version:
35
+ recorded_at: Mon, 04 May 2015 21:10:09 GMT
36
+ - request:
37
+ method: post
38
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/63eeef54-3531-4e65-827a-7d0f37503fcc/remove_conversion
39
+ body:
40
+ encoding: UTF-8
41
+ string: conversion_id=24d2ee7f-c7a3-4181-979e-9c58dbace992
42
+ headers:
43
+ X-Auth-Token:
44
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
45
+ response:
46
+ status:
47
+ code: 200
48
+ message: OK
49
+ headers:
50
+ Server:
51
+ - nginx
52
+ Date:
53
+ - Mon, 04 May 2015 21:13:48 GMT
54
+ Content-Type:
55
+ - application/json;charset=utf-8
56
+ Content-Length:
57
+ - '243'
58
+ Connection:
59
+ - keep-alive
60
+ X-Request-Id:
61
+ - '2778830425365638278'
62
+ X-Content-Type-Options:
63
+ - nosniff
64
+ body:
65
+ encoding: UTF-8
66
+ string: '{"id":"63eeef54-3531-4e65-827a-7d0f37503fcc","status":"open","short_reference":"20150504-RKNNBH","type":"bulk","conversion_ids":[],"entries":[],"created_at":"2015-05-04T20:29:16+00:00","updated_at":"2015-05-04T20:40:56+00:00","released_at":""}'
67
+ http_version:
68
+ recorded_at: Mon, 04 May 2015 21:13:48 GMT
69
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/51c619e0-0256-40ad-afba-ca4114b936f9
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Auth-Token:
11
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Mon, 04 May 2015 21:50:54 GMT
21
+ Content-Type:
22
+ - application/json;charset=utf-8
23
+ Content-Length:
24
+ - '425'
25
+ Connection:
26
+ - keep-alive
27
+ X-Request-Id:
28
+ - '2778849099396898860'
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ body:
32
+ encoding: UTF-8
33
+ string: '{"id":"51c619e0-0256-40ad-afba-ca4114b936f9","status":"released","short_reference":"20150504-SHKTFD","type":"bulk","conversion_ids":["9bb4a49b-f959-402f-8bb8-4463b18d93c7"],"entries":[{"USD":{"receive_amount":"0.00","send_amount":"1512.00"}},{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}}],"created_at":"2015-05-04T21:14:48+00:00","updated_at":"2015-05-04T21:44:23+00:00","released_at":"2015-05-04T21:44:23+00:00"}'
34
+ http_version:
35
+ recorded_at: Mon, 04 May 2015 21:50:54 GMT
36
+ - request:
37
+ method: post
38
+ uri: https://devapi.thecurrencycloud.com/v2/settlements/51c619e0-0256-40ad-afba-ca4114b936f9/unrelease
39
+ body:
40
+ encoding: US-ASCII
41
+ string: ''
42
+ headers:
43
+ X-Auth-Token:
44
+ - 6f5f99d1b860fc47e8a186e3dce0d3f9
45
+ response:
46
+ status:
47
+ code: 200
48
+ message: OK
49
+ headers:
50
+ Server:
51
+ - nginx
52
+ Date:
53
+ - Mon, 04 May 2015 21:51:51 GMT
54
+ Content-Type:
55
+ - application/json;charset=utf-8
56
+ Content-Length:
57
+ - '396'
58
+ Connection:
59
+ - keep-alive
60
+ X-Request-Id:
61
+ - '2778849575324579937'
62
+ X-Content-Type-Options:
63
+ - nosniff
64
+ body:
65
+ encoding: UTF-8
66
+ string: '{"id":"51c619e0-0256-40ad-afba-ca4114b936f9","status":"open","short_reference":"20150504-SHKTFD","type":"bulk","conversion_ids":["9bb4a49b-f959-402f-8bb8-4463b18d93c7"],"entries":[{"USD":{"receive_amount":"0.00","send_amount":"1512.00"}},{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}}],"created_at":"2015-05-04T21:14:48+00:00","updated_at":"2015-05-04T21:51:51+00:00","released_at":""}'
67
+ http_version:
68
+ recorded_at: Mon, 04 May 2015 21:51:51 GMT
69
+ recorded_with: VCR 2.9.3
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.5'
4
+ version: '0.7'
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: 2015-04-29 00:00:00.000000000 Z
12
+ date: 2015-05-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -108,7 +108,6 @@ files:
108
108
  - ".ruby-version"
109
109
  - ".travis.yml"
110
110
  - Gemfile
111
- - Gemfile.lock
112
111
  - Guardfile
113
112
  - LICENSE.md
114
113
  - README.md
@@ -121,9 +120,11 @@ files:
121
120
  - lib/currency_cloud/actions/delete.rb
122
121
  - lib/currency_cloud/actions/find.rb
123
122
  - lib/currency_cloud/actions/retrieve.rb
123
+ - lib/currency_cloud/actions/save.rb
124
124
  - lib/currency_cloud/actions/update.rb
125
125
  - lib/currency_cloud/errors/api_error.rb
126
- - lib/currency_cloud/errors/config_error.rb
126
+ - lib/currency_cloud/errors/error_utils.rb
127
+ - lib/currency_cloud/errors/general_error.rb
127
128
  - lib/currency_cloud/errors/unexpected_error.rb
128
129
  - lib/currency_cloud/pagination.rb
129
130
  - lib/currency_cloud/request_handler.rb
@@ -143,12 +144,15 @@ files:
143
144
  - lib/currency_cloud/response_handler.rb
144
145
  - lib/currency_cloud/session.rb
145
146
  - lib/currency_cloud/version.rb
147
+ - spec/currency_cloud/request_handler_spec.rb
148
+ - spec/currency_cloud/resource_spec.rb
146
149
  - spec/currency_cloud_spec.rb
147
150
  - spec/integration/actions_spec.rb
148
151
  - spec/integration/authentication_spec.rb
149
152
  - spec/integration/errors_spec.rb
150
153
  - spec/integration/rates_spec.rb
151
154
  - spec/integration/reference_spec.rb
155
+ - spec/integration/settlements_spec.rb
152
156
  - spec/spec_helper.rb
153
157
  - spec/support/vcr_cassettes/Actions/can_create.yml
154
158
  - spec/support/vcr_cassettes/Actions/can_current.yml
@@ -157,10 +161,13 @@ files:
157
161
  - spec/support/vcr_cassettes/Actions/can_first.yml
158
162
  - spec/support/vcr_cassettes/Actions/can_retrieve.yml
159
163
  - spec/support/vcr_cassettes/Actions/can_update.yml
164
+ - spec/support/vcr_cassettes/Actions/can_use_currency_to_retrieve_balance.yml
165
+ - spec/support/vcr_cassettes/Actions/can_validate_beneficiaries.yml
160
166
  - spec/support/vcr_cassettes/Authentication/can_be_closed.yml
161
167
  - spec/support/vcr_cassettes/Authentication/can_use_just_a_token.yml
162
168
  - spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml
163
169
  - spec/support/vcr_cassettes/Authentication/happens_lazily.yml
170
+ - spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml
164
171
  - spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml
165
172
  - spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml
166
173
  - spec/support/vcr_cassettes/Error/is_raised_on_an_internal_server_error.yml
@@ -173,6 +180,10 @@ files:
173
180
  - spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml
174
181
  - spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml
175
182
  - spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml
183
+ - spec/support/vcr_cassettes/Settlements/can_add_conversion.yml
184
+ - spec/support/vcr_cassettes/Settlements/can_release.yml
185
+ - spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml
186
+ - spec/support/vcr_cassettes/Settlements/can_unrelease.yml
176
187
  homepage: https://connect.currencycloud.com/documentation/getting-started/introduction
177
188
  licenses:
178
189
  - MIT
@@ -185,7 +196,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
196
  requirements:
186
197
  - - ">="
187
198
  - !ruby/object:Gem::Version
188
- version: '0'
199
+ version: '1.9'
189
200
  required_rubygems_version: !ruby/object:Gem::Requirement
190
201
  requirements:
191
202
  - - ">="
@@ -198,12 +209,15 @@ signing_key:
198
209
  specification_version: 4
199
210
  summary: Ruby SDK for the Currency Cloud API
200
211
  test_files:
212
+ - spec/currency_cloud/request_handler_spec.rb
213
+ - spec/currency_cloud/resource_spec.rb
201
214
  - spec/currency_cloud_spec.rb
202
215
  - spec/integration/actions_spec.rb
203
216
  - spec/integration/authentication_spec.rb
204
217
  - spec/integration/errors_spec.rb
205
218
  - spec/integration/rates_spec.rb
206
219
  - spec/integration/reference_spec.rb
220
+ - spec/integration/settlements_spec.rb
207
221
  - spec/spec_helper.rb
208
222
  - spec/support/vcr_cassettes/Actions/can_create.yml
209
223
  - spec/support/vcr_cassettes/Actions/can_current.yml
@@ -212,10 +226,13 @@ test_files:
212
226
  - spec/support/vcr_cassettes/Actions/can_first.yml
213
227
  - spec/support/vcr_cassettes/Actions/can_retrieve.yml
214
228
  - spec/support/vcr_cassettes/Actions/can_update.yml
229
+ - spec/support/vcr_cassettes/Actions/can_use_currency_to_retrieve_balance.yml
230
+ - spec/support/vcr_cassettes/Actions/can_validate_beneficiaries.yml
215
231
  - spec/support/vcr_cassettes/Authentication/can_be_closed.yml
216
232
  - spec/support/vcr_cassettes/Authentication/can_use_just_a_token.yml
217
233
  - spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml
218
234
  - spec/support/vcr_cassettes/Authentication/happens_lazily.yml
235
+ - spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml
219
236
  - spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml
220
237
  - spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml
221
238
  - spec/support/vcr_cassettes/Error/is_raised_on_an_internal_server_error.yml
@@ -228,3 +245,7 @@ test_files:
228
245
  - spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml
229
246
  - spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml
230
247
  - spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml
248
+ - spec/support/vcr_cassettes/Settlements/can_add_conversion.yml
249
+ - spec/support/vcr_cassettes/Settlements/can_release.yml
250
+ - spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml
251
+ - spec/support/vcr_cassettes/Settlements/can_unrelease.yml
@@ -1,99 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- currency_cloud (0.5)
5
- httparty (~> 0.13)
6
- json (~> 1.8)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- addressable (2.3.8)
12
- celluloid (0.16.0)
13
- timers (~> 4.0.0)
14
- coderay (1.1.0)
15
- crack (0.4.2)
16
- safe_yaml (~> 1.0.0)
17
- diff-lcs (1.2.5)
18
- ffi (1.9.8)
19
- formatador (0.2.5)
20
- guard (2.12.5)
21
- formatador (>= 0.2.4)
22
- listen (~> 2.7)
23
- lumberjack (~> 1.0)
24
- nenv (~> 0.1)
25
- notiffany (~> 0.0)
26
- pry (>= 0.9.12)
27
- shellany (~> 0.0)
28
- thor (>= 0.18.1)
29
- guard-compat (1.2.1)
30
- guard-rspec (4.5.0)
31
- guard (~> 2.1)
32
- guard-compat (~> 1.1)
33
- rspec (>= 2.99.0, < 4.0)
34
- hitimes (1.2.2)
35
- httparty (0.13.3)
36
- json (~> 1.8)
37
- multi_xml (>= 0.5.2)
38
- json (1.8.2)
39
- listen (2.10.0)
40
- celluloid (~> 0.16.0)
41
- rb-fsevent (>= 0.9.3)
42
- rb-inotify (>= 0.9)
43
- lumberjack (1.0.9)
44
- method_source (0.8.2)
45
- multi_xml (0.5.5)
46
- nenv (0.2.0)
47
- notiffany (0.0.6)
48
- nenv (~> 0.1)
49
- shellany (~> 0.0)
50
- pry (0.10.1)
51
- coderay (~> 1.1.0)
52
- method_source (~> 0.8.1)
53
- slop (~> 3.4)
54
- rack (1.6.0)
55
- rack-protection (1.5.3)
56
- rack
57
- rake (10.4.2)
58
- rb-fsevent (0.9.4)
59
- rb-inotify (0.9.5)
60
- ffi (>= 0.5.0)
61
- rspec (3.1.0)
62
- rspec-core (~> 3.1.0)
63
- rspec-expectations (~> 3.1.0)
64
- rspec-mocks (~> 3.1.0)
65
- rspec-core (3.1.7)
66
- rspec-support (~> 3.1.0)
67
- rspec-expectations (3.1.2)
68
- diff-lcs (>= 1.2.0, < 2.0)
69
- rspec-support (~> 3.1.0)
70
- rspec-mocks (3.1.3)
71
- rspec-support (~> 3.1.0)
72
- rspec-support (3.1.2)
73
- safe_yaml (1.0.4)
74
- shellany (0.0.1)
75
- sinatra (1.4.5)
76
- rack (~> 1.4)
77
- rack-protection (~> 1.4)
78
- tilt (~> 1.3, >= 1.3.4)
79
- slop (3.6.0)
80
- thor (0.19.1)
81
- tilt (1.4.1)
82
- timers (4.0.1)
83
- hitimes
84
- vcr (2.9.3)
85
- webmock (1.21.0)
86
- addressable (>= 2.3.6)
87
- crack (>= 0.3.2)
88
-
89
- PLATFORMS
90
- ruby
91
-
92
- DEPENDENCIES
93
- currency_cloud!
94
- guard-rspec
95
- rake (~> 10.3)
96
- rspec (~> 3.1)
97
- sinatra
98
- vcr (~> 2.9)
99
- webmock (~> 1.21)
@@ -1,5 +0,0 @@
1
- module CurrencyCloud
2
-
3
- class ConfigError < StandardError; end
4
-
5
- end