oxidized-web 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of oxidized-web might be problematic. Click here for more details.

Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.github/PULL_REQUEST_TEMPLATE.md +12 -0
  3. data/.github/dependabot.yml +25 -0
  4. data/.github/workflows/codeql.yml +76 -0
  5. data/.github/workflows/ruby.yml +42 -0
  6. data/.github/workflows/stale.yml +18 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +38 -3
  9. data/.rubocop_todo.yml +28 -207
  10. data/CHANGELOG.md +28 -0
  11. data/README.md +8 -5
  12. data/Rakefile +48 -5
  13. data/docs/development.md +170 -0
  14. data/lib/oxidized/web/mig.rb +37 -47
  15. data/lib/oxidized/web/public/css/oxidized.css +59 -0
  16. data/lib/oxidized/web/public/scripts/oxidized.js +1 -12
  17. data/lib/oxidized/web/public/weblibs/bootstrap-icons.css +2078 -0
  18. data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js +6314 -0
  19. data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js.map +1 -0
  20. data/lib/oxidized/web/public/weblibs/bootstrap.css +12057 -0
  21. data/lib/oxidized/web/public/weblibs/bootstrap.css.map +1 -0
  22. data/lib/oxidized/web/public/weblibs/bootstrap.js +4494 -0
  23. data/lib/oxidized/web/public/weblibs/bootstrap.js.map +1 -0
  24. data/lib/oxidized/web/public/weblibs/buttons.bootstrap5.css +398 -0
  25. data/lib/oxidized/web/public/weblibs/buttons.bootstrap5.js +117 -0
  26. data/lib/oxidized/web/public/weblibs/buttons.colVis.js +256 -0
  27. data/lib/oxidized/web/public/weblibs/dataTables.bootstrap5.css +487 -0
  28. data/lib/oxidized/web/public/weblibs/dataTables.bootstrap5.js +147 -0
  29. data/lib/oxidized/web/public/weblibs/dataTables.buttons.js +2820 -0
  30. data/lib/oxidized/web/public/weblibs/dataTables.js +13171 -0
  31. data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff +0 -0
  32. data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff2 +0 -0
  33. data/lib/oxidized/web/public/weblibs/jquery.js +10716 -0
  34. data/lib/oxidized/web/version.rb +7 -0
  35. data/lib/oxidized/web/views/conf_search.haml +14 -13
  36. data/lib/oxidized/web/views/diffs.haml +5 -5
  37. data/lib/oxidized/web/views/footer.haml +5 -4
  38. data/lib/oxidized/web/views/head.haml +21 -7
  39. data/lib/oxidized/web/views/layout.haml +29 -34
  40. data/lib/oxidized/web/views/migration.haml +7 -0
  41. data/lib/oxidized/web/views/node.haml +10 -8
  42. data/lib/oxidized/web/views/nodes.haml +45 -35
  43. data/lib/oxidized/web/views/stats.haml +32 -24
  44. data/lib/oxidized/web/views/version.haml +8 -6
  45. data/lib/oxidized/web/views/versions.haml +23 -24
  46. data/lib/oxidized/web/webapp.rb +106 -87
  47. data/lib/oxidized/web.rb +10 -7
  48. data/oxidized-web.gemspec +27 -14
  49. data/package-lock.json +104 -0
  50. data/package.json +21 -0
  51. data/spec/node_spec.rb +143 -0
  52. data/spec/root_spec.rb +18 -0
  53. data/spec/spec_helper.rb +8 -0
  54. data/spec/webapp_spec.rb +28 -0
  55. metadata +187 -73
  56. data/lib/oxidized/web/public/css/bootstrap.min.css +0 -5
  57. data/lib/oxidized/web/public/css/buttons.bootstrap.min.css +0 -1
  58. data/lib/oxidized/web/public/css/dataTables.bootstrap.css +0 -299
  59. data/lib/oxidized/web/public/css/dataTables.colVis.css +0 -171
  60. data/lib/oxidized/web/public/css/oxidized_custom.css +0 -19
  61. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.eot +0 -0
  62. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.svg +0 -229
  63. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  64. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.woff +0 -0
  65. data/lib/oxidized/web/public/images/diff_15x17.png +0 -0
  66. data/lib/oxidized/web/public/images/sort_asc.png +0 -0
  67. data/lib/oxidized/web/public/images/sort_asc_disabled.png +0 -0
  68. data/lib/oxidized/web/public/images/sort_both.png +0 -0
  69. data/lib/oxidized/web/public/images/sort_desc.png +0 -0
  70. data/lib/oxidized/web/public/images/sort_desc_disabled.png +0 -0
  71. data/lib/oxidized/web/public/images/versioning_18px.png +0 -0
  72. data/lib/oxidized/web/public/scripts/bootstrap.min.js +0 -6
  73. data/lib/oxidized/web/public/scripts/dataTables.bootstrap.js +0 -186
  74. data/lib/oxidized/web/public/scripts/dataTables.colVis.js +0 -1123
  75. data/lib/oxidized/web/public/scripts/jquery-2.1.1.min.js +0 -4
  76. data/lib/oxidized/web/public/scripts/jquery.dataTables.min.js +0 -157
  77. data/lib/oxidized/web/public/scripts/jquery.min.js +0 -6
  78. data/lib/oxidized/web/views/sass/oxidized.sass +0 -113
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a0d392d1d8dc6166e75fd562f853c8119ceb9b2fb370a754d0b60acacc0de20
4
- data.tar.gz: 7f6a971a151cb06ce0044647b5cb101b95f3563e93539ff9d63a5bee2d73552f
3
+ metadata.gz: fd7aba682137b4460c7f9f76ad8991416d3358c58a01c639b3c5457bac5ec2c0
4
+ data.tar.gz: '091d541900d22a286cd735eb41d13d34efeb49be06a2f5fb69a196740fa08935'
5
5
  SHA512:
6
- metadata.gz: e0e38327ab5c7e92e071d0baad334ea5b0dd8f0cff995dd11c8d7ba3133f5091b931c3df9a64b7970613792c2f65387a498318cf81fa11a83cefb4237b57193a
7
- data.tar.gz: 150d902906c3f603eb0dbeeb6e42833c9287f6a6334e651042350cf95cb75c13ecd8aec3d436d80b1775b214072092401ebd5443ea6d945c28a760ed99f22f5d
6
+ metadata.gz: 674f0040daf698447e7ad52f60a83cbceb60f1580b9abcca9328509f513c08728f0e906b8636d151e95c11c0d5294922b1bc2431c4be6ea438e66c47f64000e2
7
+ data.tar.gz: 892d8416013ab3ff0ca4123725cae2e4ebdf78750cf9b10356a386a1ee952e18cdfcc2238c86bfd9626d40ff99436c8b195c31d28aaada97d686f59ba3adffec
@@ -0,0 +1,12 @@
1
+ ## Pre-Request Checklist
2
+ <!-- Not all items apply to each PR, but a great PR addresses all applicable items. -->
3
+
4
+ - [ ] Passes rubocop code analysis (try `rubocop --auto-correct`)
5
+ - [ ] Tests added or adapted (try `rake test`)
6
+ - [ ] Changes are reflected in the documentation
7
+ - [ ] User-visible changes appended to [CHANGELOG.md](/CHANGELOG.md)
8
+
9
+ ## Description
10
+ <!-- Describe your changes here. -->
11
+
12
+ <!-- Add a text similar to "Closes issue #" if this PR relates to an existing issue. -->
@@ -0,0 +1,25 @@
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://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "github-actions"
9
+ target-branch: "master"
10
+ directory: "/"
11
+ schedule:
12
+ interval: "daily"
13
+ open-pull-requests-limit: 10
14
+ - package-ecosystem: "bundler"
15
+ target-branch: "master"
16
+ directory: "/"
17
+ schedule:
18
+ interval: "daily"
19
+ open-pull-requests-limit: 10
20
+ - package-ecosystem: "npm"
21
+ target-branch: "master"
22
+ directory: "/"
23
+ schedule:
24
+ interval: "daily"
25
+ open-pull-requests-limit: 10
@@ -0,0 +1,76 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ "master" ]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ "master" ]
20
+ schedule:
21
+ - cron: '44 21 * * 0'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'ruby' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
+ # Use only 'java' to analyze code written in Java, Kotlin or both
38
+ # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
39
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
40
+
41
+ steps:
42
+ - name: Checkout repository
43
+ uses: actions/checkout@v4
44
+
45
+ # Initializes the CodeQL tools for scanning.
46
+ - name: Initialize CodeQL
47
+ uses: github/codeql-action/init@v3
48
+ with:
49
+ languages: ${{ matrix.language }}
50
+ # If you wish to specify custom queries, you can do so here or in a config file.
51
+ # By default, queries listed here will override any specified in a config file.
52
+ # Prefix the list here with "+" to use these queries and those in the config file.
53
+
54
+ # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
55
+ # queries: security-extended,security-and-quality
56
+
57
+
58
+ # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
59
+ # If this step fails, then you should remove it and run the build manually (see below)
60
+ - name: Autobuild
61
+ uses: github/codeql-action/autobuild@v3
62
+
63
+ # ℹ️ Command-line programs to run using the OS shell.
64
+ # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
65
+
66
+ # If the Autobuild fails above, remove it and uncomment the following three lines.
67
+ # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
68
+
69
+ # - run: |
70
+ # echo "Run, Build Application using script"
71
+ # ./location_of_script_within_repo/buildscript.sh
72
+
73
+ - name: Perform CodeQL Analysis
74
+ uses: github/codeql-action/analyze@v3
75
+ with:
76
+ category: "/language:${{matrix.language}}"
@@ -0,0 +1,42 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: CI
9
+
10
+ on: [ push, pull_request ]
11
+ # push:
12
+ # branches: [ master ]
13
+ # pull_request:
14
+ # branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ ruby-version: ['3.1', '3.2', '3.3']
23
+
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - name: Set up Ruby
27
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
28
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.ruby-version }}
32
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
33
+ - name: rubocop
34
+ uses: reviewdog/action-rubocop@v2
35
+ with:
36
+ rubocop_version: gemfile
37
+ rubocop_extensions: rubocop-minitest:gemfile rubocop-rake:gemfile rubocop-rails:gemfile
38
+ reporter: github-pr-review
39
+ - name: Run tests
40
+ run: bundle exec rake
41
+ - uses: codecov/codecov-action@v4
42
+ if: ${{ always() }}
@@ -0,0 +1,18 @@
1
+ name: "Stale Issue/PR cleanup"
2
+ on:
3
+ schedule:
4
+ - cron: "30 1 * * *"
5
+
6
+ permissions:
7
+ issues: write
8
+ pull-requests: write
9
+
10
+ jobs:
11
+ stale:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/stale@v9
15
+ with:
16
+ operations-per-run: 500
17
+ days-before-issue-stale: 90
18
+ days-before-close: 30
data/.gitignore CHANGED
@@ -49,3 +49,6 @@ Gemfile.lock
49
49
 
50
50
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
51
51
  .rvmrc
52
+
53
+ # npm files
54
+ /node_modules/
data/.rubocop.yml CHANGED
@@ -1,20 +1,43 @@
1
1
  inherit_from: .rubocop_todo.yml
2
+ require:
3
+ - rubocop-rails
4
+ - rubocop-rake
5
+ - rubocop-minitest
2
6
 
3
7
  # Do not attempt to police vendored code, and exclude special cases
4
8
  AllCops:
5
- TargetRubyVersion: 2.3
9
+ NewCops: enable
10
+ TargetRubyVersion: 3.1
6
11
  Exclude:
7
12
  - 'vendor/**/*'
8
13
 
9
- StringLiterals:
14
+ Gemspec/DevelopmentDependencies:
15
+ EnforcedStyle: gemspec
16
+
17
+ Metrics/ClassLength:
18
+ Max: 300
19
+
20
+ Metrics/BlockLength:
21
+ Max: 150
22
+
23
+ Style/Documentation:
24
+ Enabled: false
25
+
26
+ Style/StringLiterals:
10
27
  Enabled: false
11
28
 
12
29
  Style/FrozenStringLiteralComment:
13
30
  Enabled: false
14
31
 
15
- LineLength:
32
+ Layout/LineLength:
16
33
  Enabled: false
17
34
 
35
+ Lint/RaiseException:
36
+ Enabled: true
37
+
38
+ Lint/StructNewOverride:
39
+ Enabled: true
40
+
18
41
  # Stick to verbose until https://bugs.ruby-lang.org/issues/10177 is closed.
19
42
  Style/PreferredHashMethods:
20
43
  EnforcedStyle: verbose
@@ -32,6 +55,18 @@ Style/FormatString:
32
55
  Style/FormatStringToken:
33
56
  EnforcedStyle: unannotated
34
57
 
58
+ Style/HashEachMethods:
59
+ Enabled: true
60
+
61
+ Style/HashTransformKeys:
62
+ Enabled: true
63
+
64
+ Style/HashTransformValues:
65
+ Enabled: true
66
+
67
+ Style/HashSyntax:
68
+ EnforcedShorthandSyntax: either
69
+
35
70
  Style/RescueModifier:
36
71
  Enabled: false
37
72
 
data/.rubocop_todo.yml CHANGED
@@ -1,248 +1,69 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2019-03-03 09:40:37 +0100 using RuboCop version 0.65.0.
3
+ # on 2024-06-28 07:42:20 UTC using RuboCop version 1.64.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: 1
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
12
- # Include: **/*.gemspec
13
- Gemspec/OrderedDependencies:
14
- Exclude:
15
- - 'oxidized-web.gemspec'
16
-
17
- # Offense count: 2
18
- # Cop supports --auto-correct.
19
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
20
- # SupportedStyles: space, no_space, compact
21
- # SupportedStylesForEmptyBraces: space, no_space
22
- Layout/SpaceInsideHashLiteralBraces:
23
- Exclude:
24
- - 'lib/oxidized/web/webapp.rb'
25
-
26
- # Offense count: 1
27
- # Cop supports --auto-correct.
28
- # Configuration parameters: AllowInHeredoc.
29
- Layout/TrailingWhitespace:
30
- Exclude:
31
- - 'lib/oxidized/web/mig.rb'
32
-
33
- # Offense count: 1
34
- Lint/AmbiguousBlockAssociation:
35
- Exclude:
36
- - 'lib/oxidized/web/webapp.rb'
37
-
38
- # Offense count: 1
39
- # Configuration parameters: AllowSafeAssignment.
40
- Lint/AssignmentInCondition:
41
- Exclude:
42
- - 'lib/oxidized/web/mig.rb'
43
-
44
- # Offense count: 1
45
- Lint/HandleExceptions:
46
- Exclude:
47
- - 'lib/oxidized/web/webapp.rb'
48
-
49
- # Offense count: 7
9
+ # Offense count: 5
10
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
50
11
  Metrics/AbcSize:
51
- Max: 47
52
-
53
- # Offense count: 2
54
- # Configuration parameters: CountComments, ExcludedMethods.
55
- # ExcludedMethods: refine
56
- Metrics/BlockLength:
57
- Max: 33
12
+ Max: 52
58
13
 
59
14
  # Offense count: 1
60
15
  # Configuration parameters: CountBlocks.
61
16
  Metrics/BlockNesting:
62
- Max: 5
63
-
64
- # Offense count: 2
65
- # Configuration parameters: CountComments.
66
- Metrics/ClassLength:
67
- Max: 272
17
+ Max: 4
68
18
 
69
19
  # Offense count: 2
20
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
70
21
  Metrics/CyclomaticComplexity:
71
22
  Max: 9
72
23
 
73
24
  # Offense count: 9
74
- # Configuration parameters: CountComments, ExcludedMethods.
25
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
75
26
  Metrics/MethodLength:
76
- Max: 36
27
+ Max: 33
77
28
 
78
- # Offense count: 3
29
+ # Offense count: 2
30
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
79
31
  Metrics/PerceivedComplexity:
80
32
  Max: 11
81
33
 
82
- # Offense count: 5
83
- # Cop supports --auto-correct.
84
- Performance/RedundantMatch:
85
- Exclude:
86
- - 'lib/oxidized/web/mig.rb'
87
- - 'lib/oxidized/web/webapp.rb'
88
-
89
- # Offense count: 2
90
- # Cop supports --auto-correct.
91
- Performance/StringReplacement:
92
- Exclude:
93
- - 'lib/oxidized/web/mig.rb'
94
-
95
34
  # Offense count: 1
96
- Security/Eval:
35
+ # Configuration parameters: Include.
36
+ # Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
37
+ Rails/Exit:
97
38
  Exclude:
98
- - 'Rakefile'
99
-
100
- # Offense count: 1
101
- # Cop supports --auto-correct.
102
- # Configuration parameters: AutoCorrect.
103
- Security/JSONLoad:
104
- Exclude:
105
- - 'lib/oxidized/web/webapp.rb'
106
-
107
- # Offense count: 2
108
- # Cop supports --auto-correct.
109
- # Configuration parameters: EnforcedStyle.
110
- # SupportedStyles: always, conditionals
111
- Style/AndOr:
112
- Exclude:
113
- - 'lib/oxidized/web/webapp.rb'
114
-
115
- # Offense count: 2
116
- # Cop supports --auto-correct.
117
- # Configuration parameters: EnforcedStyle.
118
- # SupportedStyles: braces, no_braces, context_dependent
119
- Style/BracesAroundHashParameters:
120
- Exclude:
121
- - 'lib/oxidized/web/webapp.rb'
122
-
123
- # Offense count: 2
124
- # Cop supports --auto-correct.
125
- # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
126
- # SupportedStyles: assign_to_condition, assign_inside_condition
127
- Style/ConditionalAssignment:
128
- Exclude:
129
- - 'lib/oxidized/web/webapp.rb'
130
-
131
- # Offense count: 3
132
- Style/Documentation:
133
- Exclude:
134
- - 'spec/**/*'
135
- - 'test/**/*'
136
39
  - 'lib/oxidized/web.rb'
137
- - 'lib/oxidized/web/mig.rb'
138
- - 'lib/oxidized/web/webapp.rb'
139
-
140
- # Offense count: 1
141
- # Cop supports --auto-correct.
142
- Style/EmptyLiteral:
143
- Exclude:
144
- - 'lib/oxidized/web/webapp.rb'
145
40
 
146
- # Offense count: 2
147
- # Cop supports --auto-correct.
148
- # Configuration parameters: EnforcedStyle.
149
- # SupportedStyles: each, for
150
- Style/For:
151
- Exclude:
152
- - 'lib/oxidized/web/mig.rb'
153
- - 'lib/oxidized/web/webapp.rb'
154
-
155
- # Offense count: 1
156
- # Cop supports --auto-correct.
157
- # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
158
- # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
159
- Style/HashSyntax:
41
+ # Offense count: 7
42
+ # This cop supports unsafe autocorrection (--autocorrect-all).
43
+ # Configuration parameters: Include.
44
+ # Include: **/Rakefile, **/*.rake
45
+ Rails/RakeEnvironment:
160
46
  Exclude:
161
47
  - 'Rakefile'
162
48
 
163
- # Offense count: 9
164
- # Cop supports --auto-correct.
165
- Style/IfUnlessModifier:
166
- Exclude:
167
- - 'lib/oxidized/web/mig.rb'
168
- - 'lib/oxidized/web/webapp.rb'
169
-
170
- # Offense count: 10
171
- # Cop supports --auto-correct.
172
- # Configuration parameters: EnforcedStyle.
173
- # SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
174
- Style/MethodDefParentheses:
175
- Exclude:
176
- - 'lib/oxidized/web.rb'
177
- - 'lib/oxidized/web/mig.rb'
178
- - 'lib/oxidized/web/webapp.rb'
179
-
180
49
  # Offense count: 1
181
- # Cop supports --auto-correct.
182
- # Configuration parameters: EnforcedStyle.
183
- # SupportedStyles: both, prefix, postfix
184
- Style/NegatedIf:
185
- Exclude:
186
- - 'lib/oxidized/web.rb'
187
-
188
- # Offense count: 4
189
- # Cop supports --auto-correct.
190
- # Configuration parameters: EnforcedStyle, MinBodyLength.
191
- # SupportedStyles: skip_modifier_ifs, always
192
- Style/Next:
50
+ # This cop supports safe autocorrection (--autocorrect).
51
+ Rake/Desc:
193
52
  Exclude:
194
- - 'lib/oxidized/web/mig.rb'
195
- - 'lib/oxidized/web/webapp.rb'
196
-
197
- # Offense count: 1
198
- # Cop supports --auto-correct.
199
- # Configuration parameters: IncludeSemanticChanges.
200
- Style/NonNilCheck:
201
- Exclude:
202
- - 'lib/oxidized/web/webapp.rb'
203
-
204
- # Offense count: 1
205
- # Cop supports --auto-correct.
206
- Style/ParallelAssignment:
207
- Exclude:
208
- - 'lib/oxidized/web.rb'
209
-
210
- # Offense count: 1
211
- # Cop supports --auto-correct.
212
- Style/Proc:
213
- Exclude:
214
- - 'lib/oxidized/web/webapp.rb'
215
-
216
- # Offense count: 4
217
- # Cop supports --auto-correct.
218
- Style/RedundantParentheses:
219
- Exclude:
220
- - 'lib/oxidized/web/webapp.rb'
53
+ - 'Rakefile'
221
54
 
222
- # Offense count: 1
223
- # Cop supports --auto-correct.
224
- Style/SelfAssignment:
55
+ # Offense count: 2
56
+ Rake/DuplicateTask:
225
57
  Exclude:
226
- - 'lib/oxidized/web/webapp.rb'
58
+ - 'Rakefile'
227
59
 
228
60
  # Offense count: 1
229
- # Cop supports --auto-correct.
230
- # Configuration parameters: EnforcedStyleForMultiline.
231
- # SupportedStylesForMultiline: comma, consistent_comma, no_comma
232
- Style/TrailingCommaInHashLiteral:
61
+ Security/Eval:
233
62
  Exclude:
234
- - 'lib/oxidized/web.rb'
63
+ - 'Rakefile'
235
64
 
236
65
  # Offense count: 1
237
- # Cop supports --auto-correct.
238
- Style/WhileUntilDo:
66
+ # This cop supports unsafe autocorrection (--autocorrect-all).
67
+ Security/JSONLoad:
239
68
  Exclude:
240
69
  - 'lib/oxidized/web/webapp.rb'
241
-
242
- # Offense count: 1
243
- # Cop supports --auto-correct.
244
- # Configuration parameters: WordRegex.
245
- # SupportedStyles: percent, brackets
246
- Style/WordArray:
247
- EnforcedStyle: percent
248
- MinSize: 3
data/CHANGELOG.md ADDED
@@ -0,0 +1,28 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
+
7
+ ## [0.14.0 - 2024-06-28]
8
+
9
+ ### Added
10
+ - CHANGELOG.md created (@robertchreamy)
11
+ - First minitest: get / (@robertchreamy)
12
+ - docs/development.md created (@robertchreamy)
13
+ - weblibs are maintained with npm (@robertchreamy)
14
+ - display Oxidized-web version in the footer (@robertcheramy)
15
+
16
+ ### Changed
17
+ - gem dependencies updated (@robertchreamy)
18
+ - support for ruby 3.0 dropped (@robertchreamy)
19
+ - #215: weblibs (jQuery, bootstrap, datatables.net) updated (@robertchreamy)
20
+ - the web design follows where possible bootstrap without specific css (@robertchreamy)
21
+ - deprecating the RANCID migration page (@robertchreamy)
22
+
23
+ ### Fixed
24
+ - #232: escape_once not supported in haml 6.0 (@robertchreamy)
25
+ - #253: deprecated sass dependency dropped (@robertchreamy)
26
+ - rubocop warnings fixed (@robertchreamy)
27
+ - #234: removed link to not working live demo (@robertchreamy)
28
+ - group name containing a '/' producing a Sinatra error (@robertcheramy)
data/README.md CHANGED
@@ -1,17 +1,20 @@
1
- # Oxidized Web [![Build Status](https://travis-ci.com/ytti/oxidized-web.svg)](https://travis-ci.com/ytti/oxidized-web) [![Gem Version](https://badge.fury.io/rb/oxidized-web.svg)](http://badge.fury.io/rb/oxidized-web)
1
+ # Oxidized Web
2
+
3
+ [![Build Status](https://github.com/ytti/oxidized-web/actions/workflows/ruby.yml/badge.svg)](https://github.com/ytti/oxidized-web/actions/workflows/ruby.yml)
4
+ [![Gem Version](https://badge.fury.io/rb/oxidized-web.svg)](http://badge.fury.io/rb/oxidized-web)
2
5
 
3
6
  Web userinterface and RESTful API for Oxidized.
4
7
 
5
- This is not useful independently, see https://github.com/ytti/oxidized for install instructions
8
+ This is not useful independently, see https://github.com/ytti/oxidized for install instructions.
6
9
 
7
- Live demo: http://oxidized.arahant.net
10
+ If you wonder how to run oxidized-web from git for development, have a look at
11
+ [docs/development.md](docs/development.md).
8
12
 
9
- # License and Copyright
13
+ ## License and Copyright
10
14
 
11
15
  Copyright 2013-2015 Saku Ytti <saku@ytti.fi>
12
16
  2013-2015 Samer Abdel-Hafez <sam@arahant.net>
13
17
 
14
-
15
18
  Licensed under the Apache License, Version 2.0 (the "License");
16
19
  you may not use this file except in compliance with the License.
17
20
  You may obtain a copy of the License at
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'bundler/gem_tasks'
2
2
  require 'rake/testtask'
3
3
 
4
4
  gemspec = eval(File.read(Dir['*.gemspec'].first))
5
- gemfile = [gemspec.name, gemspec.version].join('-') + '.gem'
5
+ gemfile = "#{[gemspec.name, gemspec.version].join('-')}.gem"
6
6
 
7
7
  # Integrate Rubocop if available
8
8
  begin
@@ -44,18 +44,17 @@ end
44
44
 
45
45
  desc 'Tag the release'
46
46
  task :tag do
47
- system "git tag #{gemspec.version}"
47
+ system "git tag #{gemspec.version} -m 'Release #{gemspec.version}'"
48
48
  end
49
49
 
50
50
  desc 'Push to rubygems'
51
- task :push => :tag do
51
+ task push: :tag do
52
52
  system "gem push pkg/#{gemfile}"
53
53
  end
54
54
 
55
55
  desc 'Normalise file permissions'
56
56
  task :chmod do
57
- xbit = %w[
58
- ]
57
+ xbit = %w[]
59
58
  dirs = []
60
59
  %x(git ls-files -z).split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }.each do |file|
61
60
  dirs.push(File.dirname(file))
@@ -64,4 +63,48 @@ task :chmod do
64
63
  dirs.sort.uniq.each { |dir| File.chmod(0o0755, dir) }
65
64
  end
66
65
 
66
+ desc 'Copy web packages from npm into public'
67
+ task :weblibs do
68
+ weblibs = []
69
+ fonts = []
70
+
71
+ # jQuery
72
+ weblibs << 'node_modules/jquery/dist/jquery.js'
73
+
74
+ # Bootstrap
75
+ weblibs << 'node_modules/bootstrap/dist/js/bootstrap.js'
76
+ weblibs << 'node_modules/bootstrap/dist/js/bootstrap.js.map'
77
+ weblibs << 'node_modules/bootstrap/dist/css/bootstrap.css'
78
+ weblibs << 'node_modules/bootstrap/dist/css/bootstrap.css.map'
79
+ weblibs << 'node_modules/bootstrap/dist/js/bootstrap.bundle.js'
80
+ weblibs << 'node_modules/bootstrap/dist/js/bootstrap.bundle.js.map'
81
+
82
+ # Bootstrap-icons
83
+ weblibs << 'node_modules/bootstrap-icons/font/bootstrap-icons.css'
84
+ fonts << 'node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff'
85
+ fonts << 'node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff2'
86
+
87
+ # Datatables
88
+ weblibs << 'node_modules/datatables.net/js/dataTables.js'
89
+
90
+ # Datatables + Bootstrap
91
+ weblibs << 'node_modules/datatables.net-bs5/js/dataTables.bootstrap5.js'
92
+ weblibs << 'node_modules/datatables.net-bs5/css/dataTables.bootstrap5.css'
93
+
94
+ # Datatables Buttons + Bootstrap
95
+ weblibs << 'node_modules/datatables.net-buttons-bs5/js/buttons.bootstrap5.js'
96
+ weblibs << 'node_modules/datatables.net-buttons-bs5/css/buttons.bootstrap5.css'
97
+ # colVis
98
+ weblibs << 'node_modules/datatables.net-buttons/js/dataTables.buttons.js'
99
+ weblibs << 'node_modules/datatables.net-buttons/js/buttons.colVis.js'
100
+
101
+ weblibs.each do |w|
102
+ cp(w, 'lib/oxidized/web/public/weblibs')
103
+ end
104
+
105
+ fonts.each do |f|
106
+ cp(f, 'lib/oxidized/web/public/weblibs/fonts')
107
+ end
108
+ end
109
+
67
110
  task default: :test