grape-swagger 1.3.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +14 -0
- data/.github/workflows/rubocop.yml +26 -0
- data/.github/workflows/ruby.yml +32 -0
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +12 -0
- data/README.md +14 -4
- data/UPGRADING.md +4 -0
- data/grape-swagger.gemspec +3 -3
- data/lib/grape-swagger/doc_methods/format_data.rb +1 -1
- data/lib/grape-swagger/doc_methods/parse_params.rb +6 -0
- data/lib/grape-swagger/endpoint.rb +9 -1
- data/lib/grape-swagger/errors.rb +2 -0
- data/lib/grape-swagger/model_parsers.rb +2 -2
- data/lib/grape-swagger/version.rb +1 -1
- data/spec/issues/776_multiple_presents_spec.rb +5 -2
- data/spec/lib/format_data_spec.rb +24 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/support/empty_model_parser.rb +2 -0
- data/spec/support/model_parsers/mock_parser.rb +16 -0
- data/spec/support/namespace_tags.rb +2 -0
- data/spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb +4 -2
- data/spec/swagger_v2/inheritance_and_discriminator_spec.rb +1 -0
- data/spec/swagger_v2/{params_array_collection_fromat_spec.rb → params_array_collection_format_spec.rb} +0 -0
- data/spec/swagger_v2/params_example_spec.rb +40 -0
- data/spec/swagger_v2/simple_mounted_api_spec.rb +2 -0
- metadata +13 -7
- data/.travis.yml +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fa0c33214a157ed16d147edc9813bbb6d745498947d211c2eff21ce86b023a6
|
4
|
+
data.tar.gz: 27c475b099a28f9b8610ded30906edf1a974825153348d8d590abba13688f29d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d01c3d660f905522d943bebf2e5a609231bba1938b0cc02c49908048a691a0f0f1baa184ec2fed63d8a72280a92f3aa208273ce64b2bada90b09725cff71b080
|
7
|
+
data.tar.gz: 1316664cfc4ec624311e891cd5c4bc106739bc3be9cb363bac02acccaa5e282a9fc1f9012ca590313fef8b74a5d6930a0afda371c05657b271e5ddfaf9e502d4
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
3
|
+
# Please see the documentation for all configuration options:
|
4
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
5
|
+
|
6
|
+
version: 2
|
7
|
+
updates:
|
8
|
+
- package-ecosystem: "bundler" # See documentation for possible values
|
9
|
+
directory: "/" # Location of package manifests
|
10
|
+
schedule:
|
11
|
+
interval: "weekly"
|
12
|
+
day: "friday"
|
13
|
+
assignees:
|
14
|
+
- "LeFnord"
|
@@ -0,0 +1,26 @@
|
|
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() }}
|
@@ -0,0 +1,32 @@
|
|
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']
|
17
|
+
grape-version: [1.5.3, 1.4.0, 1.3.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
|
31
|
+
- name: Run rubocop
|
32
|
+
run: bundle exec rubocop
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,18 @@
|
|
9
9
|
* Your contribution here.
|
10
10
|
|
11
11
|
|
12
|
+
### 1.4.0 (March 20, 2021)
|
13
|
+
|
14
|
+
#### Features
|
15
|
+
|
16
|
+
* [#818](https://github.com/ruby-grape/grape-swagger/pull/818): Adds ruby 3.0 support - [@LeFnord](https://github.com/LeFnord).
|
17
|
+
* [#815](https://github.com/ruby-grape/grape-swagger/pull/815): Add required for multiple presents - [@MaximeRDY](https://github.com/MaximeRDY).
|
18
|
+
|
19
|
+
#### Fixes
|
20
|
+
|
21
|
+
* [#822](https://github.com/ruby-grape/grape-swagger/pull/822): Corrected the related parameter lookup on request params - [@Jack12816](https://github.com/Jack12816).
|
22
|
+
|
23
|
+
|
12
24
|
### 1.3.1 (November 1, 2020)
|
13
25
|
|
14
26
|
#### Features
|
data/README.md
CHANGED
@@ -451,6 +451,7 @@ add_swagger_documentation \
|
|
451
451
|
* [Collection Format](#collection-format)
|
452
452
|
* [Hiding parameters](#hiding-parameters)
|
453
453
|
* [Setting a Swagger default value](#default-value)
|
454
|
+
* [Example parameter value](#param-example)
|
454
455
|
* [Response documentation](#response)
|
455
456
|
* [Changing default status codes](#change-status)
|
456
457
|
* [File response](#file-response)
|
@@ -769,8 +770,6 @@ params do
|
|
769
770
|
end
|
770
771
|
```
|
771
772
|
|
772
|
-
The example parameter will populate the Swagger UI with the example value, and can be used for optional or required parameters.
|
773
|
-
|
774
773
|
Grape uses the option `default` to set a default value for optional parameters. This is different in that Grape will set your parameter to the provided default if the parameter is omitted, whereas the example value above will only set the value in the UI itself. This will set the Swagger `defaultValue` to the provided value. Note that the example value will override the Grape default value.
|
775
774
|
|
776
775
|
```ruby
|
@@ -780,6 +779,16 @@ params do
|
|
780
779
|
end
|
781
780
|
```
|
782
781
|
|
782
|
+
#### Example parameter value <a name="param-example"></a>
|
783
|
+
|
784
|
+
The example parameter will populate the Swagger UI with the example value, and can be used for optional or required parameters.
|
785
|
+
|
786
|
+
```ruby
|
787
|
+
params do
|
788
|
+
requires :id, type: Integer, documentation: { example: 123 }
|
789
|
+
optional :name, type String, documentation: { example: 'Buddy Guy' }
|
790
|
+
end
|
791
|
+
```
|
783
792
|
|
784
793
|
#### Expose nested namespace as standalone route
|
785
794
|
|
@@ -1302,7 +1311,7 @@ You can also specify if the response is an array, with the `is_array` key:
|
|
1302
1311
|
desc 'Multiple response with array',
|
1303
1312
|
success: [
|
1304
1313
|
{ model: Entities::EnumValues, as: :gender },
|
1305
|
-
{ model: Entities::Something, as: :somethings, is_array: true }
|
1314
|
+
{ model: Entities::Something, as: :somethings, is_array: true, required: true }
|
1306
1315
|
]
|
1307
1316
|
end
|
1308
1317
|
|
@@ -1327,7 +1336,8 @@ The result will look like following:
|
|
1327
1336
|
"$ref":"#/definitions/Something"
|
1328
1337
|
}
|
1329
1338
|
}
|
1330
|
-
}
|
1339
|
+
},
|
1340
|
+
"required": ["somethings"]
|
1331
1341
|
}
|
1332
1342
|
}
|
1333
1343
|
}
|
data/UPGRADING.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
## Upgrading Grape-swagger
|
2
2
|
|
3
|
+
### Upgrading to >= 1.4.0
|
4
|
+
|
5
|
+
- Official support for ruby < 2.5 removed, ruby 2.5 only in testing mode, but no support.
|
6
|
+
|
3
7
|
### Upgrading to >= 1.3.0
|
4
8
|
|
5
9
|
- The model (entity) description no longer comes from the route description. It will have a default value: `<<EntityName>> model`.
|
data/grape-swagger.gemspec
CHANGED
@@ -7,13 +7,13 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.name = 'grape-swagger'
|
8
8
|
s.version = GrapeSwagger::VERSION
|
9
9
|
s.platform = Gem::Platform::RUBY
|
10
|
-
s.authors = ['Tim Vandecasteele']
|
11
|
-
s.email = ['tim.vandecasteele@gmail.com']
|
10
|
+
s.authors = ['LeFnord', 'Tim Vandecasteele']
|
11
|
+
s.email = ['pscholz.le@gmail.com', 'tim.vandecasteele@gmail.com']
|
12
12
|
s.homepage = 'https://github.com/ruby-grape/grape-swagger'
|
13
13
|
s.summary = 'Add auto generated documentation to your Grape API that can be displayed with Swagger.'
|
14
14
|
s.license = 'MIT'
|
15
15
|
|
16
|
-
s.required_ruby_version = '>= 2.
|
16
|
+
s.required_ruby_version = '>= 2.5'
|
17
17
|
s.add_runtime_dependency 'grape', '~> 1.3'
|
18
18
|
|
19
19
|
s.files = `git ls-files`.split("\n")
|
@@ -7,7 +7,7 @@ module GrapeSwagger
|
|
7
7
|
def to_format(parameters)
|
8
8
|
parameters.reject { |parameter| parameter[:in] == 'body' }.each do |b|
|
9
9
|
related_parameters = parameters.select do |p|
|
10
|
-
p[:name] != b[:name] && p[:name].to_s.
|
10
|
+
p[:name] != b[:name] && p[:name].to_s.start_with?("#{b[:name].to_s.gsub(/\[\]\z/, '')}[")
|
11
11
|
end
|
12
12
|
parameters.reject! { |p| p[:name] == b[:name] } if move_down(b, related_parameters)
|
13
13
|
end
|
@@ -27,6 +27,7 @@ module GrapeSwagger
|
|
27
27
|
document_required(settings)
|
28
28
|
document_additional_properties(settings)
|
29
29
|
document_add_extensions(settings)
|
30
|
+
document_example(settings)
|
30
31
|
|
31
32
|
@parsed_param
|
32
33
|
end
|
@@ -112,6 +113,11 @@ module GrapeSwagger
|
|
112
113
|
@parsed_param[:additionalProperties] = additional_properties if additional_properties
|
113
114
|
end
|
114
115
|
|
116
|
+
def document_example(settings)
|
117
|
+
example = settings[:example]
|
118
|
+
@parsed_param[:example] = example if example
|
119
|
+
end
|
120
|
+
|
115
121
|
def param_type(value_type)
|
116
122
|
param_type = value_type[:param_type] || value_type[:in]
|
117
123
|
if value_type[:path].include?("{#{value_type[:param_name]}}")
|
@@ -270,11 +270,18 @@ module Grape
|
|
270
270
|
def build_memo_schema(memo, route, value, response_model, options)
|
271
271
|
if memo[value[:code]][:schema] && value[:as]
|
272
272
|
memo[value[:code]][:schema][:properties].merge!(build_reference(route, value, response_model, options))
|
273
|
+
|
274
|
+
if value[:required]
|
275
|
+
memo[value[:code]][:schema][:required] ||= []
|
276
|
+
memo[value[:code]][:schema][:required] << value[:as].to_s
|
277
|
+
end
|
278
|
+
|
273
279
|
elsif value[:as]
|
274
280
|
memo[value[:code]][:schema] = {
|
275
281
|
type: :object,
|
276
282
|
properties: build_reference(route, value, response_model, options)
|
277
283
|
}
|
284
|
+
memo[value[:code]][:schema][:required] = [value[:as].to_s] if value[:required]
|
278
285
|
else
|
279
286
|
memo[value[:code]][:schema] = build_reference(route, value, response_model, options)
|
280
287
|
end
|
@@ -322,7 +329,7 @@ module Grape
|
|
322
329
|
end
|
323
330
|
|
324
331
|
def file_response?(value)
|
325
|
-
value.to_s.casecmp('file').zero?
|
332
|
+
value.to_s.casecmp('file').zero?
|
326
333
|
end
|
327
334
|
|
328
335
|
def build_file_response(memo)
|
@@ -413,6 +420,7 @@ module Grape
|
|
413
420
|
default_code[:headers] = entity[:headers] if entity[:headers]
|
414
421
|
default_code[:as] = entity[:as] if entity[:as]
|
415
422
|
default_code[:is_array] = entity[:is_array] if entity[:is_array]
|
423
|
+
default_code[:required] = entity[:required] if entity[:required]
|
416
424
|
else
|
417
425
|
default_code = GrapeSwagger::DocMethods::StatusCodes.get[route.request_method.downcase.to_sym]
|
418
426
|
default_code[:model] = entity if entity
|
data/lib/grape-swagger/errors.rb
CHANGED
@@ -16,14 +16,14 @@ module GrapeSwagger
|
|
16
16
|
subhash = @parsers.except(klass).to_a
|
17
17
|
insert_at = subhash.index(subhash.assoc(before_klass))
|
18
18
|
insert_at = subhash.length - 1 if insert_at.nil?
|
19
|
-
@parsers =
|
19
|
+
@parsers = subhash.insert(insert_at, [klass, ancestor]).to_h
|
20
20
|
end
|
21
21
|
|
22
22
|
def insert_after(after_klass, klass, ancestor)
|
23
23
|
subhash = @parsers.except(klass).to_a
|
24
24
|
insert_at = subhash.index(subhash.assoc(after_klass))
|
25
25
|
insert_at = subhash.length - 1 if insert_at.nil?
|
26
|
-
@parsers =
|
26
|
+
@parsers = subhash.insert(insert_at + 1, [klass, ancestor]).to_h
|
27
27
|
end
|
28
28
|
|
29
29
|
def each
|
@@ -11,7 +11,7 @@ describe '#776 multiple presents spec' do
|
|
11
11
|
desc 'Get multiple presents',
|
12
12
|
success: [
|
13
13
|
{ model: Entities::EnumValues, as: :gender },
|
14
|
-
{ model: Entities::Something, as: :somethings, is_array: true }
|
14
|
+
{ model: Entities::Something, as: :somethings, is_array: true, required: true }
|
15
15
|
]
|
16
16
|
|
17
17
|
get do
|
@@ -50,7 +50,10 @@ describe '#776 multiple presents spec' do
|
|
50
50
|
'$ref' => '#/definitions/EnumValues'
|
51
51
|
}
|
52
52
|
},
|
53
|
-
'type' => 'object'
|
53
|
+
'type' => 'object',
|
54
|
+
'required' => [
|
55
|
+
'somethings'
|
56
|
+
]
|
54
57
|
})
|
55
58
|
end
|
56
59
|
end
|
@@ -87,5 +87,29 @@ describe GrapeSwagger::DocMethods::FormatData do
|
|
87
87
|
expect(subject.to_format(params)).to eq expected_params
|
88
88
|
end
|
89
89
|
end
|
90
|
+
|
91
|
+
context 'when array params are not related' do
|
92
|
+
let(:params) do
|
93
|
+
[
|
94
|
+
{ name: 'id', required: true, type: 'string' },
|
95
|
+
{ name: 'description', required: false, type: 'string' },
|
96
|
+
{ name: 'ids[]', required: true, type: 'array', items: { type: 'string' } },
|
97
|
+
{ name: 'user_ids[]', required: true, type: 'array', items: { type: 'string' } }
|
98
|
+
]
|
99
|
+
end
|
100
|
+
|
101
|
+
let(:expected_params) do
|
102
|
+
[
|
103
|
+
{ name: 'id', required: true, type: 'string' },
|
104
|
+
{ name: 'description', required: false, type: 'string' },
|
105
|
+
{ name: 'ids[]', required: true, type: 'array', items: { type: 'string' } },
|
106
|
+
{ name: 'user_ids[]', required: true, type: 'array', items: { type: 'string' } }
|
107
|
+
]
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'parses params correctly and adds array type all concerned elements' do
|
111
|
+
expect(subject.to_format(params)).to eq expected_params
|
112
|
+
end
|
113
|
+
end
|
90
114
|
end
|
91
115
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -19,7 +19,7 @@ MODEL_PARSER = ENV.key?('MODEL_PARSER') ? ENV['MODEL_PARSER'].to_s.downcase.sub(
|
|
19
19
|
require 'grape'
|
20
20
|
require 'grape-swagger'
|
21
21
|
|
22
|
-
Dir[File.join(Dir.getwd, 'spec/support/*.rb')].
|
22
|
+
Dir[File.join(Dir.getwd, 'spec/support/*.rb')].each { |f| require f }
|
23
23
|
require "grape-swagger/#{MODEL_PARSER}" if MODEL_PARSER != 'mock'
|
24
24
|
require File.join(Dir.getwd, "spec/support/model_parsers/#{MODEL_PARSER}_parser.rb")
|
25
25
|
|
@@ -40,21 +40,37 @@ RSpec.shared_context 'mock swagger example' do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
class UseNestedWithAddress < OpenStruct; end
|
43
|
+
|
43
44
|
class TypedDefinition < OpenStruct; end
|
45
|
+
|
44
46
|
class UseItemResponseAsType < OpenStruct; end
|
47
|
+
|
45
48
|
class OtherItem < OpenStruct; end
|
49
|
+
|
46
50
|
class EnumValues < OpenStruct; end
|
51
|
+
|
47
52
|
class AliasedThing < OpenStruct; end
|
53
|
+
|
48
54
|
class FourthLevel < OpenStruct; end
|
55
|
+
|
49
56
|
class ThirdLevel < OpenStruct; end
|
57
|
+
|
50
58
|
class SecondLevel < OpenStruct; end
|
59
|
+
|
51
60
|
class FirstLevel < OpenStruct; end
|
61
|
+
|
52
62
|
class QueryInputElement < OpenStruct; end
|
63
|
+
|
53
64
|
class QueryInput < OpenStruct; end
|
65
|
+
|
54
66
|
class ApiError < OpenStruct; end
|
67
|
+
|
55
68
|
class SecondApiError < OpenStruct; end
|
69
|
+
|
56
70
|
class RecursiveModel < OpenStruct; end
|
71
|
+
|
57
72
|
class DocumentedHashAndArrayModel < OpenStruct; end
|
73
|
+
|
58
74
|
module NestedModule
|
59
75
|
class ApiResponse < OpenStruct; end
|
60
76
|
end
|
@@ -19,7 +19,8 @@ describe 'response with headers' do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
desc 'A 204 can have headers too' do
|
22
|
-
|
22
|
+
foo = { status: 204, message: 'No content', headers: { 'Location' => { description: 'Location of resource', type: 'string' } } }
|
23
|
+
success foo
|
23
24
|
failure [[400, 'Bad Request', Entities::ApiError, { 'application/json' => { code: 400, message: 'Bad request' } }, { 'Date' => { description: 'Date of failure', type: 'string' } }]]
|
24
25
|
end
|
25
26
|
delete '/no_content_response_headers' do
|
@@ -27,7 +28,8 @@ describe 'response with headers' do
|
|
27
28
|
end
|
28
29
|
|
29
30
|
desc 'A file can have headers too' do
|
30
|
-
|
31
|
+
foo = { status: 200, model: 'File', headers: { 'Cache-Control': { description: 'Directive for caching', type: 'string' } } }
|
32
|
+
success foo
|
31
33
|
failure [[404, 'NotFound', Entities::ApiError, { 'application/json' => { code: 404, message: 'Not found' } }, { 'Date' => { description: 'Date of failure', type: 'string' } }]]
|
32
34
|
end
|
33
35
|
get '/file_response_headers' do
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'Param example' do
|
6
|
+
def app
|
7
|
+
Class.new(Grape::API) do
|
8
|
+
format :json
|
9
|
+
|
10
|
+
params do
|
11
|
+
requires :id, type: Integer, documentation: { example: 123 }
|
12
|
+
optional :name, type: String, documentation: { example: 'Person' }
|
13
|
+
optional :obj, type: 'Object', documentation: { example: { 'foo' => 'bar' } }
|
14
|
+
end
|
15
|
+
|
16
|
+
get '/endpoint_with_examples' do
|
17
|
+
{ 'declared_params' => declared(params) }
|
18
|
+
end
|
19
|
+
|
20
|
+
add_swagger_documentation
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'documentation with parameter examples' do
|
25
|
+
subject do
|
26
|
+
get '/swagger_doc/endpoint_with_examples'
|
27
|
+
JSON.parse(last_response.body)
|
28
|
+
end
|
29
|
+
|
30
|
+
specify do
|
31
|
+
expect(subject['paths']['/endpoint_with_examples']['get']['parameters']).to eql(
|
32
|
+
[
|
33
|
+
{ 'in' => 'query', 'name' => 'id', 'type' => 'integer', 'example' => 123, 'format' => 'int32', 'required' => true },
|
34
|
+
{ 'in' => 'query', 'name' => 'name', 'type' => 'string', 'example' => 'Person', 'required' => false },
|
35
|
+
{ 'in' => 'query', 'name' => 'obj', 'type' => 'Object', 'example' => { 'foo' => 'bar' }, 'required' => false }
|
36
|
+
]
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-swagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- LeFnord
|
7
8
|
- Tim Vandecasteele
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-03-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: grape
|
@@ -26,18 +27,21 @@ dependencies:
|
|
26
27
|
version: '1.3'
|
27
28
|
description:
|
28
29
|
email:
|
30
|
+
- pscholz.le@gmail.com
|
29
31
|
- tim.vandecasteele@gmail.com
|
30
32
|
executables: []
|
31
33
|
extensions: []
|
32
34
|
extra_rdoc_files: []
|
33
35
|
files:
|
34
36
|
- ".coveralls.yml"
|
37
|
+
- ".github/dependabot.yml"
|
38
|
+
- ".github/workflows/rubocop.yml"
|
39
|
+
- ".github/workflows/ruby.yml"
|
35
40
|
- ".gitignore"
|
36
41
|
- ".rspec"
|
37
42
|
- ".rubocop.yml"
|
38
43
|
- ".rubocop_todo.yml"
|
39
44
|
- ".ruby-gemset"
|
40
|
-
- ".travis.yml"
|
41
45
|
- CHANGELOG.md
|
42
46
|
- CONTRIBUTING.md
|
43
47
|
- Dangerfile
|
@@ -170,8 +174,9 @@ files:
|
|
170
174
|
- spec/swagger_v2/param_multi_type_spec.rb
|
171
175
|
- spec/swagger_v2/param_type_spec.rb
|
172
176
|
- spec/swagger_v2/param_values_spec.rb
|
173
|
-
- spec/swagger_v2/
|
177
|
+
- spec/swagger_v2/params_array_collection_format_spec.rb
|
174
178
|
- spec/swagger_v2/params_array_spec.rb
|
179
|
+
- spec/swagger_v2/params_example_spec.rb
|
175
180
|
- spec/swagger_v2/params_hash_spec.rb
|
176
181
|
- spec/swagger_v2/params_nested_spec.rb
|
177
182
|
- spec/swagger_v2/parent_less_namespace_spec.rb
|
@@ -191,14 +196,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
191
196
|
requirements:
|
192
197
|
- - ">="
|
193
198
|
- !ruby/object:Gem::Version
|
194
|
-
version: '2.
|
199
|
+
version: '2.5'
|
195
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
201
|
requirements:
|
197
202
|
- - ">="
|
198
203
|
- !ruby/object:Gem::Version
|
199
204
|
version: '0'
|
200
205
|
requirements: []
|
201
|
-
rubygems_version: 3.
|
206
|
+
rubygems_version: 3.2.3
|
202
207
|
signing_key:
|
203
208
|
specification_version: 4
|
204
209
|
summary: Add auto generated documentation to your Grape API that can be displayed
|
@@ -297,8 +302,9 @@ test_files:
|
|
297
302
|
- spec/swagger_v2/param_multi_type_spec.rb
|
298
303
|
- spec/swagger_v2/param_type_spec.rb
|
299
304
|
- spec/swagger_v2/param_values_spec.rb
|
300
|
-
- spec/swagger_v2/
|
305
|
+
- spec/swagger_v2/params_array_collection_format_spec.rb
|
301
306
|
- spec/swagger_v2/params_array_spec.rb
|
307
|
+
- spec/swagger_v2/params_example_spec.rb
|
302
308
|
- spec/swagger_v2/params_hash_spec.rb
|
303
309
|
- spec/swagger_v2/params_nested_spec.rb
|
304
310
|
- spec/swagger_v2/parent_less_namespace_spec.rb
|
data/.travis.yml
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
os: linux
|
4
|
-
|
5
|
-
before_install:
|
6
|
-
- gem install bundler
|
7
|
-
|
8
|
-
after_success:
|
9
|
-
- bundle exec danger
|
10
|
-
|
11
|
-
rvm:
|
12
|
-
- 2.5.8
|
13
|
-
- 2.6.6
|
14
|
-
- 2.7.2
|
15
|
-
env:
|
16
|
-
- GRAPE_VERSION=1.3.3
|
17
|
-
- GRAPE_VERSION=1.4.0
|
18
|
-
- GRAPE_VERSION=1.5.0 MODEL_PARSER=grape-swagger-entity
|
19
|
-
- GRAPE_VERSION=1.5.0 MODEL_PARSER=grape-swagger-representable
|
20
|
-
- GRAPE_VERSION=1.5.0
|
21
|
-
- GRAPE_VERSION=HEAD
|
22
|
-
|
23
|
-
jobs:
|
24
|
-
fast_finish: true
|
25
|
-
|
26
|
-
include:
|
27
|
-
- rvm: 2.4.10
|
28
|
-
env:
|
29
|
-
- rvm: ruby-head
|
30
|
-
env:
|
31
|
-
- rvm: jruby-head
|
32
|
-
env:
|
33
|
-
- rvm: truffleruby-head
|
34
|
-
env:
|
35
|
-
script: bundle exec rake spec
|
36
|
-
|
37
|
-
allow_failures:
|
38
|
-
- rvm: 2.4.10
|
39
|
-
- rvm: ruby-head
|
40
|
-
- rvm: jruby-head
|
41
|
-
- rvm: truffleruby-head
|