my_api_client 0.14.0.pre → 0.14.0
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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +90 -35
- data/.envrc.skeleton +1 -0
- data/.rubocop.yml +5 -1
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +10 -1
- data/Gemfile.lock +6 -6
- data/example/api_clients/application_api_client.rb +21 -0
- data/example/api_clients/my_error_api_client.rb +34 -0
- data/example/api_clients/my_errors.rb +27 -0
- data/example/api_clients/my_rest_api_client.rb +42 -0
- data/example/api_clients/my_status_api_client.rb +22 -0
- data/lib/my_api_client/rspec/matchers/request_to.rb +3 -4
- data/lib/my_api_client/version.rb +1 -1
- data/my_api/.envrc.skeleton +3 -0
- data/my_api/.gitignore +14 -0
- data/my_api/.jetskeep +1 -0
- data/my_api/.rspec +3 -0
- data/my_api/.ruby-version +1 -0
- data/my_api/Gemfile +23 -0
- data/my_api/Gemfile.lock +243 -0
- data/my_api/Procfile +7 -0
- data/my_api/README.md +48 -0
- data/my_api/Rakefile +4 -0
- data/my_api/app/controllers/application_controller.rb +5 -0
- data/my_api/app/controllers/error_controller.rb +21 -0
- data/my_api/app/controllers/rest_controller.rb +60 -0
- data/my_api/app/controllers/status_controller.rb +11 -0
- data/my_api/app/helpers/application_helper.rb +5 -0
- data/my_api/app/jobs/application_job.rb +7 -0
- data/my_api/app/models/application_item.rb +5 -0
- data/my_api/config.ru +7 -0
- data/my_api/config/application.rb +73 -0
- data/my_api/config/dynamodb.yml +22 -0
- data/my_api/config/environments/development.rb +9 -0
- data/my_api/config/environments/production.rb +11 -0
- data/my_api/config/environments/test.rb +9 -0
- data/my_api/config/routes.rb +16 -0
- data/my_api/db/.gitkeep +0 -0
- data/my_api/public/404.html +67 -0
- data/my_api/public/422.html +67 -0
- data/my_api/public/500.html +66 -0
- data/my_api/public/favicon.ico +0 -0
- data/my_api/public/index.html +91 -0
- data/my_api/spec/controllers/error_controller_spec.rb +43 -0
- data/my_api/spec/controllers/rest_controller_spec.rb +81 -0
- data/my_api/spec/controllers/status_controller_spec.rb +47 -0
- data/my_api/spec/fixtures/payloads/posts-index.json +51 -0
- data/my_api/spec/fixtures/payloads/posts-show.json +53 -0
- data/my_api/spec/spec_helper.rb +26 -0
- metadata +45 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0b010bd5bb4ef7d0b3a99c826fefc67bedf5e9f51bcfd7779dc618c2b9a4f58
|
4
|
+
data.tar.gz: 4806eb56f7556728fc848c7e54408a127393a921a29e248a9d32ba950b4f3ef3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bc2efb59de265f84c727ce67e9717fff724251136ffe7159a0a61151d335bb476386649e23ef5bb8a9982e387bebd53c58064817517fdac855bd9ac3fc4d6e8
|
7
|
+
data.tar.gz: f0db303e86287d71099d0c0e29024663013cf4c44dffac1ac1d9c2a18113b34a4d5a1e9a6d3a4824833d1bb413a875deb0a45bb2f2becb25d4119d1028a1d10c
|
data/.circleci/config.yml
CHANGED
@@ -25,7 +25,13 @@ references:
|
|
25
25
|
default: ''
|
26
26
|
|
27
27
|
executors:
|
28
|
-
|
28
|
+
executor_for_api:
|
29
|
+
parameters:
|
30
|
+
<<: *ruby_version
|
31
|
+
docker:
|
32
|
+
- image: circleci/ruby:<< parameters.ruby_version >>-node-browsers
|
33
|
+
working_directory: ~/repo/my_api
|
34
|
+
executor_for_gem:
|
29
35
|
parameters:
|
30
36
|
<<: *ruby_version
|
31
37
|
docker:
|
@@ -41,8 +47,28 @@ commands:
|
|
41
47
|
- run: |
|
42
48
|
cp gemfiles/rails_<< parameters.rails_version >>.gemfile Gemfile
|
43
49
|
bundle update activesupport
|
44
|
-
|
45
|
-
description: Run RSpec
|
50
|
+
run_rspec_for_api:
|
51
|
+
description: Run RSpec for the API
|
52
|
+
steps:
|
53
|
+
- run:
|
54
|
+
name: Execute RSpec
|
55
|
+
command: |
|
56
|
+
bundle exec rspec --format documentation \
|
57
|
+
--color \
|
58
|
+
--format RspecJunitFormatter
|
59
|
+
deploy_api_server:
|
60
|
+
description: Deploy the API server on the AWS
|
61
|
+
steps:
|
62
|
+
- run:
|
63
|
+
name: Install RSync
|
64
|
+
command: sudo apt-get install -y rsync
|
65
|
+
- run:
|
66
|
+
# This command is not currently work. It could't reference uploaded gem file.
|
67
|
+
# You can execute `$ bundle exec jets deploy` on your local.
|
68
|
+
name: Deploy the API server with jets
|
69
|
+
command: JETS_AGREE=yes bundle exec jets deploy
|
70
|
+
run_rspec_for_gem:
|
71
|
+
description: Run RSpec for the gem
|
46
72
|
steps:
|
47
73
|
- code-climate/install
|
48
74
|
- run:
|
@@ -114,40 +140,57 @@ commands:
|
|
114
140
|
<<: *ruby_version
|
115
141
|
<<: *bundler_options
|
116
142
|
steps:
|
117
|
-
- checkout
|
143
|
+
- checkout:
|
144
|
+
path: ~/repo
|
118
145
|
- run:
|
119
146
|
name: Install Bundler 2.x
|
120
147
|
command: gem install bundler:2.1.2
|
121
148
|
- ruby-orbs/bundle-install:
|
122
149
|
cache_key_prefix: v1-dependencies-<< parameters.ruby_version >>
|
123
150
|
bundle_extra_args: << parameters.bundler_options >>
|
124
|
-
|
151
|
+
restore_bundled_with: false
|
152
|
+
test_and_deploy_for_api:
|
153
|
+
description: Build the API
|
154
|
+
steps:
|
155
|
+
- run_rspec_for_api
|
156
|
+
- deploy_api_server
|
157
|
+
test_and_build_for_gem:
|
125
158
|
description: Build the RubyGem
|
126
159
|
parameters:
|
127
160
|
<<: *rails_version
|
128
161
|
steps:
|
129
162
|
- modify_active_support_version:
|
130
163
|
rails_version: << parameters.rails_version >>
|
131
|
-
-
|
164
|
+
- run_rspec_for_gem
|
132
165
|
- rake_build
|
133
166
|
|
134
167
|
jobs:
|
135
|
-
|
168
|
+
deploy_api:
|
169
|
+
parameters:
|
170
|
+
<<: *ruby_version
|
171
|
+
executor:
|
172
|
+
name: executor_for_api
|
173
|
+
ruby_version: << parameters.ruby_version >>
|
174
|
+
steps:
|
175
|
+
- setup:
|
176
|
+
ruby_version: << parameters.ruby_version >>
|
177
|
+
- test_and_deploy_for_api
|
178
|
+
build_gem:
|
136
179
|
parameters:
|
137
180
|
<<: *ruby_version
|
138
181
|
<<: *rails_version
|
139
182
|
<<: *bundler_options
|
140
183
|
executor:
|
141
|
-
name:
|
184
|
+
name: executor_for_gem
|
142
185
|
ruby_version: << parameters.ruby_version >>
|
143
186
|
steps:
|
144
187
|
- setup:
|
145
188
|
ruby_version: << parameters.ruby_version >>
|
146
189
|
bundler_options: << parameters.bundler_options >>
|
147
|
-
-
|
190
|
+
- test_and_build_for_gem:
|
148
191
|
rails_version: << parameters.rails_version >>
|
149
192
|
upload-coverage:
|
150
|
-
executor:
|
193
|
+
executor: executor_for_gem
|
151
194
|
steps:
|
152
195
|
- attach_workspace:
|
153
196
|
at: ~/repo
|
@@ -157,22 +200,22 @@ jobs:
|
|
157
200
|
parts: 19
|
158
201
|
- code-climate/upload-coverage
|
159
202
|
rubocop:
|
160
|
-
executor:
|
203
|
+
executor: executor_for_gem
|
161
204
|
steps:
|
162
205
|
- setup
|
163
206
|
- rubocop
|
164
207
|
yardoc:
|
165
|
-
executor:
|
208
|
+
executor: executor_for_gem
|
166
209
|
steps:
|
167
210
|
- setup
|
168
211
|
- yardoc
|
169
212
|
rubocop_challenge:
|
170
|
-
executor:
|
213
|
+
executor: executor_for_gem
|
171
214
|
steps:
|
172
215
|
- checkout
|
173
216
|
- rubocop_challenge
|
174
217
|
release:
|
175
|
-
executor:
|
218
|
+
executor: executor_for_gem
|
176
219
|
steps:
|
177
220
|
- setup
|
178
221
|
- release
|
@@ -182,80 +225,80 @@ workflows:
|
|
182
225
|
|
183
226
|
commit:
|
184
227
|
jobs:
|
185
|
-
-
|
228
|
+
- build_gem:
|
186
229
|
name: build_on_ruby_2.4_and_rails_4.2
|
187
230
|
ruby_version: '2.4'
|
188
231
|
rails_version: '4.2'
|
189
|
-
-
|
232
|
+
- build_gem:
|
190
233
|
name: build_on_ruby_2.4_and_rails_5.0
|
191
234
|
ruby_version: '2.4'
|
192
235
|
rails_version: '5.0'
|
193
|
-
-
|
236
|
+
- build_gem:
|
194
237
|
name: build_on_ruby_2.4_and_rails_5.1
|
195
238
|
ruby_version: '2.4'
|
196
239
|
rails_version: '5.1'
|
197
|
-
-
|
240
|
+
- build_gem:
|
198
241
|
name: build_on_ruby_2.4_and_rails_5.2
|
199
242
|
ruby_version: '2.4'
|
200
243
|
rails_version: '5.2'
|
201
|
-
-
|
244
|
+
- build_gem:
|
202
245
|
name: build_on_ruby_2.5_and_rails_4.2
|
203
246
|
ruby_version: '2.5'
|
204
247
|
rails_version: '4.2'
|
205
|
-
-
|
248
|
+
- build_gem:
|
206
249
|
name: build_on_ruby_2.5_and_rails_5.0
|
207
250
|
ruby_version: '2.5'
|
208
251
|
rails_version: '5.0'
|
209
|
-
-
|
252
|
+
- build_gem:
|
210
253
|
name: build_on_ruby_2.5_and_rails_5.1
|
211
254
|
ruby_version: '2.5'
|
212
255
|
rails_version: '5.1'
|
213
|
-
-
|
256
|
+
- build_gem:
|
214
257
|
name: build_on_ruby_2.5_and_rails_5.2
|
215
258
|
ruby_version: '2.5'
|
216
259
|
rails_version: '5.2'
|
217
|
-
-
|
260
|
+
- build_gem:
|
218
261
|
name: build_on_ruby_2.5_and_rails_6.0
|
219
262
|
ruby_version: '2.5'
|
220
263
|
rails_version: '6.0'
|
221
|
-
-
|
264
|
+
- build_gem:
|
222
265
|
name: build_on_ruby_2.6_and_rails_4.2
|
223
266
|
ruby_version: '2.6'
|
224
267
|
rails_version: '4.2'
|
225
|
-
-
|
268
|
+
- build_gem:
|
226
269
|
name: build_on_ruby_2.6_and_rails_5.0
|
227
270
|
ruby_version: '2.6'
|
228
271
|
rails_version: '5.0'
|
229
|
-
-
|
272
|
+
- build_gem:
|
230
273
|
name: build_on_ruby_2.6_and_rails_5.1
|
231
274
|
ruby_version: '2.6'
|
232
275
|
rails_version: '5.1'
|
233
|
-
-
|
276
|
+
- build_gem:
|
234
277
|
name: build_on_ruby_2.6_and_rails_5.2
|
235
278
|
ruby_version: '2.6'
|
236
279
|
rails_version: '5.2'
|
237
|
-
-
|
280
|
+
- build_gem:
|
238
281
|
name: build_on_ruby_2.6_and_rails_6.0
|
239
282
|
ruby_version: '2.6'
|
240
283
|
rails_version: '6.0'
|
241
|
-
-
|
284
|
+
- build_gem:
|
242
285
|
name: build_on_ruby_2.7_and_rails_5.0
|
243
286
|
ruby_version: '2.7'
|
244
287
|
rails_version: '5.0'
|
245
|
-
-
|
288
|
+
- build_gem:
|
246
289
|
name: build_on_ruby_2.7_and_rails_5.1
|
247
290
|
ruby_version: '2.7'
|
248
291
|
rails_version: '5.1'
|
249
|
-
-
|
292
|
+
- build_gem:
|
250
293
|
name: build_on_ruby_2.7_and_rails_5.2
|
251
294
|
ruby_version: '2.7'
|
252
295
|
rails_version: '5.2'
|
253
|
-
-
|
296
|
+
- build_gem:
|
254
297
|
name: build_on_ruby_2.7_and_rails_6.0_with_integrations
|
255
298
|
ruby_version: '2.7'
|
256
299
|
rails_version: '6.0'
|
257
300
|
bundler_options: '--with integrations'
|
258
|
-
-
|
301
|
+
- build_gem:
|
259
302
|
name: build_on_ruby_2.7_and_rails_6.0_without_integrations
|
260
303
|
ruby_version: '2.7'
|
261
304
|
rails_version: '6.0'
|
@@ -317,11 +360,23 @@ workflows:
|
|
317
360
|
cron: "30 23 * * *" # 8:30am every day (JST)
|
318
361
|
filters:
|
319
362
|
branches:
|
320
|
-
only:
|
321
|
-
- master
|
363
|
+
only: [master]
|
322
364
|
jobs:
|
323
365
|
- rubocop_challenge
|
324
366
|
|
367
|
+
# deploy_api_server:
|
368
|
+
# triggers:
|
369
|
+
# - schedule:
|
370
|
+
# cron: "0 12 * * *" # 3:00am every day (JST)
|
371
|
+
# filters:
|
372
|
+
# branches:
|
373
|
+
# only: [master]
|
374
|
+
# jobs:
|
375
|
+
# - deploy_api:
|
376
|
+
# ruby_version: '2.5'
|
377
|
+
# - build_gem:
|
378
|
+
# requires: [deploy_api]
|
379
|
+
|
325
380
|
experimental:
|
326
381
|
notify:
|
327
382
|
branches:
|
data/.envrc.skeleton
CHANGED
data/.rubocop.yml
CHANGED
@@ -9,19 +9,22 @@ AllCops:
|
|
9
9
|
|
10
10
|
Layout/LineLength:
|
11
11
|
Max: 100
|
12
|
+
Exclude:
|
13
|
+
- my_api/config/application.rb
|
12
14
|
|
13
15
|
Metrics/BlockLength:
|
14
16
|
Exclude:
|
15
17
|
- 'my_api_client.gemspec'
|
16
18
|
- 'lib/my_api_client/rspec/matchers/**/*'
|
17
19
|
- 'spec/**/*'
|
20
|
+
- 'my_api/spec/**/*'
|
18
21
|
|
19
22
|
Metrics/MethodLength:
|
20
23
|
Max: 15
|
21
24
|
|
22
25
|
Naming/AccessorMethodName:
|
23
26
|
Exclude:
|
24
|
-
-
|
27
|
+
- example/api_clients/**/*
|
25
28
|
- spec/lib/my_api_client/rspec/matchers/be_handled_as_an_error_spec.rb
|
26
29
|
|
27
30
|
Style/TrailingCommaInArrayLiteral:
|
@@ -32,6 +35,7 @@ Style/TrailingCommaInHashLiteral:
|
|
32
35
|
|
33
36
|
RSpec/DescribeClass:
|
34
37
|
Exclude:
|
38
|
+
- 'spec/integrations/api_clients/**/*'
|
35
39
|
- 'spec/lib/my_api_client/rspec/matchers/**/*'
|
36
40
|
|
37
41
|
RSpec/ExampleLength:
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2020-02-
|
3
|
+
# on 2020-02-29 23:30:46 +0000 using RuboCop version 0.80.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
-
## v0.14.0
|
3
|
+
## v0.14.0 (Mar 14, 2020)
|
4
|
+
|
5
|
+
### Feature
|
6
|
+
|
7
|
+
* [#211](https://github.com/ryz310/my_api_client/pull/211) Integration testing using the jets framework ([@ryz310](https://github.com/ryz310))
|
8
|
+
* [#213](https://github.com/ryz310/my_api_client/pull/213) Add status API to integration testing ([@ryz310](https://github.com/ryz310))
|
9
|
+
* [#214](https://github.com/ryz310/my_api_client/pull/214) Add error API to integration testing ([@ryz310](https://github.com/ryz310))
|
10
|
+
* [#215](https://github.com/ryz310/my_api_client/pull/215) Update the REST API to enhance integration testing ([@ryz310](https://github.com/ryz310))
|
4
11
|
|
5
12
|
### Refactoring
|
6
13
|
|
@@ -60,6 +67,7 @@
|
|
60
67
|
### Rubocop Challenge
|
61
68
|
|
62
69
|
* [#205](https://github.com/ryz310/my_api_client/pull/205) Re-generate .rubocop_todo.yml with RuboCop v0.80.0 ([@ryz310](https://github.com/ryz310))
|
70
|
+
* [#210](https://github.com/ryz310/my_api_client/pull/210) Re-generate .rubocop_todo.yml with RuboCop v0.80.1 ([@ryz310](https://github.com/ryz310))
|
63
71
|
|
64
72
|
### Dependabot
|
65
73
|
|
@@ -68,6 +76,7 @@
|
|
68
76
|
* [#194](https://github.com/ryz310/my_api_client/pull/194) Bump bugsnag from 6.12.2 to 6.13.0 ([@ryz310](https://github.com/ryz310))
|
69
77
|
* [#197](https://github.com/ryz310/my_api_client/pull/197) Bump webmock from 3.8.0 to 3.8.1 ([@ryz310](https://github.com/ryz310))
|
70
78
|
* [#199](https://github.com/ryz310/my_api_client/pull/199) Bump webmock from 3.8.1 to 3.8.2 ([@ryz310](https://github.com/ryz310))
|
79
|
+
* [#216](https://github.com/ryz310/my_api_client/pull/216) Bump webmock from 3.8.2 to 3.8.3 ([@ryz310](https://github.com/ryz310))
|
71
80
|
|
72
81
|
### Renovate
|
73
82
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
my_api_client (0.14.0
|
4
|
+
my_api_client (0.14.0)
|
5
5
|
activesupport (>= 4.2.0)
|
6
6
|
faraday (>= 0.17.1)
|
7
7
|
jsonpath
|
@@ -29,7 +29,7 @@ GEM
|
|
29
29
|
docile (1.3.2)
|
30
30
|
faraday (1.0.0)
|
31
31
|
multipart-post (>= 1.2, < 3)
|
32
|
-
hashdiff (1.0.
|
32
|
+
hashdiff (1.0.1)
|
33
33
|
i18n (1.8.2)
|
34
34
|
concurrent-ruby (~> 1.0)
|
35
35
|
jaro_winkler (1.5.4)
|
@@ -42,7 +42,7 @@ GEM
|
|
42
42
|
multi_json (1.14.1)
|
43
43
|
multipart-post (2.1.1)
|
44
44
|
parallel (1.19.1)
|
45
|
-
parser (2.7.0.
|
45
|
+
parser (2.7.0.4)
|
46
46
|
ast (~> 2.4.0)
|
47
47
|
pry (0.12.2)
|
48
48
|
coderay (~> 1.1.0)
|
@@ -60,7 +60,7 @@ GEM
|
|
60
60
|
rspec-mocks (~> 3.9.0)
|
61
61
|
rspec-core (3.9.1)
|
62
62
|
rspec-support (~> 3.9.1)
|
63
|
-
rspec-expectations (3.9.
|
63
|
+
rspec-expectations (3.9.1)
|
64
64
|
diff-lcs (>= 1.2.0, < 2.0)
|
65
65
|
rspec-support (~> 3.9.0)
|
66
66
|
rspec-mocks (3.9.1)
|
@@ -69,7 +69,7 @@ GEM
|
|
69
69
|
rspec-support (3.9.2)
|
70
70
|
rspec_junit_formatter (0.4.1)
|
71
71
|
rspec-core (>= 2, < 4, != 2.12.0)
|
72
|
-
rubocop (0.80.
|
72
|
+
rubocop (0.80.1)
|
73
73
|
jaro_winkler (~> 1.5.1)
|
74
74
|
parallel (~> 1.10)
|
75
75
|
parser (>= 2.7.0.1)
|
@@ -96,7 +96,7 @@ GEM
|
|
96
96
|
tzinfo (1.2.6)
|
97
97
|
thread_safe (~> 0.1)
|
98
98
|
unicode-display_width (1.6.1)
|
99
|
-
webmock (3.8.
|
99
|
+
webmock (3.8.3)
|
100
100
|
addressable (>= 2.3.6)
|
101
101
|
crack (>= 0.3.2)
|
102
102
|
hashdiff (>= 0.4.0, < 2.0.0)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'my_errors'
|
4
|
+
|
5
|
+
# An usage example of the `my_api_client`.
|
6
|
+
class ApplicationApiClient < MyApiClient::Base
|
7
|
+
endpoint ENV['MY_API_ENDPOINT']
|
8
|
+
|
9
|
+
self.logger = ::Logger.new(nil)
|
10
|
+
|
11
|
+
http_open_timeout 2.seconds
|
12
|
+
http_read_timeout 3.seconds
|
13
|
+
|
14
|
+
retry_on MyApiClient::NetworkError, wait: 0.seconds, attempts: 3
|
15
|
+
|
16
|
+
error_handling status_code: 400..499, raise: MyApiClient::ClientError
|
17
|
+
error_handling status_code: 500..599 do |params, logger|
|
18
|
+
logger.warn 'Server error occurred.'
|
19
|
+
raise MyApiClient::ServerError, params
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'application_api_client'
|
4
|
+
|
5
|
+
# An usage example of the `my_api_client`.
|
6
|
+
# See also: my_api/app/controllers/status_controller.rb
|
7
|
+
class MyErrorApiClient < ApplicationApiClient
|
8
|
+
error_handling json: { '$.error.message': /You requested error code/ },
|
9
|
+
raise: MyErrors::ErrorCodeOther
|
10
|
+
|
11
|
+
error_handling json: { '$.error.code': :zero? },
|
12
|
+
raise: MyErrors::ErrorCode00
|
13
|
+
|
14
|
+
error_handling json: { '$.error.code': 10 },
|
15
|
+
raise: MyErrors::ErrorCode10
|
16
|
+
|
17
|
+
error_handling json: { '$.error.code': 20..29 },
|
18
|
+
raise: MyErrors::ErrorCode2x
|
19
|
+
|
20
|
+
error_handling json: { '$.error.code': 30 },
|
21
|
+
status_code: 400,
|
22
|
+
raise: MyErrors::ErrorCode30
|
23
|
+
|
24
|
+
# GET error/:code
|
25
|
+
def get_error(code:)
|
26
|
+
get "error/#{code}", headers: headers
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def headers
|
32
|
+
{ 'Content-Type': 'application/json;charset=UTF-8' }
|
33
|
+
end
|
34
|
+
end
|