grape-swagger 1.4.2 → 1.6.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/ci.yml +45 -0
  4. data/.rubocop.yml +8 -1
  5. data/.rubocop_todo.yml +31 -11
  6. data/CHANGELOG.md +41 -1
  7. data/CONTRIBUTING.md +1 -1
  8. data/Gemfile +6 -5
  9. data/README.md +73 -8
  10. data/UPGRADING.md +11 -0
  11. data/example/config.ru +2 -2
  12. data/grape-swagger.gemspec +3 -2
  13. data/lib/grape-swagger/doc_methods/build_model_definition.rb +1 -20
  14. data/lib/grape-swagger/doc_methods/move_params.rb +7 -8
  15. data/lib/grape-swagger/doc_methods/parse_params.rb +3 -1
  16. data/lib/grape-swagger/endpoint.rb +49 -6
  17. data/lib/grape-swagger/rake/oapi_tasks.rb +37 -17
  18. data/lib/grape-swagger/version.rb +1 -1
  19. data/lib/grape-swagger.rb +2 -2
  20. data/spec/issues/579_align_put_post_parameters_spec.rb +5 -5
  21. data/spec/issues/677_consumes_produces_add_swagger_documentation_options_spec.rb +100 -0
  22. data/spec/issues/751_deeply_nested_objects_spec.rb +2 -2
  23. data/spec/issues/847_route_param_options_spec.rb +37 -0
  24. data/spec/lib/move_params_spec.rb +55 -41
  25. data/spec/lib/oapi_tasks_spec.rb +17 -10
  26. data/spec/spec_helper.rb +0 -4
  27. data/spec/swagger_v2/api_documentation_spec.rb +1 -15
  28. data/spec/swagger_v2/api_swagger_v2_additional_properties_spec.rb +1 -1
  29. data/spec/swagger_v2/api_swagger_v2_param_type_body_nested_spec.rb +7 -7
  30. data/spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb +7 -7
  31. data/spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb +4 -2
  32. data/spec/swagger_v2/param_values_spec.rb +1 -1
  33. metadata +10 -114
  34. data/.github/workflows/rubocop.yml +0 -26
  35. data/.github/workflows/ruby.yml +0 -30
  36. data/.ruby-gemset +0 -1
@@ -37,7 +37,7 @@ describe 'parsing additional_parameters' do
37
37
  specify do
38
38
  expect(subject.dig('paths', '/things', 'post', 'parameters')).to eql(
39
39
  [
40
- { 'name' => 'Things', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postThings' } }
40
+ { 'name' => 'postThings', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postThings' } }
41
41
  ]
42
42
  )
43
43
  end
@@ -136,7 +136,7 @@ describe 'moving body/formData Params to definitions' do
136
136
  specify do
137
137
  expect(subject['paths']['/simple_nested_params/in_body']['post']['parameters']).to eql(
138
138
  [
139
- { 'name' => 'SimpleNestedParamsInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postSimpleNestedParamsInBody' } }
139
+ { 'name' => 'postSimpleNestedParamsInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postSimpleNestedParamsInBody' } }
140
140
  ]
141
141
  )
142
142
  end
@@ -177,13 +177,13 @@ describe 'moving body/formData Params to definitions' do
177
177
  expect(subject['paths']['/simple_nested_params/in_body/{id}']['put']['parameters']).to eql(
178
178
  [
179
179
  { 'in' => 'path', 'name' => 'id', 'type' => 'integer', 'format' => 'int32', 'required' => true },
180
- { 'name' => 'SimpleNestedParamsInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putSimpleNestedParamsInBody' } }
180
+ { 'name' => 'putSimpleNestedParamsInBodyId', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putSimpleNestedParamsInBodyId' } }
181
181
  ]
182
182
  )
183
183
  end
184
184
 
185
185
  specify do
186
- expect(subject['definitions']['putSimpleNestedParamsInBody']).to eql(
186
+ expect(subject['definitions']['putSimpleNestedParamsInBodyId']).to eql(
187
187
  'type' => 'object',
188
188
  'properties' => {
189
189
  'name' => { 'type' => 'string', 'description' => 'name' },
@@ -214,7 +214,7 @@ describe 'moving body/formData Params to definitions' do
214
214
  expect(subject['paths']['/multiple_nested_params/in_body']['post']['parameters']).to eql(
215
215
  [
216
216
  {
217
- 'name' => 'MultipleNestedParamsInBody',
217
+ 'name' => 'postMultipleNestedParamsInBody',
218
218
  'in' => 'body',
219
219
  'required' => true,
220
220
  'schema' => { '$ref' => '#/definitions/postMultipleNestedParamsInBody' }
@@ -267,13 +267,13 @@ describe 'moving body/formData Params to definitions' do
267
267
  expect(subject['paths']['/multiple_nested_params/in_body/{id}']['put']['parameters']).to eql(
268
268
  [
269
269
  { 'in' => 'path', 'name' => 'id', 'type' => 'integer', 'format' => 'int32', 'required' => true },
270
- { 'name' => 'MultipleNestedParamsInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putMultipleNestedParamsInBody' } }
270
+ { 'name' => 'putMultipleNestedParamsInBodyId', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putMultipleNestedParamsInBodyId' } }
271
271
  ]
272
272
  )
273
273
  end
274
274
 
275
275
  specify do
276
- expect(subject['definitions']['putMultipleNestedParamsInBody']).to eql(
276
+ expect(subject['definitions']['putMultipleNestedParamsInBodyId']).to eql(
277
277
  'type' => 'object',
278
278
  'properties' => {
279
279
  'name' => { 'type' => 'string', 'description' => 'name' },
@@ -313,7 +313,7 @@ describe 'moving body/formData Params to definitions' do
313
313
  specify do
314
314
  expect(subject['paths']['/nested_params_array/in_body']['post']['parameters']).to eql(
315
315
  [
316
- { 'name' => 'NestedParamsArrayInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postNestedParamsArrayInBody' } }
316
+ { 'name' => 'postNestedParamsArrayInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postNestedParamsArrayInBody' } }
317
317
  ]
318
318
  )
319
319
  end
@@ -85,7 +85,7 @@ describe 'setting of param type, such as `query`, `path`, `formData`, `body`, `h
85
85
  specify do
86
86
  expect(subject['paths']['/wo_entities/in_body']['post']['parameters']).to eql(
87
87
  [
88
- { 'name' => 'WoEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postWoEntitiesInBody' } }
88
+ { 'name' => 'postWoEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postWoEntitiesInBody' } }
89
89
  ]
90
90
  )
91
91
  end
@@ -107,13 +107,13 @@ describe 'setting of param type, such as `query`, `path`, `formData`, `body`, `h
107
107
  expect(subject['paths']['/wo_entities/in_body/{key}']['put']['parameters']).to eql(
108
108
  [
109
109
  { 'in' => 'path', 'name' => 'key', 'type' => 'integer', 'format' => 'int32', 'required' => true },
110
- { 'name' => 'WoEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putWoEntitiesInBody' } }
110
+ { 'name' => 'putWoEntitiesInBodyKey', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putWoEntitiesInBodyKey' } }
111
111
  ]
112
112
  )
113
113
  end
114
114
 
115
115
  specify do
116
- expect(subject['definitions']['putWoEntitiesInBody']).to eql(
116
+ expect(subject['definitions']['putWoEntitiesInBodyKey']).to eql(
117
117
  'description' => 'put in body /wo entity',
118
118
  'type' => 'object',
119
119
  'properties' => {
@@ -134,7 +134,7 @@ describe 'setting of param type, such as `query`, `path`, `formData`, `body`, `h
134
134
  specify do
135
135
  expect(subject['paths']['/with_entities/in_body']['post']['parameters']).to eql(
136
136
  [
137
- { 'name' => 'WithEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postWithEntitiesInBody' } }
137
+ { 'name' => 'postWithEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/postWithEntitiesInBody' } }
138
138
  ]
139
139
  )
140
140
  end
@@ -154,13 +154,13 @@ describe 'setting of param type, such as `query`, `path`, `formData`, `body`, `h
154
154
  expect(subject['paths']['/with_entities/in_body/{id}']['put']['parameters']).to eql(
155
155
  [
156
156
  { 'in' => 'path', 'name' => 'id', 'type' => 'integer', 'format' => 'int32', 'required' => true },
157
- { 'name' => 'WithEntitiesInBody', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putWithEntitiesInBody' } }
157
+ { 'name' => 'putWithEntitiesInBodyId', 'in' => 'body', 'required' => true, 'schema' => { '$ref' => '#/definitions/putWithEntitiesInBodyId' } }
158
158
  ]
159
159
  )
160
160
  end
161
161
 
162
162
  specify do
163
- expect(subject['definitions']['putWithEntitiesInBody']).to eql(
163
+ expect(subject['definitions']['putWithEntitiesInBodyId']).to eql(
164
164
  'type' => 'object',
165
165
  'properties' => {
166
166
  'name' => { 'type' => 'string', 'description' => 'name' }
@@ -174,7 +174,7 @@ describe 'setting of param type, such as `query`, `path`, `formData`, `body`, `h
174
174
  let(:request_parameters_definition) do
175
175
  [
176
176
  {
177
- 'name' => 'WithEntityParam',
177
+ 'name' => 'postWithEntityParam',
178
178
  'in' => 'body',
179
179
  'required' => true,
180
180
  'schema' => {
@@ -15,7 +15,8 @@ describe 'response' do
15
15
  failure: [
16
16
  { code: 400, message: 'NotFound', model: '' },
17
17
  { code: 404, message: 'BadRequest', model: Entities::ApiError }
18
- ]
18
+ ],
19
+ default_response: { message: 'Error', model: Entities::ApiError }
19
20
  get '/use-response' do
20
21
  { 'declared_params' => declared(params) }
21
22
  end
@@ -42,7 +43,8 @@ describe 'response' do
42
43
  'responses' => {
43
44
  '200' => { 'description' => 'This returns something', 'schema' => { '$ref' => '#/definitions/UseResponse' } },
44
45
  '400' => { 'description' => 'NotFound' },
45
- '404' => { 'description' => 'BadRequest', 'schema' => { '$ref' => '#/definitions/ApiError' } }
46
+ '404' => { 'description' => 'BadRequest', 'schema' => { '$ref' => '#/definitions/ApiError' } },
47
+ 'default' => { 'description' => 'Error', 'schema' => { '$ref' => '#/definitions/ApiError' } }
46
48
  },
47
49
  'tags' => ['use-response'],
48
50
  'operationId' => 'getUseResponse'
@@ -141,7 +141,7 @@ describe 'Convert values to enum for float range and not arrays inside a proc',
141
141
  'name' => 'letter',
142
142
  'type' => 'string',
143
143
  'required' => true,
144
- 'enum' => 'string'
144
+ 'enum' => %w[string]
145
145
  }]
146
146
  end
147
147
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-swagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LeFnord
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-10-22 00:00:00.000000000 Z
12
+ date: 2023-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: grape
@@ -35,13 +35,11 @@ extra_rdoc_files: []
35
35
  files:
36
36
  - ".coveralls.yml"
37
37
  - ".github/dependabot.yml"
38
- - ".github/workflows/rubocop.yml"
39
- - ".github/workflows/ruby.yml"
38
+ - ".github/workflows/ci.yml"
40
39
  - ".gitignore"
41
40
  - ".rspec"
42
41
  - ".rubocop.yml"
43
42
  - ".rubocop_todo.yml"
44
- - ".ruby-gemset"
45
43
  - CHANGELOG.md
46
44
  - CONTRIBUTING.md
47
45
  - Dangerfile
@@ -97,12 +95,14 @@ files:
97
95
  - spec/issues/587_range_parameter_delimited_by_dash_spec.rb
98
96
  - spec/issues/605_root_route_documentation_spec.rb
99
97
  - spec/issues/650_params_array_spec.rb
98
+ - spec/issues/677_consumes_produces_add_swagger_documentation_options_spec.rb
100
99
  - spec/issues/680_keep_204_error_schemas_spec.rb
101
100
  - spec/issues/751_deeply_nested_objects_spec.rb
102
101
  - spec/issues/776_multiple_presents_spec.rb
103
102
  - spec/issues/784_extensions_on_params_spec.rb
104
103
  - spec/issues/809_utf8_routes_spec.rb
105
104
  - spec/issues/832_array_hash_float_decimal_spec.rb
105
+ - spec/issues/847_route_param_options_spec.rb
106
106
  - spec/lib/data_type_spec.rb
107
107
  - spec/lib/endpoint/params_parser_spec.rb
108
108
  - spec/lib/endpoint_spec.rb
@@ -189,7 +189,8 @@ files:
189
189
  homepage: https://github.com/ruby-grape/grape-swagger
190
190
  licenses:
191
191
  - MIT
192
- metadata: {}
192
+ metadata:
193
+ rubygems_mfa_required: 'true'
193
194
  post_install_message:
194
195
  rdoc_options: []
195
196
  require_paths:
@@ -198,121 +199,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
198
199
  requirements:
199
200
  - - ">="
200
201
  - !ruby/object:Gem::Version
201
- version: '2.5'
202
+ version: '2.7'
202
203
  required_rubygems_version: !ruby/object:Gem::Requirement
203
204
  requirements:
204
205
  - - ">="
205
206
  - !ruby/object:Gem::Version
206
207
  version: '0'
207
208
  requirements: []
208
- rubygems_version: 3.2.22
209
+ rubygems_version: 3.4.7
209
210
  signing_key:
210
211
  specification_version: 4
211
212
  summary: Add auto generated documentation to your Grape API that can be displayed
212
213
  with Swagger.
213
- test_files:
214
- - spec/issues/267_nested_namespaces.rb
215
- - spec/issues/403_versions_spec.rb
216
- - spec/issues/427_entity_as_string_spec.rb
217
- - spec/issues/430_entity_definitions_spec.rb
218
- - spec/issues/532_allow_custom_format_spec.rb
219
- - spec/issues/533_specify_status_code_spec.rb
220
- - spec/issues/537_enum_values_spec.rb
221
- - spec/issues/539_array_post_body_spec.rb
222
- - spec/issues/542_array_of_type_in_post_body_spec.rb
223
- - spec/issues/553_align_array_put_post_params_spec.rb
224
- - spec/issues/572_array_post_body_spec.rb
225
- - spec/issues/579_align_put_post_parameters_spec.rb
226
- - spec/issues/582_file_response_spec.rb
227
- - spec/issues/587_range_parameter_delimited_by_dash_spec.rb
228
- - spec/issues/605_root_route_documentation_spec.rb
229
- - spec/issues/650_params_array_spec.rb
230
- - spec/issues/680_keep_204_error_schemas_spec.rb
231
- - spec/issues/751_deeply_nested_objects_spec.rb
232
- - spec/issues/776_multiple_presents_spec.rb
233
- - spec/issues/784_extensions_on_params_spec.rb
234
- - spec/issues/809_utf8_routes_spec.rb
235
- - spec/issues/832_array_hash_float_decimal_spec.rb
236
- - spec/lib/data_type_spec.rb
237
- - spec/lib/endpoint/params_parser_spec.rb
238
- - spec/lib/endpoint_spec.rb
239
- - spec/lib/extensions_spec.rb
240
- - spec/lib/format_data_spec.rb
241
- - spec/lib/model_parsers_spec.rb
242
- - spec/lib/move_params_spec.rb
243
- - spec/lib/oapi_tasks_spec.rb
244
- - spec/lib/operation_id_spec.rb
245
- - spec/lib/optional_object_spec.rb
246
- - spec/lib/parse_params_spec.rb
247
- - spec/lib/path_string_spec.rb
248
- - spec/lib/produces_consumes_spec.rb
249
- - spec/lib/tag_name_description_spec.rb
250
- - spec/lib/version_spec.rb
251
- - spec/spec_helper.rb
252
- - spec/support/empty_model_parser.rb
253
- - spec/support/grape_version.rb
254
- - spec/support/mock_parser.rb
255
- - spec/support/model_parsers/entity_parser.rb
256
- - spec/support/model_parsers/mock_parser.rb
257
- - spec/support/model_parsers/representable_parser.rb
258
- - spec/support/namespace_tags.rb
259
- - spec/support/the_paths_definitions.rb
260
- - spec/swagger_v2/api_documentation_spec.rb
261
- - spec/swagger_v2/api_swagger_v2_additional_properties_spec.rb
262
- - spec/swagger_v2/api_swagger_v2_body_definitions_spec.rb
263
- - spec/swagger_v2/api_swagger_v2_definitions-models_spec.rb
264
- - spec/swagger_v2/api_swagger_v2_detail_spec.rb
265
- - spec/swagger_v2/api_swagger_v2_extensions_spec.rb
266
- - spec/swagger_v2/api_swagger_v2_format-content_type_spec.rb
267
- - spec/swagger_v2/api_swagger_v2_global_configuration_spec.rb
268
- - spec/swagger_v2/api_swagger_v2_hash_and_array_spec.rb
269
- - spec/swagger_v2/api_swagger_v2_headers_spec.rb
270
- - spec/swagger_v2/api_swagger_v2_hide_documentation_path_spec.rb
271
- - spec/swagger_v2/api_swagger_v2_hide_param_spec.rb
272
- - spec/swagger_v2/api_swagger_v2_ignore_defaults_spec.rb
273
- - spec/swagger_v2/api_swagger_v2_mounted_spec.rb
274
- - spec/swagger_v2/api_swagger_v2_param_type_body_nested_spec.rb
275
- - spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb
276
- - spec/swagger_v2/api_swagger_v2_param_type_spec.rb
277
- - spec/swagger_v2/api_swagger_v2_request_params_fix_spec.rb
278
- - spec/swagger_v2/api_swagger_v2_response_spec.rb
279
- - spec/swagger_v2/api_swagger_v2_response_with_examples_spec.rb
280
- - spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb
281
- - spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb
282
- - spec/swagger_v2/api_swagger_v2_response_with_root_spec.rb
283
- - spec/swagger_v2/api_swagger_v2_spec.rb
284
- - spec/swagger_v2/api_swagger_v2_status_codes_spec.rb
285
- - spec/swagger_v2/api_swagger_v2_type-format_spec.rb
286
- - spec/swagger_v2/boolean_params_spec.rb
287
- - spec/swagger_v2/default_api_spec.rb
288
- - spec/swagger_v2/deprecated_field_spec.rb
289
- - spec/swagger_v2/description_not_initialized_spec.rb
290
- - spec/swagger_v2/endpoint_versioned_path_spec.rb
291
- - spec/swagger_v2/errors_spec.rb
292
- - spec/swagger_v2/float_api_spec.rb
293
- - spec/swagger_v2/form_params_spec.rb
294
- - spec/swagger_v2/grape-swagger_spec.rb
295
- - spec/swagger_v2/guarded_endpoint_spec.rb
296
- - spec/swagger_v2/hide_api_spec.rb
297
- - spec/swagger_v2/host_spec.rb
298
- - spec/swagger_v2/inheritance_and_discriminator_spec.rb
299
- - spec/swagger_v2/mount_override_api_spec.rb
300
- - spec/swagger_v2/mounted_target_class_spec.rb
301
- - spec/swagger_v2/namespace_tags_prefix_spec.rb
302
- - spec/swagger_v2/namespace_tags_spec.rb
303
- - spec/swagger_v2/namespaced_api_spec.rb
304
- - spec/swagger_v2/nicknamed_api_spec.rb
305
- - spec/swagger_v2/operation_id_api_spec.rb
306
- - spec/swagger_v2/param_multi_type_spec.rb
307
- - spec/swagger_v2/param_type_spec.rb
308
- - spec/swagger_v2/param_values_spec.rb
309
- - spec/swagger_v2/params_array_collection_format_spec.rb
310
- - spec/swagger_v2/params_array_spec.rb
311
- - spec/swagger_v2/params_example_spec.rb
312
- - spec/swagger_v2/params_hash_spec.rb
313
- - spec/swagger_v2/params_nested_spec.rb
314
- - spec/swagger_v2/parent_less_namespace_spec.rb
315
- - spec/swagger_v2/reference_entity_spec.rb
316
- - spec/swagger_v2/security_requirement_spec.rb
317
- - spec/swagger_v2/simple_mounted_api_spec.rb
318
- - spec/version_spec.rb
214
+ test_files: []
@@ -1,26 +0,0 @@
1
- name: Rubocop
2
-
3
- on:
4
- push:
5
- branches:
6
- - '*'
7
- pull_request:
8
- branches:
9
- - '*'
10
-
11
- jobs:
12
- rubocop:
13
- name: Rubocop
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: actions/setup-ruby@v1
18
- with:
19
- ruby-version: '3.0'
20
- - run: gem install rubocop --no-doc
21
- - run: rubocop --format progress --format json --out rubocop.json
22
- id: rubocop
23
- - uses: duderman/rubocop-annotate-action@v0.1.0
24
- with:
25
- path: rubocop.json
26
- if: ${{ failure() }}
@@ -1,30 +0,0 @@
1
- name: Ruby
2
-
3
- on:
4
- push:
5
- branches:
6
- - '*'
7
- pull_request:
8
- branches:
9
- - '*'
10
-
11
- jobs:
12
- rspec:
13
- runs-on: ubuntu-latest
14
- strategy:
15
- matrix:
16
- ruby-version: ['2.6', '2.7', '3.0', 'head']
17
- grape-version: [1.6.0, 1.5.3]
18
- model-parser: [grape-swagger-entity, grape-swagger-representable, '']
19
-
20
- steps:
21
- - uses: actions/checkout@v2
22
- - name: Set up Ruby
23
- uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
24
- with:
25
- ruby-version: ${{ matrix.ruby-version }}
26
- GRAPE_VERSION: ${{ matrix.grape-version }}
27
- MODEL_PARSER: ${{ matrix.model-parser }}
28
- bundler-cache: true
29
- - name: Run rspec
30
- run: bundle exec rspec
data/.ruby-gemset DELETED
@@ -1 +0,0 @@
1
- grape-swagger