grape-swagger 1.0.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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