grape-swagger 1.0.0 → 1.3.1

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +94 -1
  3. data/.rubocop_todo.yml +1 -1
  4. data/.travis.yml +14 -8
  5. data/CHANGELOG.md +56 -6
  6. data/Gemfile +9 -4
  7. data/README.md +191 -12
  8. data/UPGRADING.md +34 -0
  9. data/grape-swagger.gemspec +1 -1
  10. data/lib/grape-swagger.rb +7 -4
  11. data/lib/grape-swagger/doc_methods.rb +65 -62
  12. data/lib/grape-swagger/doc_methods/build_model_definition.rb +53 -2
  13. data/lib/grape-swagger/doc_methods/data_type.rb +5 -5
  14. data/lib/grape-swagger/doc_methods/format_data.rb +2 -2
  15. data/lib/grape-swagger/doc_methods/operation_id.rb +2 -2
  16. data/lib/grape-swagger/doc_methods/parse_params.rb +19 -4
  17. data/lib/grape-swagger/endpoint.rb +73 -31
  18. data/lib/grape-swagger/rake/oapi_tasks.rb +12 -2
  19. data/lib/grape-swagger/version.rb +1 -1
  20. data/spec/issues/427_entity_as_string_spec.rb +1 -1
  21. data/spec/issues/430_entity_definitions_spec.rb +7 -5
  22. data/spec/issues/537_enum_values_spec.rb +1 -0
  23. data/spec/issues/776_multiple_presents_spec.rb +56 -0
  24. data/spec/issues/784_extensions_on_params_spec.rb +38 -0
  25. data/spec/issues/809_utf8_routes_spec.rb +55 -0
  26. data/spec/lib/data_type_spec.rb +12 -0
  27. data/spec/lib/move_params_spec.rb +2 -2
  28. data/spec/lib/oapi_tasks_spec.rb +15 -5
  29. data/spec/support/empty_model_parser.rb +1 -2
  30. data/spec/support/mock_parser.rb +1 -2
  31. data/spec/support/model_parsers/entity_parser.rb +8 -8
  32. data/spec/support/model_parsers/mock_parser.rb +8 -8
  33. data/spec/support/model_parsers/representable_parser.rb +8 -8
  34. data/spec/support/namespace_tags.rb +1 -0
  35. data/spec/swagger_v2/api_swagger_v2_hide_param_spec.rb +1 -1
  36. data/spec/swagger_v2/api_swagger_v2_mounted_spec.rb +1 -0
  37. data/spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb +2 -2
  38. data/spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb +53 -0
  39. data/spec/swagger_v2/api_swagger_v2_spec.rb +1 -0
  40. data/spec/swagger_v2/boolean_params_spec.rb +1 -0
  41. data/spec/swagger_v2/float_api_spec.rb +1 -0
  42. data/spec/swagger_v2/inheritance_and_discriminator_spec.rb +56 -0
  43. data/spec/swagger_v2/namespace_tags_prefix_spec.rb +1 -0
  44. data/spec/swagger_v2/param_multi_type_spec.rb +2 -0
  45. data/spec/swagger_v2/param_type_spec.rb +3 -0
  46. data/spec/swagger_v2/param_values_spec.rb +6 -0
  47. data/spec/swagger_v2/reference_entity_spec.rb +74 -29
  48. data/spec/swagger_v2/security_requirement_spec.rb +2 -2
  49. data/spec/swagger_v2/simple_mounted_api_spec.rb +1 -0
  50. metadata +19 -9
@@ -5,7 +5,7 @@ require 'spec_helper'
5
5
  describe 'security requirement on endpoint method' do
6
6
  def app
7
7
  Class.new(Grape::API) do
8
- desc 'Endpoint with security requirement', security: [oauth_pets: ['read:pets', 'write:pets']]
8
+ desc 'Endpoint with security requirement', security: [{ oauth_pets: ['read:pets', 'write:pets'] }]
9
9
  get '/with_security' do
10
10
  { foo: 'bar' }
11
11
  end
@@ -37,7 +37,7 @@ describe 'security requirement on endpoint method' do
37
37
  end
38
38
 
39
39
  it 'defines the security requirement on the endpoint method' do
40
- expect(subject['paths']['/with_security']['get']['security']).to eql ['oauth_pets' => ['read:pets', 'write:pets']]
40
+ expect(subject['paths']['/with_security']['get']['security']).to eql [{ 'oauth_pets' => ['read:pets', 'write:pets'] }]
41
41
  end
42
42
 
43
43
  it 'defines an empty security requirement on the endpoint method' do
@@ -9,6 +9,7 @@ describe 'a simple mounted api' do
9
9
  class SimpleMountedApi < Grape::API
10
10
  desc 'Document root'
11
11
  get do
12
+ { message: 'hi' }
12
13
  end
13
14
 
14
15
  desc 'This gets something.',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-swagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Vandecasteele
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-09 00:00:00.000000000 Z
11
+ date: 2020-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grape
@@ -16,15 +16,15 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.0
19
+ version: '1.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.0
27
- description:
26
+ version: '1.3'
27
+ description:
28
28
  email:
29
29
  - tim.vandecasteele@gmail.com
30
30
  executables: []
@@ -95,6 +95,9 @@ files:
95
95
  - spec/issues/650_params_array_spec.rb
96
96
  - spec/issues/680_keep_204_error_schemas_spec.rb
97
97
  - spec/issues/751_deeply_nested_objects_spec.rb
98
+ - spec/issues/776_multiple_presents_spec.rb
99
+ - spec/issues/784_extensions_on_params_spec.rb
100
+ - spec/issues/809_utf8_routes_spec.rb
98
101
  - spec/lib/data_type_spec.rb
99
102
  - spec/lib/endpoint/params_parser_spec.rb
100
103
  - spec/lib/endpoint_spec.rb
@@ -139,6 +142,7 @@ files:
139
142
  - spec/swagger_v2/api_swagger_v2_response_spec.rb
140
143
  - spec/swagger_v2/api_swagger_v2_response_with_examples_spec.rb
141
144
  - spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb
145
+ - spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb
142
146
  - spec/swagger_v2/api_swagger_v2_response_with_root_spec.rb
143
147
  - spec/swagger_v2/api_swagger_v2_spec.rb
144
148
  - spec/swagger_v2/api_swagger_v2_status_codes_spec.rb
@@ -155,6 +159,7 @@ files:
155
159
  - spec/swagger_v2/guarded_endpoint_spec.rb
156
160
  - spec/swagger_v2/hide_api_spec.rb
157
161
  - spec/swagger_v2/host_spec.rb
162
+ - spec/swagger_v2/inheritance_and_discriminator_spec.rb
158
163
  - spec/swagger_v2/mount_override_api_spec.rb
159
164
  - spec/swagger_v2/mounted_target_class_spec.rb
160
165
  - spec/swagger_v2/namespace_tags_prefix_spec.rb
@@ -178,7 +183,7 @@ homepage: https://github.com/ruby-grape/grape-swagger
178
183
  licenses:
179
184
  - MIT
180
185
  metadata: {}
181
- post_install_message:
186
+ post_install_message:
182
187
  rdoc_options: []
183
188
  require_paths:
184
189
  - lib
@@ -193,8 +198,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
198
  - !ruby/object:Gem::Version
194
199
  version: '0'
195
200
  requirements: []
196
- rubygems_version: 3.1.2
197
- signing_key:
201
+ rubygems_version: 3.1.4
202
+ signing_key:
198
203
  specification_version: 4
199
204
  summary: Add auto generated documentation to your Grape API that can be displayed
200
205
  with Swagger.
@@ -217,6 +222,9 @@ test_files:
217
222
  - spec/issues/650_params_array_spec.rb
218
223
  - spec/issues/680_keep_204_error_schemas_spec.rb
219
224
  - spec/issues/751_deeply_nested_objects_spec.rb
225
+ - spec/issues/776_multiple_presents_spec.rb
226
+ - spec/issues/784_extensions_on_params_spec.rb
227
+ - spec/issues/809_utf8_routes_spec.rb
220
228
  - spec/lib/data_type_spec.rb
221
229
  - spec/lib/endpoint/params_parser_spec.rb
222
230
  - spec/lib/endpoint_spec.rb
@@ -261,6 +269,7 @@ test_files:
261
269
  - spec/swagger_v2/api_swagger_v2_response_spec.rb
262
270
  - spec/swagger_v2/api_swagger_v2_response_with_examples_spec.rb
263
271
  - spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb
272
+ - spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb
264
273
  - spec/swagger_v2/api_swagger_v2_response_with_root_spec.rb
265
274
  - spec/swagger_v2/api_swagger_v2_spec.rb
266
275
  - spec/swagger_v2/api_swagger_v2_status_codes_spec.rb
@@ -277,6 +286,7 @@ test_files:
277
286
  - spec/swagger_v2/guarded_endpoint_spec.rb
278
287
  - spec/swagger_v2/hide_api_spec.rb
279
288
  - spec/swagger_v2/host_spec.rb
289
+ - spec/swagger_v2/inheritance_and_discriminator_spec.rb
280
290
  - spec/swagger_v2/mount_override_api_spec.rb
281
291
  - spec/swagger_v2/mounted_target_class_spec.rb
282
292
  - spec/swagger_v2/namespace_tags_prefix_spec.rb