grape-swagger-rails 0.6.0 → 1.0.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/copilot-instructions.md +5 -0
  4. data/.github/workflows/danger-comment.yml +9 -0
  5. data/.github/workflows/danger.yml +9 -17
  6. data/.github/workflows/frontend.yml +21 -0
  7. data/.github/workflows/rubocop.yml +1 -1
  8. data/.github/workflows/test.yml +44 -22
  9. data/.gitignore +3 -1
  10. data/.pnp.cjs +7834 -0
  11. data/.rubocop.yml +8 -3
  12. data/.rubocop_todo.yml +5 -5
  13. data/CHANGELOG.md +23 -0
  14. data/CLAUDE.md +78 -0
  15. data/Dangerfile +4 -1
  16. data/Gemfile +17 -5
  17. data/README.md +85 -47
  18. data/RELEASING.md +25 -7
  19. data/UPGRADING.md +21 -1
  20. data/app/assets/config/grape_swagger_rails_manifest.js +1 -0
  21. data/app/assets/javascripts/grape_swagger_rails/index.js +222 -0
  22. data/app/assets/javascripts/grape_swagger_rails/swagger-ui-bundle.js +2 -0
  23. data/app/assets/javascripts/grape_swagger_rails/swagger-ui-standalone-preset.js +2 -0
  24. data/app/assets/stylesheets/grape_swagger_rails/index.css +290 -0
  25. data/app/assets/stylesheets/grape_swagger_rails/swagger-ui.css +3 -0
  26. data/app/helpers/grape_swagger_rails/application_helper.rb +18 -0
  27. data/app/views/grape_swagger_rails/application/index.html.haml +21 -0
  28. data/frontend/grape_swagger_rails/index.ts +327 -0
  29. data/grape-swagger-rails.gemspec +7 -4
  30. data/lib/grape-swagger-rails/engine.rb +20 -0
  31. data/lib/grape-swagger-rails/version.rb +2 -1
  32. data/lib/grape-swagger-rails.rb +14 -5
  33. data/lib/tasks/swagger_ui.rake +38 -91
  34. data/package.json +12 -0
  35. data/spec/dummy/app/api/api.rb +58 -0
  36. data/spec/dummy/app/assets/config/manifest.js +0 -1
  37. data/spec/dummy/config/application.rb +3 -1
  38. data/spec/dummy/config/boot.rb +1 -2
  39. data/spec/dummy/config/environments/development.rb +14 -22
  40. data/spec/dummy/config/environments/production.rb +33 -49
  41. data/spec/dummy/config/environments/test.rb +15 -20
  42. data/spec/dummy/config/routes.rb +2 -0
  43. data/spec/features/grape-swagger-rails_spec.rb +0 -2
  44. data/spec/features/swagger_spec.rb +524 -98
  45. data/spec/features/welcome_spec.rb +1 -3
  46. data/spec/spec_helper.rb +11 -1
  47. data/spec/support/capybara.rb +1 -0
  48. data/tsconfig.json +12 -0
  49. data/yarn.lock +34 -0
  50. metadata +61 -47
  51. data/.github/workflows/head.yml +0 -35
  52. data/app/assets/images/grape_swagger_rails/collapse.gif +0 -0
  53. data/app/assets/images/grape_swagger_rails/expand.gif +0 -0
  54. data/app/assets/images/grape_swagger_rails/explorer_icons.png +0 -0
  55. data/app/assets/images/grape_swagger_rails/logo_small.png +0 -0
  56. data/app/assets/images/grape_swagger_rails/pet_store_api.png +0 -0
  57. data/app/assets/images/grape_swagger_rails/throbber.gif +0 -0
  58. data/app/assets/images/grape_swagger_rails/wordnik_api.png +0 -0
  59. data/app/assets/javascripts/grape_swagger_rails/application.js +0 -15
  60. data/app/assets/javascripts/grape_swagger_rails/backbone-min.js +0 -15
  61. data/app/assets/javascripts/grape_swagger_rails/base64.js +0 -134
  62. data/app/assets/javascripts/grape_swagger_rails/es5-shim.js +0 -2065
  63. data/app/assets/javascripts/grape_swagger_rails/handlebars-2.0.0.js +0 -28
  64. data/app/assets/javascripts/grape_swagger_rails/highlight.9.1.0.pack.js +0 -2
  65. data/app/assets/javascripts/grape_swagger_rails/highlight.9.1.0.pack_extended.js +0 -34
  66. data/app/assets/javascripts/grape_swagger_rails/jquery-1.8.0.min.js +0 -2
  67. data/app/assets/javascripts/grape_swagger_rails/jquery.ba-bbq.min.js +0 -18
  68. data/app/assets/javascripts/grape_swagger_rails/jquery.slideto.min.js +0 -1
  69. data/app/assets/javascripts/grape_swagger_rails/jquery.wiggle.min.js +0 -8
  70. data/app/assets/javascripts/grape_swagger_rails/js-yaml.min.js +0 -3
  71. data/app/assets/javascripts/grape_swagger_rails/jsoneditor.min.js +0 -11
  72. data/app/assets/javascripts/grape_swagger_rails/lodash.min.js +0 -102
  73. data/app/assets/javascripts/grape_swagger_rails/marked.js +0 -1272
  74. data/app/assets/javascripts/grape_swagger_rails/object-assign-pollyfill.js +0 -23
  75. data/app/assets/javascripts/grape_swagger_rails/swagger-oauth.js +0 -347
  76. data/app/assets/javascripts/grape_swagger_rails/swagger-ui.min.js +0 -10
  77. data/app/assets/stylesheets/grape_swagger_rails/application.css +0 -5
  78. data/app/assets/stylesheets/grape_swagger_rails/print.css +0 -1362
  79. data/app/assets/stylesheets/grape_swagger_rails/reset.css +0 -125
  80. data/app/assets/stylesheets/grape_swagger_rails/screen.css.erb +0 -1489
  81. data/app/assets/stylesheets/grape_swagger_rails/style.css +0 -250
  82. data/app/assets/stylesheets/grape_swagger_rails/typography.css +0 -14
  83. data/app/views/grape_swagger_rails/application/index.html.erb +0 -115
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efdc8bb56a0364b50351abe79d3abfc95202397cdc5a0c1e766e4e3bc143490f
4
- data.tar.gz: 8c118f83a1a0580dc8fd0e52ea3f6589b58d9fd7c6d7ce8cf53af466cbb8ec23
3
+ metadata.gz: 4ffd522dac6b7efe49bc024272c280fd715108d6b4fe974b4ecb197702ddd0c5
4
+ data.tar.gz: d93eda34ff295a2387005d93a82d8c3606e2568979ae82e3a512455bcf1a2685
5
5
  SHA512:
6
- metadata.gz: 641d69aca0022a9c06bbc1da9e2cb802cdb20e6735c60aee3d7a5f95d2c0e2c21bf6643b3d7d2934762eef3e03baafeceab3a09d7673de77bddb7a24ffd8fde3
7
- data.tar.gz: 7a487d5c67cd911ac06a35e6671852f7745b487caf742119fc80101320aed28ae1a3cac7c017fe05349e870fced745c2b2bdb9ecc6be007efe06f30764546e0c
6
+ metadata.gz: 9f02aee03ef70e0fbfba49c2c42f86c73279fa29d3f15f5524033f270a1c8a452c30f2c9d2ae3595abcb992125fe1db2e515cce0a7dec7827dbd481acba0ae4e
7
+ data.tar.gz: a4ad6d3529fac3b4f5bdf0360b45b5cfa0a4bc24a17dc59ffd8a519d8edc3dd9bcc07a7f8de394c50858854cd1d431f3e41dfc3d9afd79db77ae0a01f4ec07a4
@@ -0,0 +1 @@
1
+ github: [dblock]
@@ -0,0 +1,5 @@
1
+ # Copilot Instructions
2
+
3
+ This file provides guidance to GitHub Copilot when working with this repository.
4
+
5
+ For complete project context, architecture details, and coding conventions, see [CLAUDE.md](../CLAUDE.md) — it contains the canonical instructions shared across all AI agents.
@@ -0,0 +1,9 @@
1
+ name: Danger Comment
2
+ on:
3
+ workflow_run:
4
+ workflows: ['Danger']
5
+ types: [completed]
6
+ jobs:
7
+ comment:
8
+ uses: numbata/danger-pr-comment/.github/workflows/danger-comment.yml@v0.1.0
9
+ secrets: inherit
@@ -1,19 +1,11 @@
1
1
  name: Danger
2
- on: [pull_request]
2
+ on:
3
+ pull_request:
4
+ types: [opened, reopened, synchronize, edited]
3
5
  jobs:
4
- lint:
5
- runs-on: ubuntu-latest
6
- steps:
7
- - uses: actions/checkout@v3
8
- with:
9
- fetch-depth: 0
10
- - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
12
- with:
13
- ruby-version: "2.7"
14
- bundler-cache: true
15
- - name: Run Danger
16
- run: |
17
- # the token is public, has public_repo scope and belongs to the grape-bot user owned by @dblock, this is ok
18
- TOKEN=$(echo -n Z2hwX2lYb0dPNXNyejYzOFJyaTV3QUxUdkNiS1dtblFwZTFuRXpmMwo= | base64 --decode)
19
- DANGER_GITHUB_API_TOKEN=$TOKEN bundle exec danger --verbose
6
+ danger:
7
+ uses: numbata/danger-pr-comment/.github/workflows/danger-run.yml@v0.1.0
8
+ with:
9
+ ruby-version: '3.4'
10
+ bundler-cache: true
11
+ secrets: inherit
@@ -0,0 +1,21 @@
1
+ name: Frontend
2
+ on: [push, pull_request]
3
+ jobs:
4
+ frontend:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v5
8
+ - name: Set up Node
9
+ uses: actions/setup-node@v4
10
+ with:
11
+ node-version: "lts/*"
12
+ - name: Enable Corepack
13
+ run: corepack enable
14
+ - name: Install dependencies
15
+ run: yarn install --immutable
16
+ - name: TypeScript type check
17
+ run: yarn typecheck
18
+ - name: Build frontend
19
+ run: yarn build:frontend
20
+ - name: Check compiled output is committed
21
+ run: git diff --exit-code app/assets/javascripts/grape_swagger_rails/index.js
@@ -4,7 +4,7 @@ jobs:
4
4
  rubocop:
5
5
  runs-on: ubuntu-latest
6
6
  steps:
7
- - uses: actions/checkout@v3
7
+ - uses: actions/checkout@v5
8
8
  - name: Set up Ruby
9
9
  uses: ruby/setup-ruby@v1
10
10
  with:
@@ -6,32 +6,45 @@ jobs:
6
6
  strategy:
7
7
  fail-fast: false
8
8
  matrix:
9
- entry:
10
- - { ruby: "2.7", rails: "6.1.7", grape-swagger: "1.6.1" }
11
- - { ruby: "3.0", rails: "6.1.7", grape-swagger: "1.6.1" }
12
- - { ruby: "3.1", rails: "6.1.7", grape-swagger: "1.6.1" }
13
- - { ruby: "3.1", rails: "7.2.1", grape-swagger: "1.6.1" }
14
- - { ruby: "3.2", rails: "6.1.7", grape-swagger: "1.6.1" }
15
- - { ruby: "3.2", rails: "6.1.7", grape-swagger: "2.1.1" }
16
- - { ruby: "3.2", rails: "7.2.1", grape-swagger: "1.6.1" }
17
- - { ruby: "3.2", rails: "7.2.1", grape-swagger: "2.1.1" }
18
- - { ruby: "3.3", rails: "6.1.7", grape-swagger: "1.6.1" }
19
- - { ruby: "3.3", rails: "6.1.7", grape-swagger: "2.1.1" }
20
- - { ruby: "3.3", rails: "7.2.1", grape-swagger: "1.6.1" }
21
- - { ruby: "3.3", rails: "7.2.1", grape-swagger: "2.1.1" }
22
- - { ruby: "jruby-9.4.6", rails: "6.1.7", grape-swagger: "1.6.1" }
23
- - { ruby: "jruby-9.4.6", rails: "6.1.7", grape-swagger: "2.1.1" }
24
- - { ruby: "jruby-9.4.6", rails: "7.2.1", grape-swagger: "1.6.1" }
25
- - { ruby: "jruby-9.4.6", rails: "7.2.1", grape-swagger: "2.1.1" }
9
+ include:
10
+ - ruby: '3.2'
11
+ rails: '7.2.2.2'
12
+ grape: '~> 1.8.0'
13
+ grape-swagger: '1.6.1'
14
+ - ruby: '3.2'
15
+ rails: '7.2.2.2'
16
+ grape: '~> 3.1.0'
17
+ grape-swagger: '2.1.4'
18
+ - ruby: '3.3'
19
+ rails: '7.2.2.2'
20
+ grape: '~> 3.1.0'
21
+ grape-swagger: '2.1.4'
22
+ - ruby: '3.4'
23
+ rails: '7.2.2.2'
24
+ grape: '~> 3.1.0'
25
+ grape-swagger: '2.1.4'
26
+ - ruby: '3.2'
27
+ rails: '~> 8.1.3'
28
+ grape: '~> 3.1.0'
29
+ grape-swagger: '2.1.4'
30
+ - ruby: '3.3'
31
+ rails: '~> 8.1.3'
32
+ grape: '~> 3.1.0'
33
+ grape-swagger: '2.1.4'
34
+ - ruby: '3.4'
35
+ rails: '~> 8.1.3'
36
+ grape: '~> 3.1.0'
37
+ grape-swagger: '2.1.4'
26
38
  env:
27
- GRAPE_SWAGGER_VERSION: ${{ matrix.entry.grape-swagger }}
28
- RAILS_VERSION: ${{ matrix.entry.rails }}
39
+ GRAPE_VERSION: ${{ matrix.grape }}
40
+ GRAPE_SWAGGER_VERSION: ${{ matrix.grape-swagger }}
41
+ RAILS_VERSION: ${{ matrix.rails }}
29
42
  steps:
30
- - uses: actions/checkout@v3
43
+ - uses: actions/checkout@v5
31
44
  - name: Set up Ruby
32
45
  uses: ruby/setup-ruby@v1
33
46
  with:
34
- ruby-version: ${{ matrix.entry.ruby }}
47
+ ruby-version: ${{ matrix.ruby }}
35
48
  bundler-cache: true
36
49
  - name: Print Bundler Versions
37
50
  run: bundle show
@@ -42,6 +55,15 @@ jobs:
42
55
  - uses: browser-actions/setup-geckodriver@latest
43
56
  with:
44
57
  geckodriver-version: "0.35.0"
45
- - uses: coactions/setup-xvfb@v1
58
+ - name: Run tests with Sprockets
59
+ uses: coactions/setup-xvfb@v1
60
+ env:
61
+ ASSET_PIPELINE: sprockets
62
+ with:
63
+ run: bundle exec rake spec
64
+ - name: Run tests with Propshaft
65
+ uses: coactions/setup-xvfb@v1
66
+ env:
67
+ ASSET_PIPELINE: propshaft
46
68
  with:
47
69
  run: bundle exec rake spec
data/.gitignore CHANGED
@@ -16,4 +16,6 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  .idea
19
- .project
19
+ .project
20
+ .ruby-version
21
+ .yarn