oxidized-web 0.13.1 → 0.15.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 (81) 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 +41 -0
  6. data/.github/workflows/stale.yml +20 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +38 -3
  9. data/.rubocop_todo.yml +27 -211
  10. data/CHANGELOG.md +46 -0
  11. data/README.md +8 -5
  12. data/Rakefile +49 -5
  13. data/docs/development.md +182 -0
  14. data/lib/oxidized/web/public/css/oxidized.css +59 -0
  15. data/lib/oxidized/web/public/scripts/oxidized.js +1 -48
  16. data/lib/oxidized/web/public/weblibs/bootstrap-icons.css +2078 -0
  17. data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js +6314 -0
  18. data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js.map +1 -0
  19. data/lib/oxidized/web/public/weblibs/bootstrap.css +12057 -0
  20. data/lib/oxidized/web/public/weblibs/bootstrap.css.map +1 -0
  21. data/lib/oxidized/web/public/weblibs/bootstrap.js +4494 -0
  22. data/lib/oxidized/web/public/weblibs/bootstrap.js.map +1 -0
  23. data/lib/oxidized/web/public/weblibs/buttons.bootstrap5.css +395 -0
  24. data/lib/oxidized/web/public/weblibs/buttons.bootstrap5.js +114 -0
  25. data/lib/oxidized/web/public/weblibs/buttons.colVis.js +256 -0
  26. data/lib/oxidized/web/public/weblibs/dataTables.bootstrap5.css +517 -0
  27. data/lib/oxidized/web/public/weblibs/dataTables.bootstrap5.js +122 -0
  28. data/lib/oxidized/web/public/weblibs/dataTables.buttons.js +2936 -0
  29. data/lib/oxidized/web/public/weblibs/dataTables.js +13843 -0
  30. data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff +0 -0
  31. data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff2 +0 -0
  32. data/lib/oxidized/web/public/weblibs/jquery.js +10716 -0
  33. data/lib/oxidized/web/version.rb +7 -0
  34. data/lib/oxidized/web/views/conf_search.haml +14 -13
  35. data/lib/oxidized/web/views/diffs.haml +5 -5
  36. data/lib/oxidized/web/views/footer.haml +5 -4
  37. data/lib/oxidized/web/views/head.haml +21 -7
  38. data/lib/oxidized/web/views/layout.haml +25 -34
  39. data/lib/oxidized/web/views/node.haml +10 -8
  40. data/lib/oxidized/web/views/nodes.haml +45 -35
  41. data/lib/oxidized/web/views/stats.haml +32 -24
  42. data/lib/oxidized/web/views/version.haml +8 -6
  43. data/lib/oxidized/web/views/versions.haml +23 -24
  44. data/lib/oxidized/web/webapp.rb +117 -113
  45. data/lib/oxidized/web.rb +10 -7
  46. data/oxidized-web.gemspec +32 -18
  47. data/package-lock.json +104 -0
  48. data/package.json +21 -0
  49. data/spec/node_spec.rb +99 -0
  50. data/spec/node_version_spec.rb +102 -0
  51. data/spec/nodes_spec.rb +57 -0
  52. data/spec/root_spec.rb +18 -0
  53. data/spec/spec_helper.rb +11 -0
  54. data/spec/webapp_spec.rb +28 -0
  55. metadata +183 -74
  56. data/lib/oxidized/web/mig.rb +0 -150
  57. data/lib/oxidized/web/public/css/bootstrap.min.css +0 -5
  58. data/lib/oxidized/web/public/css/buttons.bootstrap.min.css +0 -1
  59. data/lib/oxidized/web/public/css/dataTables.bootstrap.css +0 -299
  60. data/lib/oxidized/web/public/css/dataTables.colVis.css +0 -171
  61. data/lib/oxidized/web/public/css/oxidized_custom.css +0 -19
  62. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.eot +0 -0
  63. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.svg +0 -229
  64. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  65. data/lib/oxidized/web/public/fonts/glyphicons-halflings-regular.woff +0 -0
  66. data/lib/oxidized/web/public/images/diff_15x17.png +0 -0
  67. data/lib/oxidized/web/public/images/sort_asc.png +0 -0
  68. data/lib/oxidized/web/public/images/sort_asc_disabled.png +0 -0
  69. data/lib/oxidized/web/public/images/sort_both.png +0 -0
  70. data/lib/oxidized/web/public/images/sort_desc.png +0 -0
  71. data/lib/oxidized/web/public/images/sort_desc_disabled.png +0 -0
  72. data/lib/oxidized/web/public/images/versioning_18px.png +0 -0
  73. data/lib/oxidized/web/public/scripts/bootstrap.min.js +0 -6
  74. data/lib/oxidized/web/public/scripts/dataTables.bootstrap.js +0 -186
  75. data/lib/oxidized/web/public/scripts/dataTables.colVis.js +0 -1123
  76. data/lib/oxidized/web/public/scripts/jquery-2.1.1.min.js +0 -4
  77. data/lib/oxidized/web/public/scripts/jquery.dataTables.min.js +0 -157
  78. data/lib/oxidized/web/public/scripts/jquery.min.js +0 -6
  79. data/lib/oxidized/web/public/scripts/script-migration.js +0 -15
  80. data/lib/oxidized/web/views/migration.haml +0 -46
  81. 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: a515263e99de223e65d1e1e0a9d4e0602fa005fbc9d1b30b99ad83e1f8ab6a26
4
+ data.tar.gz: c4a0eec1d16723e088fffe26dbb781ee18a6b3e6a70b48cd1ff1bfcd9c135fda
5
5
  SHA512:
6
- metadata.gz: e0e38327ab5c7e92e071d0baad334ea5b0dd8f0cff995dd11c8d7ba3133f5091b931c3df9a64b7970613792c2f65387a498318cf81fa11a83cefb4237b57193a
7
- data.tar.gz: 150d902906c3f603eb0dbeeb6e42833c9287f6a6334e651042350cf95cb75c13ecd8aec3d436d80b1775b214072092401ebd5443ea6d945c28a760ed99f22f5d
6
+ metadata.gz: ad7b334289a032e4c83c80e0f5d1b8de8db8ad4e00b4e9ac5c6a60b8ea4c1f1d16851b6219cd7713512704e6f3c47359ecd0331a9dea9c0fd32916a8a9c58438
7
+ data.tar.gz: 33c2f33ef670646da9bd87d50efe1b0d3aabcb07c101d929c874d750431eac4f5c00aa24e80741fcf3207a4e6e0f2430f30dae780f839532e16f99be8da47fc8
@@ -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,41 @@
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', '3.4', 'ruby-head']
23
+ continue-on-error: ${{ matrix.ruby-version == 'ruby-head' }}
24
+
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - name: Set up Ruby
28
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
29
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
30
+ uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby-version }}
33
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
34
+ - name: rubocop
35
+ uses: reviewdog/action-rubocop@v2
36
+ with:
37
+ rubocop_version: gemfile
38
+ rubocop_extensions: rubocop-minitest:gemfile rubocop-rake:gemfile rubocop-rails:gemfile
39
+ reporter: github-pr-review
40
+ - name: Run tests
41
+ run: bundle exec rake
@@ -0,0 +1,20 @@
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
+ stale-issue-message: 'This issue is stale because it has been open 90 days with no activity.'
17
+ stale-pr-message: 'This PR is stale because it has been open 90 days with no activity.'
18
+ operations-per-run: 500
19
+ days-before-stale: 90
20
+ days-before-close: -1
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
+ plugins:
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,64 @@
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 2025-02-17 07:41:09 UTC using RuboCop version 1.72.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
58
-
59
- # Offense count: 1
60
- # Configuration parameters: CountBlocks.
61
- Metrics/BlockNesting:
62
- Max: 5
63
-
64
- # Offense count: 2
65
- # Configuration parameters: CountComments.
66
- Metrics/ClassLength:
67
- Max: 272
12
+ Max: 52
68
13
 
69
14
  # Offense count: 2
15
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
70
16
  Metrics/CyclomaticComplexity:
71
17
  Max: 9
72
18
 
73
19
  # Offense count: 9
74
- # Configuration parameters: CountComments, ExcludedMethods.
20
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
75
21
  Metrics/MethodLength:
76
- Max: 36
22
+ Max: 33
77
23
 
78
- # Offense count: 3
24
+ # Offense count: 2
25
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
79
26
  Metrics/PerceivedComplexity:
80
27
  Max: 11
81
28
 
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
29
  # Offense count: 1
96
- Security/Eval:
30
+ # Configuration parameters: Include.
31
+ # Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
32
+ Rails/Exit:
97
33
  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
34
  - '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
-
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
35
 
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:
36
+ # Offense count: 7
37
+ # This cop supports unsafe autocorrection (--autocorrect-all).
38
+ # Configuration parameters: Include.
39
+ # Include: **/Rakefile, **/*.rake
40
+ Rails/RakeEnvironment:
160
41
  Exclude:
161
42
  - 'Rakefile'
162
43
 
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
- # 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:
193
- 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
44
  # Offense count: 1
205
- # Cop supports --auto-correct.
206
- Style/ParallelAssignment:
45
+ # This cop supports safe autocorrection (--autocorrect).
46
+ Rake/Desc:
207
47
  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'
48
+ - 'Rakefile'
221
49
 
222
- # Offense count: 1
223
- # Cop supports --auto-correct.
224
- Style/SelfAssignment:
50
+ # Offense count: 2
51
+ Rake/DuplicateTask:
225
52
  Exclude:
226
- - 'lib/oxidized/web/webapp.rb'
53
+ - 'Rakefile'
227
54
 
228
55
  # Offense count: 1
229
- # Cop supports --auto-correct.
230
- # Configuration parameters: EnforcedStyleForMultiline.
231
- # SupportedStylesForMultiline: comma, consistent_comma, no_comma
232
- Style/TrailingCommaInHashLiteral:
56
+ Security/Eval:
233
57
  Exclude:
234
- - 'lib/oxidized/web.rb'
58
+ - 'Rakefile'
235
59
 
236
60
  # Offense count: 1
237
- # Cop supports --auto-correct.
238
- Style/WhileUntilDo:
61
+ # This cop supports unsafe autocorrection (--autocorrect-all).
62
+ Security/JSONLoad:
239
63
  Exclude:
240
64
  - '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,46 @@
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.15.0 – 2025-02-17]
8
+ This release fixes a security issue on the RANCID migration page.
9
+ A non-authenticated user could gain control over the Linux user running
10
+ oxidized-web. The RANCID migration page was already deprecated in version
11
+ 0.14.0, so it has been completely removed in this new version.
12
+ Thank you to Jon O'Reilly and Jamie Riden from NetSPI for discovering and
13
+ reporting this security issue!
14
+
15
+ ### Changed
16
+ - Update datatables.net to 2.2.2 and datatables.net-buttons to 3.2.2 (@robertcheramy)
17
+ - remove the RANCID migration page (@robertchreamy)
18
+ - dependency on oxidized 0.31 (@robertchreamy)
19
+ - Update datatables.net to 2.2.1 and datatables.net-buttons to 3.2.1 (@robertcheramy)
20
+
21
+ ### Fixed
22
+ - #302: group name containing a '/' produced a Sinatra error (@robertcheramy)
23
+
24
+
25
+ ## [0.14.0 - 2024-06-28]
26
+
27
+ ### Added
28
+ - CHANGELOG.md created (@robertchreamy)
29
+ - First minitest: get / (@robertchreamy)
30
+ - docs/development.md created (@robertchreamy)
31
+ - weblibs are maintained with npm (@robertchreamy)
32
+ - display Oxidized-web version in the footer (@robertcheramy)
33
+
34
+ ### Changed
35
+ - gem dependencies updated (@robertchreamy)
36
+ - support for ruby 3.0 dropped (@robertchreamy)
37
+ - #215: weblibs (jQuery, bootstrap, datatables.net) updated (@robertchreamy)
38
+ - the web design follows where possible bootstrap without specific css (@robertchreamy)
39
+ - deprecating the RANCID migration page (@robertchreamy)
40
+
41
+ ### Fixed
42
+ - #232: escape_once not supported in haml 6.0 (@robertchreamy)
43
+ - #253: deprecated sass dependency dropped (@robertchreamy)
44
+ - rubocop warnings fixed (@robertchreamy)
45
+ - #234: removed link to not working live demo (@robertchreamy)
46
+ - 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