oxidized 0.29.0 → 0.29.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +31 -0
- data/.github/workflows/codeql.yml +76 -0
- data/.github/workflows/publishdocker.yml +3 -1
- data/.github/workflows/stale.yml +16 -0
- data/.rubocop_todo.yml +3 -3
- data/CHANGELOG.md +10 -0
- data/Dockerfile +2 -0
- data/README.md +3 -6
- data/docs/Creating-Models.md +14 -15
- data/docs/Ruby-API.md +12 -8
- data/lib/oxidized/model/acmepacket.rb +2 -0
- data/lib/oxidized/model/acos.rb +3 -1
- data/lib/oxidized/model/acsw.rb +2 -0
- data/lib/oxidized/model/adtran.rb +2 -0
- data/lib/oxidized/model/adva.rb +2 -0
- data/lib/oxidized/model/aen.rb +2 -0
- data/lib/oxidized/model/aireos.rb +2 -0
- data/lib/oxidized/model/airfiber.rb +2 -0
- data/lib/oxidized/model/airos.rb +2 -0
- data/lib/oxidized/model/alteonos.rb +2 -0
- data/lib/oxidized/model/alvarion.rb +2 -0
- data/lib/oxidized/model/aos.rb +2 -0
- data/lib/oxidized/model/aos7.rb +2 -0
- data/lib/oxidized/model/aoscx.rb +2 -0
- data/lib/oxidized/model/aosw.rb +3 -1
- data/lib/oxidized/model/apc_aos.rb +2 -0
- data/lib/oxidized/model/arbos.rb +2 -0
- data/lib/oxidized/model/aricentiss.rb +2 -0
- data/lib/oxidized/model/asa.rb +2 -0
- data/lib/oxidized/model/asyncos.rb +2 -0
- data/lib/oxidized/model/audiocodes.rb +2 -0
- data/lib/oxidized/model/audiocodesmp.rb +2 -0
- data/lib/oxidized/model/awplus.rb +2 -0
- data/lib/oxidized/model/axos.rb +2 -0
- data/lib/oxidized/model/bdcom.rb +2 -0
- data/lib/oxidized/model/boss.rb +3 -1
- data/lib/oxidized/model/br6910.rb +2 -0
- data/lib/oxidized/model/c4cmts.rb +2 -0
- data/lib/oxidized/model/cambium.rb +2 -0
- data/lib/oxidized/model/cambiumepmp.rb +2 -0
- data/lib/oxidized/model/casa.rb +2 -0
- data/lib/oxidized/model/catos.rb +2 -0
- data/lib/oxidized/model/ciscoce.rb +2 -0
- data/lib/oxidized/model/cisconga.rb +2 -0
- data/lib/oxidized/model/ciscosma.rb +2 -0
- data/lib/oxidized/model/ciscosmb.rb +2 -0
- data/lib/oxidized/model/ciscovpn3k.rb +2 -0
- data/lib/oxidized/model/cnos.rb +2 -0
- data/lib/oxidized/model/comnetms.rb +2 -0
- data/lib/oxidized/model/comtrol.rb +2 -0
- data/lib/oxidized/model/comware.rb +1 -0
- data/lib/oxidized/model/coriant8600.rb +2 -0
- data/lib/oxidized/model/coriantgroove.rb +2 -0
- data/lib/oxidized/model/corianttmos.rb +2 -0
- data/lib/oxidized/model/cumulus.rb +2 -0
- data/lib/oxidized/model/datacom.rb +2 -0
- data/lib/oxidized/model/dcnos.rb +2 -0
- data/lib/oxidized/model/dellx.rb +2 -0
- data/lib/oxidized/model/dlink.rb +2 -0
- data/lib/oxidized/model/dnos.rb +2 -0
- data/lib/oxidized/model/eciapollo.rb +2 -0
- data/lib/oxidized/model/edgecos.rb +2 -0
- data/lib/oxidized/model/edgeos.rb +2 -0
- data/lib/oxidized/model/edgeswitch.rb +2 -0
- data/lib/oxidized/model/eltex.rb +2 -0
- data/lib/oxidized/model/enterasys.rb +2 -0
- data/lib/oxidized/model/enterasys800.rb +2 -0
- data/lib/oxidized/model/eos.rb +2 -0
- data/lib/oxidized/model/fabricos.rb +2 -0
- data/lib/oxidized/model/fastiron.rb +2 -0
- data/lib/oxidized/model/fiberdriver.rb +2 -0
- data/lib/oxidized/model/firebrick.rb +2 -0
- data/lib/oxidized/model/firelinuxos.rb +2 -0
- data/lib/oxidized/model/firewareos.rb +2 -0
- data/lib/oxidized/model/fortios.rb +2 -0
- data/lib/oxidized/model/fortiwlc.rb +2 -0
- data/lib/oxidized/model/ftos.rb +2 -0
- data/lib/oxidized/model/fujitsupy.rb +2 -0
- data/lib/oxidized/model/gaiaos.rb +2 -0
- data/lib/oxidized/model/gcombnps.rb +2 -0
- data/lib/oxidized/model/grandstream.rb +2 -0
- data/lib/oxidized/model/h3c.rb +2 -0
- data/lib/oxidized/model/hatteras.rb +2 -0
- data/lib/oxidized/model/hios.rb +2 -0
- data/lib/oxidized/model/hirschmann.rb +2 -0
- data/lib/oxidized/model/hpebladesystem.rb +2 -0
- data/lib/oxidized/model/hpemsa.rb +2 -0
- data/lib/oxidized/model/hpmsm.rb +2 -0
- data/lib/oxidized/model/ibos.rb +2 -0
- data/lib/oxidized/model/icotera.rb +2 -0
- data/lib/oxidized/model/ios.rb +2 -0
- data/lib/oxidized/model/iosxr.rb +2 -0
- data/lib/oxidized/model/ipos.rb +2 -0
- data/lib/oxidized/model/ironware.rb +2 -0
- data/lib/oxidized/model/isam.rb +2 -0
- data/lib/oxidized/model/junos.rb +2 -0
- data/lib/oxidized/model/lancom.rb +2 -0
- data/lib/oxidized/model/lenovonos.rb +2 -0
- data/lib/oxidized/model/linksyssrw.rb +2 -0
- data/lib/oxidized/model/linuxgeneric.rb +2 -0
- data/lib/oxidized/model/masteros.rb +2 -0
- data/lib/oxidized/model/mlnxos.rb +2 -0
- data/lib/oxidized/model/model.rb +6 -5
- data/lib/oxidized/model/mtrlrfs.rb +2 -0
- data/lib/oxidized/model/ndms.rb +3 -1
- data/lib/oxidized/model/necix.rb +2 -0
- data/lib/oxidized/model/netgear.rb +2 -0
- data/lib/oxidized/model/netonix.rb +2 -0
- data/lib/oxidized/model/netscaler.rb +2 -0
- data/lib/oxidized/model/nodegrid.rb +2 -0
- data/lib/oxidized/model/nos.rb +2 -0
- data/lib/oxidized/model/nsxconfig.rb +2 -0
- data/lib/oxidized/model/nsxfirewall.rb +2 -0
- data/lib/oxidized/model/nxos.rb +2 -0
- data/lib/oxidized/model/oneos.rb +2 -0
- data/lib/oxidized/model/openbsd.rb +2 -0
- data/lib/oxidized/model/opengear.rb +2 -0
- data/lib/oxidized/model/openwrt.rb +2 -0
- data/lib/oxidized/model/opnsense.rb +2 -0
- data/lib/oxidized/model/os10.rb +2 -0
- data/lib/oxidized/model/outputs.rb +2 -0
- data/lib/oxidized/model/panos.rb +2 -0
- data/lib/oxidized/model/panos_api.rb +2 -0
- data/lib/oxidized/model/pfsense.rb +2 -0
- data/lib/oxidized/model/planet.rb +2 -0
- data/lib/oxidized/model/powerconnect.rb +2 -0
- data/lib/oxidized/model/procurve.rb +2 -0
- data/lib/oxidized/model/purityos.rb +2 -0
- data/lib/oxidized/model/qtech.rb +2 -0
- data/lib/oxidized/model/quantaos.rb +2 -0
- data/lib/oxidized/model/raisecom.rb +2 -0
- data/lib/oxidized/model/routeros.rb +2 -0
- data/lib/oxidized/model/saos.rb +2 -0
- data/lib/oxidized/model/screenos.rb +2 -0
- data/lib/oxidized/model/sgos.rb +2 -0
- data/lib/oxidized/model/siklu.rb +2 -0
- data/lib/oxidized/model/slxos.rb +2 -0
- data/lib/oxidized/model/smartax.rb +2 -0
- data/lib/oxidized/model/smartcs.rb +2 -0
- data/lib/oxidized/model/sonicos.rb +2 -0
- data/lib/oxidized/model/speedtouch.rb +2 -0
- data/lib/oxidized/model/sros.rb +3 -1
- data/lib/oxidized/model/srosmd.rb +2 -0
- data/lib/oxidized/model/stoneos.rb +2 -0
- data/lib/oxidized/model/swos.rb +2 -0
- data/lib/oxidized/model/tdre.rb +2 -0
- data/lib/oxidized/model/telco.rb +2 -0
- data/lib/oxidized/model/tmos.rb +3 -1
- data/lib/oxidized/model/tplink.rb +2 -0
- data/lib/oxidized/model/trango.rb +2 -0
- data/lib/oxidized/model/truenas.rb +2 -0
- data/lib/oxidized/model/ucs.rb +2 -0
- data/lib/oxidized/model/viptela.rb +2 -0
- data/lib/oxidized/model/voltaire.rb +2 -0
- data/lib/oxidized/model/voss.rb +2 -0
- data/lib/oxidized/model/vrp.rb +2 -0
- data/lib/oxidized/model/vyatta.rb +2 -0
- data/lib/oxidized/model/weos.rb +2 -0
- data/lib/oxidized/model/xos.rb +2 -0
- data/lib/oxidized/model/yamaha.rb +2 -0
- data/lib/oxidized/model/zhoneolt.rb +2 -0
- data/lib/oxidized/model/zteolt.rb +2 -0
- data/lib/oxidized/model/zy1308.rb +2 -0
- data/lib/oxidized/model/zynos.rb +2 -0
- data/lib/oxidized/model/zynoscli.rb +2 -0
- data/lib/oxidized/model/zynosgs.rb +2 -0
- data/lib/oxidized/output/git.rb +2 -1
- data/lib/oxidized/version.rb +2 -2
- data/lib/oxidized.rb +1 -1
- data/lib/refinements.rb +43 -0
- metadata +6 -4
- data/.github/no-response.yml +0 -13
- data/lib/oxidized/string.rb +0 -42
@@ -1,4 +1,6 @@
|
|
1
1
|
class Procurve < Oxidized::Model
|
2
|
+
using Refinements
|
3
|
+
|
2
4
|
# previous command is repeated followed by "\eE", which sometimes ends up on last line
|
3
5
|
# ssh switches prompt may start with \r, followed by the prompt itself, regex ([\w\s.-]+[#>] ), which ends the line
|
4
6
|
# telnet switches may start with various vt100 control characters, regex (\e\[24;[0-9][hH]), followed by the prompt, followed
|
data/lib/oxidized/model/qtech.rb
CHANGED
data/lib/oxidized/model/saos.rb
CHANGED
data/lib/oxidized/model/sgos.rb
CHANGED
data/lib/oxidized/model/siklu.rb
CHANGED
data/lib/oxidized/model/slxos.rb
CHANGED
data/lib/oxidized/model/sros.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
class SROS < Oxidized::Model
|
2
|
+
using Refinements
|
3
|
+
|
2
4
|
#
|
3
5
|
# Nokia SR OS (TiMOS) (formerly TiMetra, Alcatel, Alcatel-Lucent).
|
4
6
|
# Used in 7705 SAR, 7210 SAS, 7450 ESS, 7750 SR, 7950 XRS, and NSP.
|
5
7
|
#
|
6
8
|
|
7
|
-
comment
|
9
|
+
comment '# '
|
8
10
|
|
9
11
|
prompt /^([-\w.:>*]+\s?[#>]\s?)$/
|
10
12
|
|
data/lib/oxidized/model/swos.rb
CHANGED
data/lib/oxidized/model/tdre.rb
CHANGED
data/lib/oxidized/model/telco.rb
CHANGED
data/lib/oxidized/model/tmos.rb
CHANGED
data/lib/oxidized/model/ucs.rb
CHANGED
data/lib/oxidized/model/voss.rb
CHANGED
data/lib/oxidized/model/vrp.rb
CHANGED
data/lib/oxidized/model/weos.rb
CHANGED
data/lib/oxidized/model/xos.rb
CHANGED
data/lib/oxidized/model/zynos.rb
CHANGED
data/lib/oxidized/output/git.rb
CHANGED
@@ -79,7 +79,8 @@ module Oxidized
|
|
79
79
|
i = -1
|
80
80
|
tab = []
|
81
81
|
walker.each do |commit|
|
82
|
-
|
82
|
+
# Diabled rubocop because the suggested .empty? does not work here.
|
83
|
+
next if commit.diff(paths: [path]).size.zero? # rubocop:disable Style/ZeroLengthPredicate
|
83
84
|
|
84
85
|
hash = {}
|
85
86
|
hash[:date] = commit.time.to_s
|
data/lib/oxidized/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Oxidized
|
2
|
-
VERSION = '0.29.
|
3
|
-
VERSION_FULL = '0.29.
|
2
|
+
VERSION = '0.29.1'.freeze
|
3
|
+
VERSION_FULL = '0.29.1'.freeze
|
4
4
|
def self.version_set
|
5
5
|
version_full = %x(git describe --tags).chop rescue ""
|
6
6
|
version = %x(git describe --tags --abbrev=0).chop rescue ""
|
data/lib/oxidized.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
|
+
require 'refinements'
|
2
3
|
|
3
4
|
module Oxidized
|
4
5
|
class OxidizedError < StandardError; end
|
@@ -6,7 +7,6 @@ module Oxidized
|
|
6
7
|
Directory = File.expand_path(File.join(File.dirname(__FILE__), '../'))
|
7
8
|
|
8
9
|
require 'oxidized/version'
|
9
|
-
require 'oxidized/string'
|
10
10
|
require 'oxidized/config'
|
11
11
|
require 'oxidized/config/vars'
|
12
12
|
require 'oxidized/worker'
|
data/lib/refinements.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
module Refinements
|
2
|
+
# Use the 'refine' keyword to define refinements for the String class
|
3
|
+
refine String do
|
4
|
+
attr_accessor :type, :cmd, :name
|
5
|
+
|
6
|
+
# @return [String] copy of self with last line removed
|
7
|
+
def cut_tail(lines = 1)
|
8
|
+
return "" if length.zero?
|
9
|
+
|
10
|
+
each_line.to_a[0..(-1 - lines)].join
|
11
|
+
end
|
12
|
+
|
13
|
+
# @return [String] copy of self with first line removed
|
14
|
+
def cut_head(lines = 1)
|
15
|
+
return "" if length.zero?
|
16
|
+
|
17
|
+
each_line.to_a[lines..-1].join
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [String] copy of self with first and last lines removed
|
21
|
+
def cut_both(head = 1, tail = 1)
|
22
|
+
return "" if length.zero?
|
23
|
+
|
24
|
+
each_line.to_a[head..(-1 - tail)].join
|
25
|
+
end
|
26
|
+
|
27
|
+
# sets @cmd and @name unless @name is already set
|
28
|
+
def set_cmd(command)
|
29
|
+
@cmd = command
|
30
|
+
@name ||= @cmd.to_s.strip.gsub(/\s+/, '_') # what to do when command is proc? #to_s seems ghetto
|
31
|
+
end
|
32
|
+
|
33
|
+
# Initializes the String instance variables from another String instance
|
34
|
+
# when the given str is an instance of String with Oxidized refinements applied
|
35
|
+
def init_from_string(str = '')
|
36
|
+
raise TypeError unless str.instance_of?(String)
|
37
|
+
|
38
|
+
@cmd = str.instance_variable_get(:@cmd)
|
39
|
+
@name = str.instance_variable_get(:@name)
|
40
|
+
@type = str.instance_variable_get(:@type)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oxidized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.29.
|
4
|
+
version: 0.29.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-04-
|
13
|
+
date: 2023-04-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: asetus
|
@@ -290,9 +290,11 @@ extra_rdoc_files: []
|
|
290
290
|
files:
|
291
291
|
- ".codeclimate.yml"
|
292
292
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
293
|
-
- ".github/
|
293
|
+
- ".github/dependabot.yml"
|
294
|
+
- ".github/workflows/codeql.yml"
|
294
295
|
- ".github/workflows/publishdocker.yml"
|
295
296
|
- ".github/workflows/ruby.yml"
|
297
|
+
- ".github/workflows/stale.yml"
|
296
298
|
- ".gitignore"
|
297
299
|
- ".rubocop.yml"
|
298
300
|
- ".rubocop_todo.yml"
|
@@ -546,9 +548,9 @@ files:
|
|
546
548
|
- lib/oxidized/source/http.rb
|
547
549
|
- lib/oxidized/source/source.rb
|
548
550
|
- lib/oxidized/source/sql.rb
|
549
|
-
- lib/oxidized/string.rb
|
550
551
|
- lib/oxidized/version.rb
|
551
552
|
- lib/oxidized/worker.rb
|
553
|
+
- lib/refinements.rb
|
552
554
|
- oxidized.gemspec
|
553
555
|
homepage: http://github.com/ytti/oxidized
|
554
556
|
licenses:
|
data/.github/no-response.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Configuration for probot-no-response - https://github.com/probot/no-response
|
2
|
-
|
3
|
-
# Number of days of inactivity before an Issue is closed for lack of response
|
4
|
-
daysUntilClose: 21
|
5
|
-
# Label requiring a response
|
6
|
-
responseRequiredLabel: user_pending
|
7
|
-
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
|
8
|
-
closeComment: >
|
9
|
-
This issue has been automatically closed because there has been no response
|
10
|
-
to our request for more information from the original author. The information
|
11
|
-
that is currently in the issue is insufficient to take further action.
|
12
|
-
Feel free to re-open this issue if additional information becomes available,
|
13
|
-
or if you believe it has been closed in error.
|
data/lib/oxidized/string.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
module Oxidized
|
2
|
-
# Used in models, contains convenience methods
|
3
|
-
class String < String
|
4
|
-
attr_accessor :type, :cmd, :name
|
5
|
-
|
6
|
-
# @return [Oxidized::String] copy of self with last line removed
|
7
|
-
def cut_tail(lines = 1)
|
8
|
-
return Oxidized::String.new("") if length.zero?
|
9
|
-
|
10
|
-
Oxidized::String.new each_line.to_a[0..(-1 - lines)].join
|
11
|
-
end
|
12
|
-
|
13
|
-
# @return [Oxidized::String] copy of self with first line removed
|
14
|
-
def cut_head(lines = 1)
|
15
|
-
return Oxidized::String.new("") if length.zero?
|
16
|
-
|
17
|
-
Oxidized::String.new each_line.to_a[lines..-1].join
|
18
|
-
end
|
19
|
-
|
20
|
-
# @return [Oxidized::String] copy of self with first and last lines removed
|
21
|
-
def cut_both(head = 1, tail = 1)
|
22
|
-
return Oxidized::String.new("") if length.zero?
|
23
|
-
|
24
|
-
Oxidized::String.new each_line.to_a[head..(-1 - tail)].join
|
25
|
-
end
|
26
|
-
|
27
|
-
# sets @cmd and @name unless @name is already set
|
28
|
-
def set_cmd(command)
|
29
|
-
@cmd = command
|
30
|
-
@name ||= @cmd.to_s.strip.gsub(/\s+/, '_') # what to do when command is proc? #to_s seems ghetto
|
31
|
-
end
|
32
|
-
|
33
|
-
def initialize(str = '')
|
34
|
-
super
|
35
|
-
return unless str.instance_of?(Oxidized::String)
|
36
|
-
|
37
|
-
@cmd = str.cmd
|
38
|
-
@name = str.name
|
39
|
-
@type = str.type
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|