oxidized-script 0.6.0 → 0.7.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.
- checksums.yaml +4 -4
- data/.github/PULL_REQUEST_TEMPLATE.md +12 -0
- data/.github/dependabot.yml +31 -0
- data/.github/workflows/codeql.yml +76 -0
- data/.github/workflows/publishdocker.yml +25 -0
- data/.github/workflows/ruby.yml +43 -0
- data/.github/workflows/stale.yml +21 -0
- data/.gitignore +1 -1
- data/.rubocop.yml +24 -0
- data/.rubocop_todo.yml +407 -0
- data/CHANGELOG.md +41 -6
- data/Gemfile +0 -1
- data/Rakefile +19 -5
- data/lib/oxidized/script/cli.rb +39 -33
- data/oxidized-script.gemspec +21 -9
- metadata +133 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd86bc7eb47c34474806973616144d76929e76e6be946c2be376867e30fd85a0
|
4
|
+
data.tar.gz: 23559fdcbf463e4c06579d6c1991c6a0c6980f1d946edb34bb2957ec79edac8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a63abec821ddf36e1c56389205de27c426633c0fd13c4dc2023d201f369e801b6df17c1da8b935bb5228d117d759f076dbfea0654af63af4287b1f8b582a774b
|
7
|
+
data.tar.gz: 622ee1d0e5daea7570f1883163696f3bb47f9a73a9ac000888d36eab747fb1abf9c837bffd483da9ae665b4995262e8ac09f78110cba78b397349b3d79e5eda8
|
@@ -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,31 @@
|
|
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
|
+
labels:
|
15
|
+
- dependencies
|
16
|
+
- package-ecosystem: "bundler"
|
17
|
+
target-branch: "master"
|
18
|
+
directory: "/"
|
19
|
+
schedule:
|
20
|
+
interval: "daily"
|
21
|
+
open-pull-requests-limit: 10
|
22
|
+
labels:
|
23
|
+
- dependencies
|
24
|
+
- package-ecosystem: "docker"
|
25
|
+
target-branch: "master"
|
26
|
+
directory: "/"
|
27
|
+
schedule:
|
28
|
+
interval: "daily"
|
29
|
+
open-pull-requests-limit: 10
|
30
|
+
labels:
|
31
|
+
- dependencies
|
@@ -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,25 @@
|
|
1
|
+
name: Publish Docker
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches: [ "master" ]
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
if: github.repository_owner == 'ytti'
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@master
|
11
|
+
with:
|
12
|
+
fetch-depth: 0
|
13
|
+
- name: Get Release Version
|
14
|
+
id: get_version
|
15
|
+
run: echo "release-version=$(git describe --tags)" >> $GITHUB_OUTPUT
|
16
|
+
- name: Set up Docker Buildx
|
17
|
+
uses: docker/setup-buildx-action@v3
|
18
|
+
- name: Publish to Registry
|
19
|
+
uses: elgohr/Publish-Docker-Github-Action@v5
|
20
|
+
with:
|
21
|
+
name: oxidized/oxidized
|
22
|
+
username: ${{ secrets.DOCKER_USERNAME }}
|
23
|
+
password: ${{ secrets.DOCKER_PASSWORD }}
|
24
|
+
tags: "latest,${{ steps.get_version.outputs.release-version }}"
|
25
|
+
platforms: linux/amd64,linux/arm64
|
@@ -0,0 +1,43 @@
|
|
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
|
39
|
+
reporter: github-pr-review
|
40
|
+
- name: Run tests
|
41
|
+
run: bundle exec rake
|
42
|
+
- uses: codecov/codecov-action@v5
|
43
|
+
if: ${{ always() }}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
name: "Stale Issue/PR cleanup"
|
3
|
+
on:
|
4
|
+
schedule:
|
5
|
+
- cron: "30 1 * * *"
|
6
|
+
|
7
|
+
permissions:
|
8
|
+
issues: write
|
9
|
+
pull-requests: write
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
stale:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/stale@v9
|
16
|
+
with:
|
17
|
+
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity.'
|
18
|
+
stale-pr-message: 'This PR is stale because it has been open 90 days with no activity.'
|
19
|
+
operations-per-run: 500
|
20
|
+
days-before-stale: 90
|
21
|
+
days-before-close: -1
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
NewCops: enable
|
5
|
+
TargetRubyVersion: 3.2
|
6
|
+
|
7
|
+
Lint/RaiseException:
|
8
|
+
Enabled: true
|
9
|
+
|
10
|
+
Lint/StructNewOverride:
|
11
|
+
Enabled: true
|
12
|
+
|
13
|
+
Style/HashEachMethods:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
Style/HashTransformKeys:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
Style/HashTransformValues:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
require:
|
23
|
+
- rubocop-rake
|
24
|
+
- rubocop-minitest
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,407 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config --exclude-limit 10000`
|
3
|
+
# on 2025-01-20 18:20:44 UTC using RuboCop version 1.70.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
# Configuration parameters: Severity, Include.
|
11
|
+
# Include: **/*.gemspec
|
12
|
+
Gemspec/RequiredRubyVersion:
|
13
|
+
Exclude:
|
14
|
+
- 'oxidized-script.gemspec'
|
15
|
+
|
16
|
+
# Offense count: 5
|
17
|
+
# This cop supports safe autocorrection (--autocorrect).
|
18
|
+
Layout/EmptyLineAfterGuardClause:
|
19
|
+
Exclude:
|
20
|
+
- 'lib/oxidized/script/cli.rb'
|
21
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
22
|
+
- 'lib/oxidized/script/script.rb'
|
23
|
+
|
24
|
+
# Offense count: 2
|
25
|
+
# This cop supports safe autocorrection (--autocorrect).
|
26
|
+
# Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
|
27
|
+
Layout/EmptyLineBetweenDefs:
|
28
|
+
Exclude:
|
29
|
+
- 'lib/oxidized/script/script.rb'
|
30
|
+
|
31
|
+
# Offense count: 1
|
32
|
+
# This cop supports safe autocorrection (--autocorrect).
|
33
|
+
Layout/EmptyLines:
|
34
|
+
Exclude:
|
35
|
+
- 'lib/oxidized/script/script.rb'
|
36
|
+
|
37
|
+
# Offense count: 1
|
38
|
+
# This cop supports safe autocorrection (--autocorrect).
|
39
|
+
# Configuration parameters: AllowAliasSyntax, AllowedMethods.
|
40
|
+
# AllowedMethods: alias_method, public, protected, private
|
41
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
42
|
+
Exclude:
|
43
|
+
- 'lib/oxidized/script/cli.rb'
|
44
|
+
|
45
|
+
# Offense count: 3
|
46
|
+
# This cop supports safe autocorrection (--autocorrect).
|
47
|
+
# Configuration parameters: EnforcedStyle.
|
48
|
+
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
|
49
|
+
Layout/EmptyLinesAroundClassBody:
|
50
|
+
Exclude:
|
51
|
+
- 'lib/oxidized/script/cli.rb'
|
52
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
53
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
54
|
+
|
55
|
+
# Offense count: 11
|
56
|
+
# This cop supports safe autocorrection (--autocorrect).
|
57
|
+
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
|
58
|
+
Layout/ExtraSpacing:
|
59
|
+
Exclude:
|
60
|
+
- 'lib/oxidized/script/cli.rb'
|
61
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
62
|
+
|
63
|
+
# Offense count: 1
|
64
|
+
# This cop supports safe autocorrection (--autocorrect).
|
65
|
+
Layout/SpaceAfterComma:
|
66
|
+
Exclude:
|
67
|
+
- 'lib/oxidized/script/cli.rb'
|
68
|
+
|
69
|
+
# Offense count: 4
|
70
|
+
# This cop supports safe autocorrection (--autocorrect).
|
71
|
+
# Configuration parameters: .
|
72
|
+
# SupportedStyles: space, no_space
|
73
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
74
|
+
EnforcedStyle: no_space
|
75
|
+
|
76
|
+
# Offense count: 12
|
77
|
+
# This cop supports safe autocorrection (--autocorrect).
|
78
|
+
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
|
79
|
+
# SupportedStylesForExponentOperator: space, no_space
|
80
|
+
# SupportedStylesForRationalLiterals: space, no_space
|
81
|
+
Layout/SpaceAroundOperators:
|
82
|
+
Exclude:
|
83
|
+
- 'lib/oxidized/script/cli.rb'
|
84
|
+
- 'lib/oxidized/script/script.rb'
|
85
|
+
|
86
|
+
# Offense count: 4
|
87
|
+
# This cop supports safe autocorrection (--autocorrect).
|
88
|
+
# Configuration parameters: AllowForAlignment.
|
89
|
+
Layout/SpaceBeforeFirstArg:
|
90
|
+
Exclude:
|
91
|
+
- 'lib/oxidized/script/cli.rb'
|
92
|
+
|
93
|
+
# Offense count: 2
|
94
|
+
# Configuration parameters: AllowedParentClasses.
|
95
|
+
Lint/MissingSuper:
|
96
|
+
Exclude:
|
97
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
98
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
99
|
+
|
100
|
+
# Offense count: 1
|
101
|
+
# This cop supports safe autocorrection (--autocorrect).
|
102
|
+
Lint/RedundantStringCoercion:
|
103
|
+
Exclude:
|
104
|
+
- 'lib/oxidized/script/cli.rb'
|
105
|
+
|
106
|
+
# Offense count: 1
|
107
|
+
# This cop supports safe autocorrection (--autocorrect).
|
108
|
+
Lint/ScriptPermission:
|
109
|
+
Exclude:
|
110
|
+
- 'lib/oxidized/script/script.rb'
|
111
|
+
|
112
|
+
# Offense count: 2
|
113
|
+
# This cop supports safe autocorrection (--autocorrect).
|
114
|
+
# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
|
115
|
+
# NotImplementedExceptions: NotImplementedError
|
116
|
+
Lint/UnusedMethodArgument:
|
117
|
+
Exclude:
|
118
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
119
|
+
- 'lib/oxidized/script/script.rb'
|
120
|
+
|
121
|
+
# Offense count: 2
|
122
|
+
# This cop supports safe autocorrection (--autocorrect).
|
123
|
+
# Configuration parameters: AutoCorrect.
|
124
|
+
Lint/UselessAssignment:
|
125
|
+
Exclude:
|
126
|
+
- 'lib/oxidized/script/script.rb'
|
127
|
+
|
128
|
+
# Offense count: 6
|
129
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
|
130
|
+
Metrics/AbcSize:
|
131
|
+
Max: 54
|
132
|
+
|
133
|
+
# Offense count: 1
|
134
|
+
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
135
|
+
# AllowedMethods: refine
|
136
|
+
Metrics/BlockLength:
|
137
|
+
Max: 31
|
138
|
+
|
139
|
+
# Offense count: 1
|
140
|
+
# Configuration parameters: CountComments, CountAsOne.
|
141
|
+
Metrics/ClassLength:
|
142
|
+
Max: 168
|
143
|
+
|
144
|
+
# Offense count: 4
|
145
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
146
|
+
Metrics/CyclomaticComplexity:
|
147
|
+
Max: 18
|
148
|
+
|
149
|
+
# Offense count: 8
|
150
|
+
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
151
|
+
Metrics/MethodLength:
|
152
|
+
Max: 44
|
153
|
+
|
154
|
+
# Offense count: 4
|
155
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
156
|
+
Metrics/PerceivedComplexity:
|
157
|
+
Max: 18
|
158
|
+
|
159
|
+
# Offense count: 1
|
160
|
+
Naming/AccessorMethodName:
|
161
|
+
Exclude:
|
162
|
+
- 'lib/oxidized/script/cli.rb'
|
163
|
+
|
164
|
+
# Offense count: 4
|
165
|
+
Naming/ConstantName:
|
166
|
+
Exclude:
|
167
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
168
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
169
|
+
|
170
|
+
# Offense count: 2
|
171
|
+
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
172
|
+
# CheckDefinitionPathHierarchyRoots: lib, spec, test, src
|
173
|
+
# 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
|
174
|
+
Naming/FileName:
|
175
|
+
Exclude:
|
176
|
+
- 'Rakefile.rb'
|
177
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
178
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
179
|
+
|
180
|
+
# Offense count: 3
|
181
|
+
# This cop supports safe autocorrection (--autocorrect).
|
182
|
+
# Configuration parameters: PreferredName.
|
183
|
+
Naming/RescuedExceptionsVariableName:
|
184
|
+
Exclude:
|
185
|
+
- 'bin/oxs'
|
186
|
+
- 'lib/oxidized/script/cli.rb'
|
187
|
+
- 'lib/oxidized/script/script.rb'
|
188
|
+
|
189
|
+
# Offense count: 1
|
190
|
+
Security/Eval:
|
191
|
+
Exclude:
|
192
|
+
- 'Rakefile'
|
193
|
+
|
194
|
+
# Offense count: 1
|
195
|
+
# This cop supports safe autocorrection (--autocorrect).
|
196
|
+
# Configuration parameters: EnforcedStyle.
|
197
|
+
# SupportedStyles: prefer_alias, prefer_alias_method
|
198
|
+
Style/Alias:
|
199
|
+
Exclude:
|
200
|
+
- 'lib/oxidized/script/script.rb'
|
201
|
+
|
202
|
+
# Offense count: 8
|
203
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
204
|
+
# Configuration parameters: EnforcedStyle.
|
205
|
+
# SupportedStyles: always, conditionals
|
206
|
+
Style/AndOr:
|
207
|
+
Exclude:
|
208
|
+
- 'lib/oxidized/script/cli.rb'
|
209
|
+
|
210
|
+
# Offense count: 1
|
211
|
+
# This cop supports safe autocorrection (--autocorrect).
|
212
|
+
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
|
213
|
+
# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
|
214
|
+
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
|
215
|
+
# FunctionalMethods: let, let!, subject, watch
|
216
|
+
# AllowedMethods: lambda, proc, it
|
217
|
+
Style/BlockDelimiters:
|
218
|
+
Exclude:
|
219
|
+
- 'lib/oxidized/script/cli.rb'
|
220
|
+
|
221
|
+
# Offense count: 2
|
222
|
+
Style/ClassVars:
|
223
|
+
Exclude:
|
224
|
+
- 'lib/oxidized/script/script.rb'
|
225
|
+
|
226
|
+
# Offense count: 1
|
227
|
+
# This cop supports safe autocorrection (--autocorrect).
|
228
|
+
# Configuration parameters: EnforcedStyle, AllowInnerBackticks.
|
229
|
+
# SupportedStyles: backticks, percent_x, mixed
|
230
|
+
Style/CommandLiteral:
|
231
|
+
Exclude:
|
232
|
+
- 'Rakefile'
|
233
|
+
|
234
|
+
# Offense count: 7
|
235
|
+
# Configuration parameters: AllowedConstants.
|
236
|
+
Style/Documentation:
|
237
|
+
Exclude:
|
238
|
+
- 'spec/**/*'
|
239
|
+
- 'test/**/*'
|
240
|
+
- 'lib/oxidized/script/cli.rb'
|
241
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
242
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
243
|
+
- 'lib/oxidized/script/script.rb'
|
244
|
+
|
245
|
+
# Offense count: 1
|
246
|
+
# This cop supports safe autocorrection (--autocorrect).
|
247
|
+
# Configuration parameters: AutoCorrect, EnforcedStyle.
|
248
|
+
# SupportedStyles: compact, expanded
|
249
|
+
Style/EmptyMethod:
|
250
|
+
Exclude:
|
251
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
252
|
+
|
253
|
+
# Offense count: 2
|
254
|
+
# This cop supports safe autocorrection (--autocorrect).
|
255
|
+
# Configuration parameters: EnforcedStyle.
|
256
|
+
# SupportedStyles: format, sprintf, percent
|
257
|
+
Style/FormatString:
|
258
|
+
Exclude:
|
259
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
260
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
261
|
+
|
262
|
+
# Offense count: 4
|
263
|
+
# This cop supports safe autocorrection (--autocorrect).
|
264
|
+
# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
|
265
|
+
# SupportedStyles: annotated, template, unannotated
|
266
|
+
Style/FormatStringToken:
|
267
|
+
EnforcedStyle: unannotated
|
268
|
+
|
269
|
+
# Offense count: 10
|
270
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
271
|
+
# Configuration parameters: EnforcedStyle.
|
272
|
+
# SupportedStyles: always, always_true, never
|
273
|
+
Style/FrozenStringLiteralComment:
|
274
|
+
Exclude:
|
275
|
+
- 'Gemfile'
|
276
|
+
- 'Rakefile'
|
277
|
+
- 'bin/oxs'
|
278
|
+
- 'lib/oxidized/script.rb'
|
279
|
+
- 'lib/oxidized/script/cli.rb'
|
280
|
+
- 'lib/oxidized/script/command.rb'
|
281
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
282
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
283
|
+
- 'lib/oxidized/script/script.rb'
|
284
|
+
- 'oxidized-script.gemspec'
|
285
|
+
|
286
|
+
# Offense count: 1
|
287
|
+
# This cop supports safe autocorrection (--autocorrect).
|
288
|
+
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
|
289
|
+
Style/GuardClause:
|
290
|
+
Exclude:
|
291
|
+
- 'lib/oxidized/script/script.rb'
|
292
|
+
|
293
|
+
# Offense count: 11
|
294
|
+
# This cop supports safe autocorrection (--autocorrect).
|
295
|
+
# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
|
296
|
+
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
|
297
|
+
# SupportedShorthandSyntax: always, never, either, consistent, either_consistent
|
298
|
+
Style/HashSyntax:
|
299
|
+
Exclude:
|
300
|
+
- 'lib/oxidized/script/cli.rb'
|
301
|
+
- 'lib/oxidized/script/script.rb'
|
302
|
+
|
303
|
+
# Offense count: 1
|
304
|
+
# This cop supports safe autocorrection (--autocorrect).
|
305
|
+
Style/IfUnlessModifier:
|
306
|
+
Exclude:
|
307
|
+
- 'lib/oxidized/script/cli.rb'
|
308
|
+
|
309
|
+
# Offense count: 9
|
310
|
+
# This cop supports safe autocorrection (--autocorrect).
|
311
|
+
# Configuration parameters: EnforcedStyle.
|
312
|
+
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
313
|
+
Style/MethodDefParentheses:
|
314
|
+
Exclude:
|
315
|
+
- 'lib/oxidized/script/cli.rb'
|
316
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
317
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
318
|
+
- 'lib/oxidized/script/script.rb'
|
319
|
+
|
320
|
+
# Offense count: 4
|
321
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
322
|
+
# Configuration parameters: EnforcedStyle.
|
323
|
+
# SupportedStyles: literals, strict
|
324
|
+
Style/MutableConstant:
|
325
|
+
Exclude:
|
326
|
+
- 'lib/oxidized/script/commands/list-models.rb'
|
327
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
328
|
+
|
329
|
+
# Offense count: 2
|
330
|
+
# This cop supports safe autocorrection (--autocorrect).
|
331
|
+
# Configuration parameters: EnforcedStyle.
|
332
|
+
# SupportedStyles: both, prefix, postfix
|
333
|
+
Style/NegatedIf:
|
334
|
+
Exclude:
|
335
|
+
- 'lib/oxidized/script/script.rb'
|
336
|
+
|
337
|
+
# Offense count: 8
|
338
|
+
# This cop supports safe autocorrection (--autocorrect).
|
339
|
+
Style/Not:
|
340
|
+
Exclude:
|
341
|
+
- 'lib/oxidized/script/cli.rb'
|
342
|
+
- 'lib/oxidized/script/script.rb'
|
343
|
+
|
344
|
+
# Offense count: 1
|
345
|
+
# This cop supports safe autocorrection (--autocorrect).
|
346
|
+
Style/RedundantBegin:
|
347
|
+
Exclude:
|
348
|
+
- 'lib/oxidized/script/script.rb'
|
349
|
+
|
350
|
+
# Offense count: 1
|
351
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
352
|
+
Style/RedundantInterpolation:
|
353
|
+
Exclude:
|
354
|
+
- 'bin/oxs'
|
355
|
+
|
356
|
+
# Offense count: 3
|
357
|
+
# This cop supports safe autocorrection (--autocorrect).
|
358
|
+
# Configuration parameters: EnforcedStyle.
|
359
|
+
# SupportedStyles: implicit, explicit
|
360
|
+
Style/RescueStandardError:
|
361
|
+
Exclude:
|
362
|
+
- 'bin/oxs'
|
363
|
+
- 'lib/oxidized/script/cli.rb'
|
364
|
+
- 'lib/oxidized/script/script.rb'
|
365
|
+
|
366
|
+
# Offense count: 1
|
367
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
368
|
+
Style/SlicingWithRange:
|
369
|
+
Exclude:
|
370
|
+
- 'lib/oxidized/script/commands/list-nodes.rb'
|
371
|
+
|
372
|
+
# Offense count: 3
|
373
|
+
# This cop supports safe autocorrection (--autocorrect).
|
374
|
+
# Configuration parameters: AllowModifier.
|
375
|
+
Style/SoleNestedConditional:
|
376
|
+
Exclude:
|
377
|
+
- 'lib/oxidized/script/cli.rb'
|
378
|
+
|
379
|
+
# Offense count: 3
|
380
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
381
|
+
# Configuration parameters: Mode.
|
382
|
+
Style/StringConcatenation:
|
383
|
+
Exclude:
|
384
|
+
- 'Rakefile'
|
385
|
+
- 'lib/oxidized/script/cli.rb'
|
386
|
+
|
387
|
+
# Offense count: 5
|
388
|
+
# This cop supports safe autocorrection (--autocorrect).
|
389
|
+
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
390
|
+
# SupportedStyles: single_quotes, double_quotes
|
391
|
+
Style/StringLiterals:
|
392
|
+
Exclude:
|
393
|
+
- 'lib/oxidized/script/cli.rb'
|
394
|
+
|
395
|
+
# Offense count: 1
|
396
|
+
# This cop supports safe autocorrection (--autocorrect).
|
397
|
+
# Configuration parameters: MinSize.
|
398
|
+
# SupportedStyles: percent, brackets
|
399
|
+
Style/SymbolArray:
|
400
|
+
EnforcedStyle: brackets
|
401
|
+
|
402
|
+
# Offense count: 1
|
403
|
+
# This cop supports safe autocorrection (--autocorrect).
|
404
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
|
405
|
+
# URISchemes: http, https
|
406
|
+
Layout/LineLength:
|
407
|
+
Max: 128
|
data/CHANGELOG.md
CHANGED
@@ -1,21 +1,56 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
4
|
+
|
5
|
+
## [0.7.0 - 2025-01-21]
|
6
|
+
|
7
|
+
### Added
|
8
|
+
- Added no-trim option (@Gman98ish)
|
9
|
+
- added rubocop config (@wk)
|
10
|
+
- added Github Actions from ytti/oxidized (@aschaber1)
|
11
|
+
|
12
|
+
### Fixed
|
13
|
+
- Normalise file permissions before push (@ytti)
|
14
|
+
- update gemspec dependencies (@nickhilliard)
|
15
|
+
- updates + sanity checking on gh actions (@nickhilliard)
|
16
|
+
|
17
|
+
## [0.6.0 - 2018-12-16]
|
18
|
+
|
19
|
+
### Added
|
20
|
+
- Implemented combination of regex with ostype (@LarsKollstedt)
|
21
|
+
|
22
|
+
### Fixed
|
23
|
+
- refactor some code (@ytti)
|
24
|
+
- updated oxidized dependency (@ytti)
|
25
|
+
|
26
|
+
## [0.5.1 - 2018-06-03]
|
27
|
+
|
28
|
+
### Fixed
|
29
|
+
- fixed oxidized dependency (@ytti)
|
30
|
+
|
31
|
+
## [0.5.0 - 2017-11-01]
|
32
|
+
|
33
|
+
### Fixed
|
34
|
+
- adding in sync for stdout giving more control over individual changes (@nertwork)
|
35
|
+
|
36
|
+
## 0.4.0
|
2
37
|
- FEATURE on --ostype to get a list of nodes that match a particular OS Type (junos, routeros, ios) (by InsaneSplash)
|
3
38
|
|
4
|
-
|
39
|
+
## 0.3.1
|
5
40
|
- FEATURE on --dryrun to get a list of nodes without running a command (by @nertwork)
|
6
41
|
- BUGFIX: errors with large config files running in ruby threads - forking instead (by @nertwork)
|
7
42
|
|
8
|
-
|
43
|
+
## 0.3.0
|
9
44
|
- FEATURE on --regex to run commands on hosts matching a regex (by @nertwork)
|
10
45
|
- FEATURE on -g to run commands on entire group (by @nertwork)
|
11
46
|
- FEATURE on -r to thread commands run on entire group (by @nertwork)
|
12
47
|
- BUGFIX: fix for replacing escaped newlines in config files (by @nertwork)
|
13
48
|
|
14
|
-
|
49
|
+
## 0.2.0
|
15
50
|
- FEATURE on -x disable ssh exec mode (by @nickhilliard)
|
16
51
|
|
17
|
-
|
52
|
+
## 0.1.2
|
18
53
|
- BUGFIX: fix for oxidized refactored code
|
19
54
|
|
20
|
-
|
55
|
+
## 0.1.1
|
21
56
|
- BUGFIX: initialize manager only once
|
data/Gemfile
CHANGED
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
|
-
|
5
|
+
gemfile = [gemspec.name, gemspec.version].join('-') + '.gem'
|
6
6
|
|
7
7
|
desc 'Validate gemspec'
|
8
8
|
task :gemspec do
|
@@ -20,10 +20,11 @@ task :test do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
desc 'Install gem'
|
23
|
-
task :
|
24
|
-
system "sudo -Es sh -c
|
23
|
+
task install: :build do
|
24
|
+
system "sudo -Es sh -c 'umask 022; gem install gems/#{gemfile}'"
|
25
25
|
end
|
26
26
|
|
27
|
+
task build: :chmod
|
27
28
|
desc 'Remove gems'
|
28
29
|
task :clean do
|
29
30
|
FileUtils.rm_rf 'pkg'
|
@@ -35,8 +36,21 @@ task :tag do
|
|
35
36
|
end
|
36
37
|
|
37
38
|
desc 'Push to rubygems'
|
38
|
-
task :
|
39
|
-
system "gem push pkg/#{
|
39
|
+
task push: :tag do
|
40
|
+
system "gem push pkg/#{gemfile}"
|
41
|
+
end
|
42
|
+
|
43
|
+
desc 'Normalise file permissions'
|
44
|
+
task :chmod do
|
45
|
+
xbit = %w[
|
46
|
+
bin/oxs
|
47
|
+
]
|
48
|
+
dirs = []
|
49
|
+
%x(git ls-files -z).split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }.each do |file|
|
50
|
+
dirs.push(File.dirname(file))
|
51
|
+
xbit.include?(file) ? File.chmod(0o0755, file) : File.chmod(0o0644, file)
|
52
|
+
end
|
53
|
+
dirs.sort.uniq.each { |dir| File.chmod(0o0755, dir) }
|
40
54
|
end
|
41
55
|
|
42
56
|
task default: :test
|
data/lib/oxidized/script/cli.rb
CHANGED
@@ -76,41 +76,47 @@ module Oxidized
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def opts_parse cmds
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
79
|
+
opts = Slop.parse do |opt|
|
80
|
+
opt.banner = 'Usage: oxs [options] hostname [command]'
|
81
|
+
opt.on '-h', '--help', 'show usage' do
|
82
|
+
puts opt
|
83
|
+
exit
|
84
|
+
end
|
85
|
+
opt.string '-m', '--model', 'host model (ios, junos, etc), otherwise discovered from Oxidized source'
|
86
|
+
opt.string '-o', '--ostype', 'OS Type (ios, junos, etc)'
|
87
|
+
opt.string '-x', '--commands', 'commands file to be sent'
|
88
|
+
opt.string '-u', '--username', 'username to use'
|
89
|
+
opt.string '-p', '--password', 'password to use'
|
90
|
+
opt.int '-t', '--timeout', 'timeout value to use'
|
91
|
+
opt.string '-e', '--enable', 'enable password to use'
|
92
|
+
opt.string '-c', '--community', 'snmp community to use for discovery'
|
93
|
+
opt.string '-g', '--group', 'group to run commands on (ios, junos, etc), specified in oxidized db'
|
94
|
+
opt.int '-r', '--threads', 'specify ammount of threads to use for running group', default: '1'
|
95
|
+
opt.string '--regex', 'run on all hosts that match the regexp'
|
96
|
+
opt.on '--dryrun', 'do a dry run on either groups or regexp to find matching hosts'
|
97
|
+
opt.string '--protocols','protocols to use, default "ssh, telnet"'
|
98
|
+
opt.on '--no-trim', 'Dont trim newlines and whitespace when running commands'
|
99
|
+
opt.on '-v', '--verbose', 'verbose output, e.g. show commands sent'
|
100
|
+
opt.on '-d', '--debug', 'turn on debugging'
|
101
|
+
opt.on :terse, 'display clean output'
|
102
|
+
|
103
|
+
cmds.each do |cmd|
|
104
|
+
if cmd[:class].respond_to? :cmdline
|
105
|
+
cmd[:class].cmdline opt, self
|
106
|
+
else
|
107
|
+
opt.on "--" + cmd[:name], cmd[:description] do
|
108
|
+
@cmd_class = cmd[:class]
|
109
|
+
end
|
103
110
|
end
|
104
111
|
end
|
105
112
|
end
|
106
|
-
|
107
|
-
@
|
108
|
-
@
|
109
|
-
@
|
110
|
-
@
|
111
|
-
@
|
112
|
-
|
113
|
-
[slop.parse!, slop]
|
113
|
+
@group = opts[:group]
|
114
|
+
@ostype = opts[:ostype]
|
115
|
+
@threads = opts[:threads]
|
116
|
+
@verbose = opts[:verbose]
|
117
|
+
@dryrun = opts[:dryrun]
|
118
|
+
@regex = opts[:regex]
|
119
|
+
[opts.arguments, opts]
|
114
120
|
end
|
115
121
|
|
116
122
|
def connect
|
@@ -126,8 +132,8 @@ module Oxidized
|
|
126
132
|
out = ''
|
127
133
|
file = file == '-' ? $stdin : File.read(file)
|
128
134
|
file.each_line do |line|
|
129
|
-
line.chomp!
|
130
135
|
# line.sub!(/\\n/, "\n") # treat escaped newline as newline
|
136
|
+
line.chomp! unless @opts["no-trim"]
|
131
137
|
out += @oxs.cmd line
|
132
138
|
end
|
133
139
|
out
|
data/oxidized-script.gemspec
CHANGED
@@ -1,18 +1,30 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'oxidized-script'
|
3
|
-
s.version = '0.
|
4
|
-
s.licenses = %w
|
3
|
+
s.version = '0.7.0'
|
4
|
+
s.licenses = %w[Apache-2.0]
|
5
5
|
s.platform = Gem::Platform::RUBY
|
6
|
-
s.authors = [
|
7
|
-
s.email = %w
|
6
|
+
s.authors = ['Saku Ytti']
|
7
|
+
s.email = %w[saku@ytti.fi]
|
8
8
|
s.homepage = 'http://github.com/ytti/oxidized-script'
|
9
9
|
s.summary = 'cli + library for scripting network devices'
|
10
10
|
s.description = 'rancid clogin-like script to push configs to devices + library interface to do same'
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.executables = %w( oxs )
|
11
|
+
s.files = `git ls-files -z`.split("\x0")
|
12
|
+
s.executables = %w[oxs]
|
14
13
|
s.require_path = 'lib'
|
15
14
|
|
16
|
-
s.
|
17
|
-
|
15
|
+
s.metadata['rubygems_mfa_required'] = 'true'
|
16
|
+
|
17
|
+
s.required_ruby_version = '>= 3.0'
|
18
|
+
|
19
|
+
s.add_runtime_dependency 'oxidized', '~> 0.29'
|
20
|
+
s.add_runtime_dependency 'slop', '~> 4.6'
|
21
|
+
|
22
|
+
s.add_development_dependency 'bundler', '~> 2.2'
|
23
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
24
|
+
s.add_development_dependency 'rubocop', '~> 1.70.0'
|
25
|
+
s.add_development_dependency 'rubocop-minitest', '~> 0.29.0'
|
26
|
+
s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
|
27
|
+
s.add_development_dependency 'simplecov', '~> 0.22.0'
|
28
|
+
s.add_development_dependency 'simplecov-cobertura', '~> 2.1.0'
|
29
|
+
s.add_development_dependency 'simplecov-html', '~> 0.12.3'
|
18
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oxidized-script
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oxidized
|
@@ -16,28 +16,140 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.29'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.29'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: slop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '4.6'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '4.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.2'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '13.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '13.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.70.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.70.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.29.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.29.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.6.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.6.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.22.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.22.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov-cobertura
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.1.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.1.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov-html
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 0.12.3
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.12.3
|
41
153
|
description: rancid clogin-like script to push configs to devices + library interface
|
42
154
|
to do same
|
43
155
|
email:
|
@@ -47,7 +159,15 @@ executables:
|
|
47
159
|
extensions: []
|
48
160
|
extra_rdoc_files: []
|
49
161
|
files:
|
162
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
163
|
+
- ".github/dependabot.yml"
|
164
|
+
- ".github/workflows/codeql.yml"
|
165
|
+
- ".github/workflows/publishdocker.yml"
|
166
|
+
- ".github/workflows/ruby.yml"
|
167
|
+
- ".github/workflows/stale.yml"
|
50
168
|
- ".gitignore"
|
169
|
+
- ".rubocop.yml"
|
170
|
+
- ".rubocop_todo.yml"
|
51
171
|
- CHANGELOG.md
|
52
172
|
- Gemfile
|
53
173
|
- README.md
|
@@ -63,8 +183,9 @@ files:
|
|
63
183
|
homepage: http://github.com/ytti/oxidized-script
|
64
184
|
licenses:
|
65
185
|
- Apache-2.0
|
66
|
-
metadata:
|
67
|
-
|
186
|
+
metadata:
|
187
|
+
rubygems_mfa_required: 'true'
|
188
|
+
post_install_message:
|
68
189
|
rdoc_options: []
|
69
190
|
require_paths:
|
70
191
|
- lib
|
@@ -72,16 +193,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
193
|
requirements:
|
73
194
|
- - ">="
|
74
195
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
196
|
+
version: '3.0'
|
76
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
198
|
requirements:
|
78
199
|
- - ">="
|
79
200
|
- !ruby/object:Gem::Version
|
80
201
|
version: '0'
|
81
202
|
requirements: []
|
82
|
-
|
83
|
-
|
84
|
-
signing_key:
|
203
|
+
rubygems_version: 3.4.19
|
204
|
+
signing_key:
|
85
205
|
specification_version: 4
|
86
206
|
summary: cli + library for scripting network devices
|
87
207
|
test_files: []
|