grape-swagger-rails 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/head.yml +32 -0
- data/.github/workflows/rubocop.yml +14 -0
- data/.github/workflows/test.yml +11 -19
- data/.rubocop.yml +7 -2
- data/.rubocop_todo.yml +78 -125
- data/CHANGELOG.md +9 -0
- data/Dangerfile +2 -0
- data/Gemfile +8 -7
- data/README.md +2 -1
- data/Rakefile +5 -9
- data/app/assets/config/grape_swagger_rails_manifest.js +2 -0
- data/app/controllers/grape_swagger_rails/application_controller.rb +4 -2
- data/app/views/grape_swagger_rails/application/index.html.erb +1 -1
- data/config/routes.rb +2 -0
- data/grape-swagger-rails.gemspec +10 -4
- data/lib/grape-swagger-rails/engine.rb +2 -0
- data/lib/grape-swagger-rails/version.rb +3 -1
- data/lib/grape-swagger-rails.rb +17 -14
- data/lib/script/rails +4 -2
- data/lib/tasks/swagger_ui.rake +6 -3
- data/spec/dummy/Rakefile +6 -3
- data/spec/dummy/app/api/api.rb +2 -0
- data/spec/dummy/app/assets/config/manifest.js +3 -4
- data/spec/dummy/app/assets/javascripts/application.js +0 -2
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/app/controllers/welcome_controller.rb +3 -2
- data/spec/dummy/app/views/layouts/application.html.erb +1 -0
- data/spec/dummy/bin/rails +3 -5
- data/spec/dummy/bin/rake +2 -4
- data/spec/dummy/bin/setup +27 -0
- data/spec/dummy/config/application.rb +11 -10
- data/spec/dummy/config/boot.rb +4 -7
- data/spec/dummy/config/environment.rb +6 -2
- data/spec/dummy/config/environments/development.rb +40 -19
- data/spec/dummy/config/environments/production.rb +31 -31
- data/spec/dummy/config/environments/test.rb +30 -20
- data/spec/dummy/config/initializers/assets.rb +13 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +10 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/swagger.rb +2 -0
- data/spec/dummy/config/routes.rb +2 -0
- data/spec/dummy/config.ru +6 -2
- data/spec/dummy/public/404.html +6 -6
- data/spec/dummy/public/422.html +6 -6
- data/spec/dummy/public/500.html +6 -6
- data/spec/features/grape-swagger-rails_spec.rb +5 -1
- data/spec/features/swagger_spec.rb +97 -35
- data/spec/features/welcome_spec.rb +3 -0
- data/spec/spec_helper.rb +4 -2
- data/spec/support/capybara.rb +2 -0
- data/spec/support/rails.rb +2 -0
- metadata +16 -56
- data/spec/dummy/bin/bundle +0 -3
- data/spec/dummy/bin/spring +0 -18
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -1
- data/spec/dummy/config/initializers/session_store.rb +0 -1
- data/spec/dummy/vendor/assets/javascripts/.keep +0 -0
- data/spec/dummy/vendor/assets/stylesheets/.keep +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4c9588b4ccf8e66253f11a742506fc512c9a70d4d0f32c8ec72db06bdc47af5
|
4
|
+
data.tar.gz: 3148cee4aad16dced2e22f6f8639e6daa1c3190fcb46c9bc1627cdc385861d9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91b7f33ff1190d15f16937087ca698a94e2daf43aed206b80821bbc879d1cdeac98e7fe151d1a5414fa50ae649adaa293d87ac0fd06135540903159ff8ed0e98
|
7
|
+
data.tar.gz: 69968abc92dc53117812b3901cb98baa72036496005fc5ba65fc7b759eb9a0e40536af7bbcd0f4cced9567a7e7687b53144bb18599731554569fd0f2f4938f50
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: Tests (HEAD)
|
2
|
+
on: [pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
continue-on-error: true
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
entry:
|
11
|
+
- { ruby: "3.2", grape-swagger: "HEAD" }
|
12
|
+
- { ruby: "ruby-head", grape-swagger: "HEAD" }
|
13
|
+
- { ruby: "jruby-head", grape-swagger: "HEAD" }
|
14
|
+
env:
|
15
|
+
GRAPE_SWAGGER_VERSION: ${{ matrix.entry.grape-swagger }}
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v3
|
18
|
+
- name: Set up Ruby
|
19
|
+
uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.entry.ruby }}
|
22
|
+
bundler-cache: true
|
23
|
+
- name: Setup Firefox
|
24
|
+
uses: browser-actions/setup-firefox@v1
|
25
|
+
with:
|
26
|
+
firefox-version: "111.0.1"
|
27
|
+
- uses: browser-actions/setup-geckodriver@latest
|
28
|
+
with:
|
29
|
+
geckodriver-version: "0.32.2"
|
30
|
+
- uses: coactions/setup-xvfb@v1
|
31
|
+
with:
|
32
|
+
run: bundle exec rake spec
|
@@ -0,0 +1,14 @@
|
|
1
|
+
name: Rubocop
|
2
|
+
on: [pull_request]
|
3
|
+
jobs:
|
4
|
+
rubocop:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
steps:
|
7
|
+
- uses: actions/checkout@v3
|
8
|
+
- name: Set up Ruby
|
9
|
+
uses: ruby/setup-ruby@v1
|
10
|
+
with:
|
11
|
+
ruby-version: "3.2"
|
12
|
+
bundler-cache: true
|
13
|
+
- name: Run Rubocop
|
14
|
+
run: bundle exec rubocop
|
data/.github/workflows/test.yml
CHANGED
@@ -1,35 +1,27 @@
|
|
1
1
|
name: Tests
|
2
|
-
on:
|
3
|
-
push:
|
4
|
-
branches:
|
5
|
-
- master
|
6
|
-
pull_request:
|
2
|
+
on: [push, pull_request]
|
7
3
|
jobs:
|
8
4
|
test:
|
9
5
|
runs-on: ubuntu-latest
|
10
|
-
continue-on-error: ${{ (matrix.grape-swagger.experimental) || (matrix.ruby.experimental) }}
|
11
6
|
strategy:
|
12
7
|
fail-fast: false
|
13
8
|
matrix:
|
14
|
-
|
15
|
-
- {
|
16
|
-
- {
|
17
|
-
|
18
|
-
- {
|
19
|
-
- {
|
20
|
-
- {
|
21
|
-
- {
|
22
|
-
- { version: "ruby-head", experimental: true }
|
23
|
-
- { version: "jruby-9.4.2", experimental: false }
|
24
|
-
- { version: "jruby-head", experimental: true }
|
9
|
+
entry:
|
10
|
+
- { ruby: "2.7", grape-swagger: "1.6.1" }
|
11
|
+
- { ruby: "3.0", grape-swagger: "1.6.1" }
|
12
|
+
- { ruby: "3.1", grape-swagger: "1.6.1" }
|
13
|
+
- { ruby: "3.2", grape-swagger: "1.6.1" }
|
14
|
+
- { ruby: "3.2", grape-swagger: "2.0.2" }
|
15
|
+
- { ruby: "jruby-9.4.6", grape-swagger: "1.6.1" }
|
16
|
+
- { ruby: "jruby-9.4.6", grape-swagger: "2.0.2" }
|
25
17
|
env:
|
26
|
-
GRAPE_SWAGGER_VERSION: ${{ matrix.grape-swagger
|
18
|
+
GRAPE_SWAGGER_VERSION: ${{ matrix.entry.grape-swagger }}
|
27
19
|
steps:
|
28
20
|
- uses: actions/checkout@v3
|
29
21
|
- name: Set up Ruby
|
30
22
|
uses: ruby/setup-ruby@v1
|
31
23
|
with:
|
32
|
-
ruby-version: ${{ matrix.ruby
|
24
|
+
ruby-version: ${{ matrix.entry.ruby }}
|
33
25
|
bundler-cache: true
|
34
26
|
- name: Setup Firefox
|
35
27
|
uses: browser-actions/setup-firefox@v1
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -1,105 +1,116 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2024-04-06 14:14:58 UTC using RuboCop version 1.62.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
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
# Configuration parameters:
|
11
|
-
#
|
12
|
-
|
13
|
-
Exclude:
|
14
|
-
- 'Gemfile'
|
15
|
-
|
16
|
-
# Offense count: 8
|
17
|
-
# Cop supports --auto-correct.
|
18
|
-
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
|
19
|
-
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
|
20
|
-
Bundler/OrderedGems:
|
9
|
+
# Offense count: 6
|
10
|
+
# Configuration parameters: EnforcedStyle.
|
11
|
+
# SupportedStyles: link_or_button, strict
|
12
|
+
Capybara/ClickLinkOrButtonStyle:
|
21
13
|
Exclude:
|
22
|
-
- '
|
14
|
+
- 'spec/features/swagger_spec.rb'
|
23
15
|
|
24
16
|
# Offense count: 1
|
25
|
-
|
26
|
-
Layout/EmptyLineAfterGuardClause:
|
17
|
+
Capybara/SpecificMatcher:
|
27
18
|
Exclude:
|
28
|
-
- '
|
19
|
+
- 'spec/features/welcome_spec.rb'
|
29
20
|
|
30
21
|
# Offense count: 1
|
31
|
-
#
|
32
|
-
|
22
|
+
# Configuration parameters: Severity, Include.
|
23
|
+
# Include: **/*.gemspec
|
24
|
+
Gemspec/RequiredRubyVersion:
|
33
25
|
Exclude:
|
34
26
|
- 'grape-swagger-rails.gemspec'
|
35
27
|
|
28
|
+
# Offense count: 2
|
29
|
+
# Configuration parameters: AllowedMethods.
|
30
|
+
# AllowedMethods: enums
|
31
|
+
Lint/ConstantDefinitionInBlock:
|
32
|
+
Exclude:
|
33
|
+
- 'lib/tasks/swagger_ui.rake'
|
34
|
+
|
36
35
|
# Offense count: 1
|
37
|
-
|
38
|
-
Layout/EmptyLinesAroundArguments:
|
36
|
+
Lint/MixedRegexpCaptureTypes:
|
39
37
|
Exclude:
|
40
|
-
- 'lib/
|
38
|
+
- 'lib/tasks/swagger_ui.rake'
|
41
39
|
|
42
|
-
# Offense count:
|
43
|
-
#
|
44
|
-
#
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
40
|
+
# Offense count: 4
|
41
|
+
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
|
42
|
+
# AllowedMethods: refine
|
43
|
+
Metrics/BlockLength:
|
44
|
+
Max: 89
|
45
|
+
|
46
|
+
# Offense count: 2
|
47
|
+
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
48
|
+
# CheckDefinitionPathHierarchyRoots: lib, spec, test, src
|
49
|
+
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
50
|
+
Naming/FileName:
|
49
51
|
Exclude:
|
50
52
|
- 'lib/grape-swagger-rails.rb'
|
53
|
+
- 'spec/features/grape-swagger-rails_spec.rb'
|
51
54
|
|
52
|
-
# Offense count:
|
53
|
-
|
55
|
+
# Offense count: 13
|
56
|
+
# Configuration parameters: Prefixes, AllowedPatterns.
|
57
|
+
# Prefixes: when, with, without
|
58
|
+
RSpec/ContextWording:
|
54
59
|
Exclude:
|
55
|
-
- '
|
60
|
+
- 'spec/features/swagger_spec.rb'
|
56
61
|
|
57
62
|
# Offense count: 1
|
58
|
-
#
|
59
|
-
|
63
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
64
|
+
# Configuration parameters: SkipBlocks, EnforcedStyle.
|
65
|
+
# SupportedStyles: described_class, explicit
|
66
|
+
RSpec/DescribedClass:
|
60
67
|
Exclude:
|
61
|
-
- 'spec/
|
68
|
+
- 'spec/features/grape-swagger-rails_spec.rb'
|
62
69
|
|
63
|
-
# Offense count:
|
64
|
-
#
|
65
|
-
|
70
|
+
# Offense count: 6
|
71
|
+
# Configuration parameters: CountAsOne.
|
72
|
+
RSpec/ExampleLength:
|
73
|
+
Max: 8
|
74
|
+
|
75
|
+
# Offense count: 1
|
76
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
77
|
+
# Include: **/*_spec*rb*, **/spec/**/*
|
78
|
+
RSpec/FilePath:
|
66
79
|
Exclude:
|
67
|
-
- '
|
68
|
-
- 'spec/dummy/Rakefile'
|
80
|
+
- 'spec/features/grape-swagger-rails_spec.rb'
|
69
81
|
|
70
82
|
# Offense count: 2
|
71
|
-
# Configuration parameters:
|
72
|
-
|
83
|
+
# Configuration parameters: AssignmentOnly.
|
84
|
+
RSpec/InstanceVariable:
|
73
85
|
Exclude:
|
74
|
-
- 'spec/
|
75
|
-
- 'spec/dummy/bin/rake'
|
86
|
+
- 'spec/features/swagger_spec.rb'
|
76
87
|
|
77
|
-
# Offense count:
|
78
|
-
|
79
|
-
|
80
|
-
Metrics/BlockLength:
|
81
|
-
Max: 282
|
88
|
+
# Offense count: 12
|
89
|
+
RSpec/MultipleExpectations:
|
90
|
+
Max: 4
|
82
91
|
|
83
92
|
# Offense count: 2
|
84
|
-
# Configuration parameters:
|
85
|
-
#
|
86
|
-
|
93
|
+
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
94
|
+
# SupportedStyles: always, named_only
|
95
|
+
RSpec/NamedSubject:
|
87
96
|
Exclude:
|
88
|
-
- 'lib/grape-swagger-rails.rb'
|
89
97
|
- 'spec/features/grape-swagger-rails_spec.rb'
|
90
98
|
|
91
|
-
# Offense count:
|
92
|
-
#
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
#
|
97
|
-
#
|
98
|
-
|
99
|
+
# Offense count: 12
|
100
|
+
# Configuration parameters: AllowedGroups.
|
101
|
+
RSpec/NestedGroups:
|
102
|
+
Max: 4
|
103
|
+
|
104
|
+
# Offense count: 1
|
105
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
|
106
|
+
# Include: **/*_spec.rb
|
107
|
+
RSpec/SpecFilePathFormat:
|
99
108
|
Exclude:
|
100
|
-
- '
|
109
|
+
- '**/spec/routing/**/*'
|
110
|
+
- 'spec/features/grape-swagger-rails_spec.rb'
|
101
111
|
|
102
112
|
# Offense count: 4
|
113
|
+
# Configuration parameters: AllowedConstants.
|
103
114
|
Style/Documentation:
|
104
115
|
Exclude:
|
105
116
|
- 'spec/**/*'
|
@@ -108,72 +119,14 @@ Style/Documentation:
|
|
108
119
|
- 'lib/grape-swagger-rails.rb'
|
109
120
|
- 'lib/grape-swagger-rails/engine.rb'
|
110
121
|
|
111
|
-
# Offense count: 2
|
112
|
-
# Cop supports --auto-correct.
|
113
|
-
# Configuration parameters: EnforcedStyle.
|
114
|
-
# SupportedStyles: compact, expanded
|
115
|
-
Style/EmptyMethod:
|
116
|
-
Exclude:
|
117
|
-
- 'app/controllers/grape_swagger_rails/application_controller.rb'
|
118
|
-
- 'spec/dummy/app/controllers/welcome_controller.rb'
|
119
|
-
|
120
122
|
# Offense count: 1
|
121
|
-
|
122
|
-
Style/Encoding:
|
123
|
-
Exclude:
|
124
|
-
- 'grape-swagger-rails.gemspec'
|
125
|
-
|
126
|
-
# Offense count: 14
|
127
|
-
# Cop supports --auto-correct.
|
128
|
-
Style/ExpandPathArguments:
|
129
|
-
Exclude:
|
130
|
-
- 'Rakefile'
|
131
|
-
- 'grape-swagger-rails.gemspec'
|
132
|
-
- 'lib/script/rails'
|
133
|
-
- 'lib/tasks/swagger_ui.rake'
|
134
|
-
- 'spec/dummy/Rakefile'
|
135
|
-
- 'spec/dummy/bin/bundle'
|
136
|
-
- 'spec/dummy/bin/rails'
|
137
|
-
- 'spec/dummy/bin/rake'
|
138
|
-
- 'spec/dummy/config/application.rb'
|
139
|
-
- 'spec/dummy/config/boot.rb'
|
140
|
-
- 'spec/dummy/config/environment.rb'
|
141
|
-
- 'spec/spec_helper.rb'
|
142
|
-
|
143
|
-
# Offense count: 37
|
144
|
-
# Cop supports --auto-correct.
|
145
|
-
# Configuration parameters: EnforcedStyle.
|
146
|
-
# SupportedStyles: always, never
|
147
|
-
Style/FrozenStringLiteralComment:
|
148
|
-
Enabled: false
|
149
|
-
|
150
|
-
# Offense count: 3
|
151
|
-
# Cop supports --auto-correct.
|
152
|
-
# Configuration parameters: PreferredDelimiters.
|
153
|
-
Style/PercentLiteralDelimiters:
|
123
|
+
Style/OpenStructUse:
|
154
124
|
Exclude:
|
155
|
-
- 'grape-swagger-rails.gemspec'
|
156
125
|
- 'lib/grape-swagger-rails.rb'
|
157
|
-
- 'spec/features/swagger_spec.rb'
|
158
|
-
|
159
|
-
# Offense count: 1
|
160
|
-
# Cop supports --auto-correct.
|
161
|
-
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
|
162
|
-
# SupportedStyles: slashes, percent_r, mixed
|
163
|
-
Style/RegexpLiteral:
|
164
|
-
Exclude:
|
165
|
-
- 'lib/tasks/swagger_ui.rake'
|
166
126
|
|
167
127
|
# Offense count: 2
|
168
|
-
#
|
169
|
-
# Configuration parameters:
|
170
|
-
# SupportedStyles: percent, brackets
|
171
|
-
Style/SymbolArray:
|
172
|
-
EnforcedStyle: brackets
|
173
|
-
|
174
|
-
# Offense count: 48
|
175
|
-
# Cop supports --auto-correct.
|
176
|
-
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
128
|
+
# This cop supports safe autocorrection (--autocorrect).
|
129
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
|
177
130
|
# URISchemes: http, https
|
178
|
-
|
179
|
-
Max:
|
131
|
+
Layout/LineLength:
|
132
|
+
Max: 143
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### 0.5.0 (2024/04/06)
|
2
|
+
|
3
|
+
* [#110](https://github.com/ruby-grape/grape-swagger-rails/pull/110): Update dummy app to current rails conventions - [@duffn](https://github.com/duffn).
|
4
|
+
* [#112](https://github.com/ruby-grape/grape-swagger-rails/pull/112): Add RuboCop GHA & autocorrect violations - [@duffn](https://github.com/duffn).
|
5
|
+
* [#114](https://github.com/ruby-grape/grape-swagger-rails/pull/114): Add `api_key_placeholder` option - [@SofiaSousa](https://github.com/SofiaSousa).
|
6
|
+
* [#116](https://github.com/ruby-grape/grape-swagger-rails/pull/116): Ensure that `ostruct` is loaded - [@jrmhaig](https://github.com/jrmhaig).
|
7
|
+
* [#117](https://github.com/ruby-grape/grape-swagger-rails/pull/117): Fix rubygems source code location metadata - [@dblock](https://github.com/dblock).
|
8
|
+
* [#118](https://github.com/ruby-grape/grape-swagger-rails/pull/118): Split the test matrix, fix JRuby tests - [@dblock](https://github.com/dblock).
|
9
|
+
|
1
10
|
### 0.4.0 (2023/03/28)
|
2
11
|
|
3
12
|
* [#107](https://github.com/ruby-grape/grape-swagger-rails/pull/107): Add test matrix for multiple ruby versions - [@duffn](https://github.com/duffn).
|
data/Dangerfile
CHANGED
data/Gemfile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gemspec
|
@@ -6,28 +8,27 @@ case version = ENV['GRAPE_SWAGGER_VERSION'] || '~> 1.6.0'
|
|
6
8
|
when 'HEAD'
|
7
9
|
gem 'grape-swagger', github: 'ruby-grape/grape-swagger'
|
8
10
|
else
|
9
|
-
gem 'grape-swagger', version
|
10
11
|
gem 'grape', '>= 1.3.0'
|
12
|
+
gem 'grape-swagger', version
|
11
13
|
end
|
12
14
|
|
13
15
|
group :development, :test do
|
14
16
|
gem 'capybara'
|
15
|
-
gem 'coffee-rails'
|
16
17
|
gem 'grape-swagger-ui'
|
17
18
|
gem 'jquery-rails'
|
18
19
|
gem 'mime-types'
|
19
20
|
gem 'nokogiri'
|
20
21
|
gem 'rack', '< 3.0'
|
21
22
|
gem 'rack-cors'
|
22
|
-
gem 'rack-no_animations'
|
23
23
|
gem 'rake'
|
24
24
|
gem 'rspec-rails'
|
25
|
-
gem 'rubocop'
|
25
|
+
gem 'rubocop'
|
26
|
+
gem 'rubocop-capybara'
|
27
|
+
gem 'rubocop-rake'
|
28
|
+
gem 'rubocop-rspec'
|
26
29
|
gem 'ruby-grape-danger', '~> 0.2.0', require: false
|
27
|
-
gem 'sass'
|
28
|
-
gem 'sass-rails'
|
29
30
|
gem 'selenium-webdriver'
|
30
|
-
gem 'sprockets'
|
31
|
+
gem 'sprockets-rails', require: 'sprockets/railtie'
|
31
32
|
gem 'uglifier'
|
32
33
|
gem 'webrick'
|
33
34
|
end
|
data/README.md
CHANGED
@@ -158,9 +158,10 @@ by specify:
|
|
158
158
|
GrapeSwaggerRails.options.api_auth = 'token'
|
159
159
|
GrapeSwaggerRails.options.api_key_name = 'Authorization'
|
160
160
|
GrapeSwaggerRails.options.api_key_type = 'header'
|
161
|
+
GrapeSwaggerRails.options.api_key_placeholder = 'authorization_token'
|
161
162
|
```
|
162
163
|
|
163
|
-
You can use the ```
|
164
|
+
You can use the ```authorization_token``` input box to fill in your API token.
|
164
165
|
### Swagger UI Authorization
|
165
166
|
|
166
167
|
You may want to authenticate users before displaying the Swagger UI, particularly when the API is protected by Basic Authentication.
|
data/Rakefile
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
|
2
|
-
begin
|
3
|
-
require 'bundler/setup'
|
4
|
-
rescue LoadError
|
5
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
-
end
|
1
|
+
# frozen_string_literal: true
|
7
2
|
|
8
|
-
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'bundler/gem_tasks'
|
9
5
|
|
6
|
+
APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
|
10
7
|
load 'rails/tasks/engine.rake'
|
11
|
-
Bundler::GemHelper.install_tasks
|
12
8
|
|
13
9
|
Dir[File.join(File.dirname(__FILE__), 'lib/tasks/**/*.rake')].each do |f|
|
14
10
|
load f
|
@@ -23,4 +19,4 @@ RSpec::Core::RakeTask.new(:spec)
|
|
23
19
|
require 'rubocop/rake_task'
|
24
20
|
RuboCop::RakeTask.new(:rubocop)
|
25
21
|
|
26
|
-
task default: [
|
22
|
+
task default: %i[rubocop spec]
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GrapeSwaggerRails
|
2
4
|
class ApplicationController < ActionController::Base
|
3
5
|
if Rails::VERSION::MAJOR >= 4
|
@@ -6,13 +8,13 @@ module GrapeSwaggerRails
|
|
6
8
|
before_filter { run_before_action }
|
7
9
|
end
|
8
10
|
|
9
|
-
def index
|
10
|
-
end
|
11
|
+
def index; end
|
11
12
|
|
12
13
|
private
|
13
14
|
|
14
15
|
def run_before_action
|
15
16
|
return unless GrapeSwaggerRails.options.before_action
|
17
|
+
|
16
18
|
instance_exec(request, &GrapeSwaggerRails.options.before_action)
|
17
19
|
end
|
18
20
|
end
|
@@ -96,7 +96,7 @@
|
|
96
96
|
|
97
97
|
<form id='api_selector'>
|
98
98
|
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
|
99
|
-
<div class='input'><input placeholder="
|
99
|
+
<div class='input'><input placeholder="<%= GrapeSwaggerRails.options.api_key_placeholder %>" id="input_apiKey" name="apiKey" type="text" value="<%= GrapeSwaggerRails.options.api_key_default_value %>"/></div>
|
100
100
|
<div class='input'><a id="explore" class="exploreBtn" href="#">Explore</a></div>
|
101
101
|
</form>
|
102
102
|
</div>
|
data/config/routes.rb
CHANGED
data/grape-swagger-rails.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
require 'grape-swagger-rails/version'
|
@@ -7,13 +9,17 @@ Gem::Specification.new do |spec|
|
|
7
9
|
spec.version = GrapeSwaggerRails::VERSION
|
8
10
|
spec.authors = ['Alexander Logunov']
|
9
11
|
spec.email = ['unlovedru@gmail.com']
|
10
|
-
spec.description = 'Swagger UI as Rails Engine for grape-swagger gem'
|
11
|
-
spec.summary = 'Swagger UI as Rails Engine for grape-swagger gem'
|
12
|
+
spec.description = 'Swagger UI as Rails Engine for grape-swagger gem.'
|
13
|
+
spec.summary = 'Swagger UI as Rails Engine for grape-swagger gem.'
|
12
14
|
spec.homepage = 'https://github.com/ruby-grape/grape-swagger-rails'
|
13
15
|
spec.license = 'MIT'
|
14
16
|
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
15
|
-
spec.test_files = `git ls-files spec`.split($INPUT_RECORD_SEPARATOR)
|
16
17
|
spec.require_paths = %w[lib]
|
17
|
-
|
18
18
|
spec.add_dependency 'railties', '>= 6.0.6.1'
|
19
|
+
spec.metadata = {
|
20
|
+
'bug_tracker_uri' => 'https://github.com/ruby-grape/grape-swagger-rails/issues',
|
21
|
+
'changelog_uri' => 'https://github.com/ruby-grape/grape-swagger-rails/blob/master/CHANGELOG.md',
|
22
|
+
'source_code_uri' => "https://github.com/ruby-grape/grape-swagger-rails/tree/v#{GrapeSwaggerRails::VERSION}",
|
23
|
+
'rubygems_mfa_required' => 'true'
|
24
|
+
}
|
19
25
|
end
|
data/lib/grape-swagger-rails.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'grape-swagger-rails/engine'
|
4
|
+
require 'ostruct'
|
2
5
|
|
3
6
|
module GrapeSwaggerRails
|
4
7
|
class Options < OpenStruct
|
@@ -20,24 +23,24 @@ module GrapeSwaggerRails
|
|
20
23
|
mattr_accessor :options
|
21
24
|
|
22
25
|
self.options = Options.new(
|
26
|
+
url: '/swagger_doc',
|
27
|
+
app_name: 'Swagger',
|
28
|
+
app_url: 'http://swagger.wordnik.com',
|
23
29
|
|
24
|
-
|
25
|
-
app_name: 'Swagger',
|
26
|
-
app_url: 'http://swagger.wordnik.com',
|
27
|
-
|
28
|
-
headers: {},
|
30
|
+
headers: {},
|
29
31
|
|
30
|
-
api_auth:
|
31
|
-
api_key_name:
|
32
|
-
api_key_type:
|
33
|
-
api_key_default_value:
|
32
|
+
api_auth: '', # 'basic' or 'bearer'
|
33
|
+
api_key_name: 'api_key', # 'Authorization'
|
34
|
+
api_key_type: 'query', # 'header'
|
35
|
+
api_key_default_value: '', # Auto populates api_key
|
36
|
+
api_key_placeholder: 'api_key', # Placeholder for api_key input
|
34
37
|
|
35
|
-
doc_expansion:
|
36
|
-
supported_submit_methods: %w
|
38
|
+
doc_expansion: 'none',
|
39
|
+
supported_submit_methods: %w[get post put delete patch],
|
37
40
|
|
38
|
-
before_action_proc:
|
41
|
+
before_action_proc: nil, # Proc used as a controller before action
|
39
42
|
|
40
|
-
hide_url_input:
|
41
|
-
hide_api_key_input:
|
43
|
+
hide_url_input: false,
|
44
|
+
hide_api_key_input: false
|
42
45
|
)
|
43
46
|
end
|
data/lib/script/rails
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
5
|
|
4
|
-
ENGINE_ROOT = File.expand_path('
|
5
|
-
ENGINE_PATH = File.expand_path('
|
6
|
+
ENGINE_ROOT = File.expand_path('..', __dir__)
|
7
|
+
ENGINE_PATH = File.expand_path('../lib/grape-swagger-rails/engine', __dir__)
|
6
8
|
|
7
9
|
require 'rails/all'
|
8
10
|
require 'rails/engine/commands'
|