oxidized 0.21.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +5 -5
  2. data/.github/no-response.yml +13 -0
  3. data/.gitignore +3 -0
  4. data/.rubocop.yml +37 -0
  5. data/.rubocop_todo.yml +714 -0
  6. data/.travis.yml +7 -1
  7. data/CHANGELOG.md +341 -243
  8. data/Dockerfile +44 -16
  9. data/LICENSE +201 -0
  10. data/README.md +114 -82
  11. data/Rakefile +19 -0
  12. data/TODO.md +29 -23
  13. data/bin/oxidized +1 -2
  14. data/docs/Configuration.md +71 -31
  15. data/docs/Creating-Models.md +78 -0
  16. data/docs/Hooks.md +145 -41
  17. data/docs/Model-Notes/AireOS.md +12 -0
  18. data/docs/Model-Notes/ArbOS.md +12 -0
  19. data/docs/Model-Notes/Comware.md +14 -0
  20. data/docs/Model-Notes/EOS.md +9 -0
  21. data/docs/Model-Notes/JunOS.md +34 -0
  22. data/docs/Model-Notes/Netgear.md +68 -0
  23. data/docs/Model-Notes/README.md +19 -0
  24. data/docs/{VRP-Huawei.md → Model-Notes/VRP-Huawei.md} +10 -2
  25. data/docs/Model-Notes/XGS4600-Zyxel.md +39 -0
  26. data/docs/Outputs.md +27 -28
  27. data/docs/Ruby-API.md +38 -18
  28. data/docs/Sources.md +78 -16
  29. data/docs/Supported-OS-Types.md +171 -148
  30. data/extra/oxidized.logrotate +7 -0
  31. data/extra/oxidized.service +1 -1
  32. data/extra/rest_client.rb +4 -5
  33. data/extra/syslog.rb +16 -16
  34. data/lib/oxidized/cli.rb +3 -3
  35. data/lib/oxidized/config.rb +7 -4
  36. data/lib/oxidized/core.rb +3 -3
  37. data/lib/oxidized/hook.rb +64 -65
  38. data/lib/oxidized/hook/awssns.rb +2 -3
  39. data/lib/oxidized/hook/ciscosparkdiff.rb +49 -0
  40. data/lib/oxidized/hook/exec.rb +5 -5
  41. data/lib/oxidized/hook/githubrepo.rb +20 -14
  42. data/lib/oxidized/hook/slackdiff.rb +38 -19
  43. data/lib/oxidized/hook/xmppdiff.rb +58 -0
  44. data/lib/oxidized/input/cli.rb +5 -6
  45. data/lib/oxidized/input/ftp.rb +8 -7
  46. data/lib/oxidized/input/http.rb +39 -0
  47. data/lib/oxidized/input/ssh.rb +24 -22
  48. data/lib/oxidized/input/telnet.rb +38 -32
  49. data/lib/oxidized/jobs.rb +3 -4
  50. data/lib/oxidized/manager.rb +9 -4
  51. data/lib/oxidized/model/acos.rb +15 -16
  52. data/lib/oxidized/model/acsw.rb +3 -8
  53. data/lib/oxidized/model/aen.rb +1 -2
  54. data/lib/oxidized/model/aireos.rb +3 -5
  55. data/lib/oxidized/model/alteonos.rb +16 -18
  56. data/lib/oxidized/model/alvarion.rb +0 -4
  57. data/lib/oxidized/model/aos.rb +2 -4
  58. data/lib/oxidized/model/aos7.rb +2 -3
  59. data/lib/oxidized/model/aosw.rb +13 -15
  60. data/lib/oxidized/model/apc_aos.rb +0 -3
  61. data/lib/oxidized/model/arbos.rb +26 -0
  62. data/lib/oxidized/model/aricentiss.rb +51 -0
  63. data/lib/oxidized/model/asa.rb +33 -35
  64. data/lib/oxidized/model/asyncos.rb +41 -44
  65. data/lib/oxidized/model/audiocodes.rb +4 -8
  66. data/lib/oxidized/model/awplus.rb +84 -0
  67. data/lib/oxidized/model/boss.rb +6 -5
  68. data/lib/oxidized/model/br6910.rb +43 -45
  69. data/lib/oxidized/model/c4cmts.rb +3 -5
  70. data/lib/oxidized/model/cambium.rb +22 -0
  71. data/lib/oxidized/model/catos.rb +0 -2
  72. data/lib/oxidized/model/cisconga.rb +1 -3
  73. data/lib/oxidized/model/ciscosma.rb +37 -40
  74. data/lib/oxidized/model/ciscosmb.rb +7 -4
  75. data/lib/oxidized/model/comnetms.rb +43 -0
  76. data/lib/oxidized/model/comware.rb +9 -9
  77. data/lib/oxidized/model/coriant8600.rb +3 -5
  78. data/lib/oxidized/model/coriantgroove.rb +3 -5
  79. data/lib/oxidized/model/corianttmos.rb +1 -3
  80. data/lib/oxidized/model/cumulus.rb +26 -32
  81. data/lib/oxidized/model/datacom.rb +0 -2
  82. data/lib/oxidized/model/dcnos.rb +46 -0
  83. data/lib/oxidized/model/dlink.rb +1 -1
  84. data/lib/oxidized/model/dnos.rb +9 -5
  85. data/lib/oxidized/model/edgecos.rb +45 -0
  86. data/lib/oxidized/model/edgeos.rb +5 -3
  87. data/lib/oxidized/model/edgeswitch.rb +1 -3
  88. data/lib/oxidized/model/enterasys.rb +1 -3
  89. data/lib/oxidized/model/eos.rb +6 -8
  90. data/lib/oxidized/model/fabricos.rb +3 -5
  91. data/lib/oxidized/model/firewareos.rb +2 -5
  92. data/lib/oxidized/model/fortios.rb +21 -17
  93. data/lib/oxidized/model/ftos.rb +2 -4
  94. data/lib/oxidized/model/fujitsupy.rb +2 -4
  95. data/lib/oxidized/model/gaiaos.rb +6 -10
  96. data/lib/oxidized/model/gcombnps.rb +82 -0
  97. data/lib/oxidized/model/hatteras.rb +8 -5
  98. data/lib/oxidized/model/hirschmann.rb +8 -10
  99. data/lib/oxidized/model/hpebladesystem.rb +19 -17
  100. data/lib/oxidized/model/hpemsa.rb +0 -3
  101. data/lib/oxidized/model/ios.rb +54 -55
  102. data/lib/oxidized/model/iosxe.rb +5 -0
  103. data/lib/oxidized/model/iosxr.rb +1 -3
  104. data/lib/oxidized/model/ipos.rb +1 -3
  105. data/lib/oxidized/model/ironware.rb +12 -15
  106. data/lib/oxidized/model/isam.rb +4 -5
  107. data/lib/oxidized/model/junos.rb +8 -7
  108. data/lib/oxidized/model/masteros.rb +1 -3
  109. data/lib/oxidized/model/mlnxos.rb +3 -4
  110. data/lib/oxidized/model/model.rb +15 -7
  111. data/lib/oxidized/model/mtrlrfs.rb +1 -4
  112. data/lib/oxidized/model/ndms.rb +24 -0
  113. data/lib/oxidized/model/netgear.rb +3 -4
  114. data/lib/oxidized/model/netscaler.rb +0 -2
  115. data/lib/oxidized/model/nos.rb +1 -3
  116. data/lib/oxidized/model/nxos.rb +13 -3
  117. data/lib/oxidized/model/oneos.rb +6 -8
  118. data/lib/oxidized/model/openbsd.rb +76 -0
  119. data/lib/oxidized/model/opengear.rb +3 -5
  120. data/lib/oxidized/model/openwrt.rb +77 -0
  121. data/lib/oxidized/model/opnsense.rb +19 -0
  122. data/lib/oxidized/model/outputs.rb +1 -3
  123. data/lib/oxidized/model/panos.rb +1 -2
  124. data/lib/oxidized/model/pfsense.rb +9 -5
  125. data/lib/oxidized/model/planet.rb +8 -12
  126. data/lib/oxidized/model/powerconnect.rb +6 -9
  127. data/lib/oxidized/model/procurve.rb +18 -4
  128. data/lib/oxidized/model/quantaos.rb +3 -5
  129. data/lib/oxidized/model/routeros.rb +3 -2
  130. data/lib/oxidized/model/saos.rb +0 -1
  131. data/lib/oxidized/model/screenos.rb +3 -5
  132. data/lib/oxidized/model/sgos.rb +2 -3
  133. data/lib/oxidized/model/siklu.rb +0 -2
  134. data/lib/oxidized/model/slxos.rb +59 -0
  135. data/lib/oxidized/model/sros.rb +117 -0
  136. data/lib/oxidized/model/stoneos.rb +32 -0
  137. data/lib/oxidized/model/supermicro.rb +6 -41
  138. data/lib/oxidized/model/timos.rb +6 -114
  139. data/lib/oxidized/model/tmos.rb +1 -3
  140. data/lib/oxidized/model/tplink.rb +7 -11
  141. data/lib/oxidized/model/trango.rb +6 -7
  142. data/lib/oxidized/model/ucs.rb +0 -1
  143. data/lib/oxidized/model/voltaire.rb +3 -6
  144. data/lib/oxidized/model/voss.rb +1 -2
  145. data/lib/oxidized/model/vrp.rb +4 -5
  146. data/lib/oxidized/model/vyatta.rb +6 -4
  147. data/lib/oxidized/model/weos.rb +1 -3
  148. data/lib/oxidized/model/xos.rb +6 -5
  149. data/lib/oxidized/model/zhoneolt.rb +2 -2
  150. data/lib/oxidized/model/zynos.rb +1 -3
  151. data/lib/oxidized/model/zynoscli.rb +36 -0
  152. data/lib/oxidized/node.rb +11 -11
  153. data/lib/oxidized/node/stats.rb +15 -2
  154. data/lib/oxidized/nodes.rb +8 -8
  155. data/lib/oxidized/output/file.rb +41 -42
  156. data/lib/oxidized/output/git.rb +113 -115
  157. data/lib/oxidized/output/gitcrypt.rb +241 -242
  158. data/lib/oxidized/output/http.rb +23 -27
  159. data/lib/oxidized/output/output.rb +1 -2
  160. data/lib/oxidized/source/csv.rb +44 -45
  161. data/lib/oxidized/source/http.rb +52 -49
  162. data/lib/oxidized/source/source.rb +6 -7
  163. data/lib/oxidized/source/sql.rb +55 -51
  164. data/lib/oxidized/string.rb +3 -4
  165. data/lib/oxidized/version.rb +17 -1
  166. data/lib/oxidized/worker.rb +12 -3
  167. data/oxidized.gemspec +19 -13
  168. metadata +139 -51
  169. data/.ruby-version +0 -1
  170. data/Gemfile.lock +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4c68d3b3818ff8c011c232a2dda22bb14bdd0a30
4
- data.tar.gz: c7135e67bacb9cadef51dbaf1826c4f9a3923f4c
2
+ SHA256:
3
+ metadata.gz: b167d6b2d89382ddf8e5ad3cbcf503f10cf7224ef2d11c14123be2aa3caba5d3
4
+ data.tar.gz: 4296fe19998d6f687fcd71acb3bac178a13241b417f13e28c6faa5e94ea0b619
5
5
  SHA512:
6
- metadata.gz: f2aaa1f8ccf0d9cc2816309859c31bc3caf8c16cc0bd5abb34c94756823e461428cc19bcda619fe28980eeb379e3ad9c48c907e104d58b9e2a7f63c777f99c9a
7
- data.tar.gz: 1313b8e85f766be9e9605107a96a8fd8d11af350670ae1165496f7d702358faa160825af15b9d848c43d9014ac8325502305ad4f6f6aa633fc0032c6bd056e29
6
+ metadata.gz: 455ebad64a5b3decc7dacbb5a910e0a43a1227cce404a2cb8281a063bb73ad451d20d8a241b7bfb2334b9b2c58fa8955769c801d4246a4b81264d167e6fb6ecd
7
+ data.tar.gz: 87ea00dfd830d8aa5c778a1060c389508e47e303f46c04983b1705c84e17aef7ee9c2f3ccf4386e8803a04166ee351c486319ee5f4cbaef36b95d7e0f43ea5a8
@@ -0,0 +1,13 @@
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/.gitignore CHANGED
@@ -10,6 +10,9 @@
10
10
  /test/version_tmp/
11
11
  /tmp/
12
12
  .idea/
13
+ Gemfile.lock
14
+ .ruby-version
15
+ .sass-cache/
13
16
 
14
17
  # Used by dotenv library to load environment variables.
15
18
  # .env
@@ -0,0 +1,37 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ Include:
5
+ - Rakefile
6
+
7
+ StringLiterals:
8
+ Enabled: false
9
+
10
+ LineLength:
11
+ Enabled: false
12
+
13
+ # Stick to verbose until https://bugs.ruby-lang.org/issues/10177 is closed.
14
+ Style/PreferredHashMethods:
15
+ EnforcedStyle: verbose
16
+
17
+ Style/Not:
18
+ Enabled: false
19
+
20
+ # comply with @ytti's exacting specifications
21
+ Style/CommandLiteral:
22
+ EnforcedStyle: percent_x
23
+
24
+ Style/FormatString:
25
+ EnforcedStyle: percent
26
+
27
+ Style/FormatStringToken:
28
+ EnforcedStyle: unannotated
29
+
30
+ Style/RescueModifier:
31
+ Enabled: false
32
+
33
+ # Do not attempt to police vendored code, and exclude special cases
34
+ AllCops:
35
+ Exclude:
36
+ - 'vendor/**/*'
37
+ - 'lib/oxidized/input/tftp.rb'
@@ -0,0 +1,714 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-06-03 10:03:33 +0200 using RuboCop version 0.55.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: Include.
11
+ # Include: **/*.gemspec
12
+ Gemspec/RequiredRubyVersion:
13
+ Exclude:
14
+ - 'oxidized.gemspec'
15
+
16
+ # Offense count: 4
17
+ Lint/AmbiguousBlockAssociation:
18
+ Exclude:
19
+ - 'lib/oxidized/model/model.rb'
20
+ - 'lib/oxidized/model/nos.rb'
21
+
22
+ # Offense count: 681
23
+ Lint/AmbiguousRegexpLiteral:
24
+ Enabled: false
25
+
26
+ # Offense count: 8
27
+ # Configuration parameters: AllowSafeAssignment.
28
+ Lint/AssignmentInCondition:
29
+ Exclude:
30
+ - 'extra/syslog.rb'
31
+ - 'lib/oxidized/input/ssh.rb'
32
+ - 'lib/oxidized/input/telnet.rb'
33
+ - 'lib/oxidized/node.rb'
34
+ - 'lib/oxidized/nodes.rb'
35
+
36
+ # Offense count: 4
37
+ # Cop supports --auto-correct.
38
+ Lint/DeprecatedClassMethods:
39
+ Exclude:
40
+ - 'lib/oxidized/cli.rb'
41
+ - 'lib/oxidized/output/file.rb'
42
+ - 'lib/oxidized/output/gitcrypt.rb'
43
+
44
+ # Offense count: 3
45
+ Lint/HandleExceptions:
46
+ Exclude:
47
+ - 'lib/oxidized/input/ssh.rb'
48
+ - 'lib/oxidized/input/telnet.rb'
49
+ - 'lib/oxidized/nodes.rb'
50
+
51
+ # Offense count: 2
52
+ Lint/LiteralAsCondition:
53
+ Exclude:
54
+ - 'extra/syslog.rb'
55
+ - 'lib/oxidized/core.rb'
56
+
57
+ # Offense count: 4
58
+ Lint/ParenthesesAsGroupedExpression:
59
+ Exclude:
60
+ - 'lib/oxidized/input/ssh.rb'
61
+ - 'lib/oxidized/model/aricentiss.rb'
62
+ - 'lib/oxidized/model/asa.rb'
63
+ - 'lib/oxidized/model/ios.rb'
64
+
65
+ # Offense count: 3
66
+ Lint/ShadowingOuterLocalVariable:
67
+ Exclude:
68
+ - 'lib/oxidized/model/fortios.rb'
69
+ - 'lib/oxidized/model/planet.rb'
70
+
71
+ # Offense count: 10
72
+ Lint/UnderscorePrefixedVariableName:
73
+ Exclude:
74
+ - 'lib/oxidized/input/cli.rb'
75
+ - 'lib/oxidized/manager.rb'
76
+ - 'lib/oxidized/model/model.rb'
77
+ - 'lib/oxidized/nodes.rb'
78
+
79
+ # Offense count: 2
80
+ # Cop supports --auto-correct.
81
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
82
+ Lint/UnusedBlockArgument:
83
+ Exclude:
84
+ - 'lib/oxidized/hook/githubrepo.rb'
85
+
86
+ # Offense count: 7
87
+ # Cop supports --auto-correct.
88
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
89
+ Lint/UnusedMethodArgument:
90
+ Exclude:
91
+ - 'lib/oxidized/core.rb'
92
+ - 'lib/oxidized/hook.rb'
93
+ - 'lib/oxidized/output/file.rb'
94
+
95
+ # Offense count: 13
96
+ Lint/UselessAssignment:
97
+ Exclude:
98
+ - 'lib/oxidized/model/cumulus.rb'
99
+ - 'lib/oxidized/model/edgeos.rb'
100
+ - 'lib/oxidized/model/gaiaos.rb'
101
+ - 'lib/oxidized/model/mlnxos.rb'
102
+ - 'lib/oxidized/model/openbsd.rb'
103
+ - 'lib/oxidized/model/procurve.rb'
104
+ - 'lib/oxidized/model/trango.rb'
105
+ - 'lib/oxidized/model/voltaire.rb'
106
+ - 'lib/oxidized/model/vyatta.rb'
107
+ - 'lib/oxidized/model/zhoneolt.rb'
108
+ - 'lib/oxidized/output/gitcrypt.rb'
109
+ - 'lib/oxidized/output/http.rb'
110
+ - 'lib/oxidized/source/csv.rb'
111
+
112
+ # Offense count: 1
113
+ # Configuration parameters: CheckForMethodsWithNoSideEffects.
114
+ Lint/Void:
115
+ Exclude:
116
+ - 'lib/oxidized/model/voss.rb'
117
+
118
+ # Offense count: 63
119
+ Metrics/AbcSize:
120
+ Max: 84
121
+
122
+ # Offense count: 19
123
+ # Configuration parameters: CountComments, ExcludedMethods.
124
+ Metrics/BlockLength:
125
+ Max: 142
126
+
127
+ # Offense count: 2
128
+ # Configuration parameters: CountBlocks.
129
+ Metrics/BlockNesting:
130
+ Max: 4
131
+
132
+ # Offense count: 7
133
+ # Configuration parameters: CountComments.
134
+ Metrics/ClassLength:
135
+ Max: 210
136
+
137
+ # Offense count: 14
138
+ Metrics/CyclomaticComplexity:
139
+ Max: 28
140
+
141
+ # Offense count: 56
142
+ # Configuration parameters: CountComments.
143
+ Metrics/MethodLength:
144
+ Max: 76
145
+
146
+ # Offense count: 2
147
+ # Configuration parameters: CountKeywordArgs.
148
+ Metrics/ParameterLists:
149
+ Max: 6
150
+
151
+ # Offense count: 15
152
+ Metrics/PerceivedComplexity:
153
+ Max: 32
154
+
155
+ # Offense count: 1
156
+ Naming/AccessorMethodName:
157
+ Exclude:
158
+ - 'lib/oxidized/string.rb'
159
+
160
+ # Offense count: 1
161
+ Naming/ClassAndModuleCamelCase:
162
+ Exclude:
163
+ - 'lib/oxidized/model/apc_aos.rb'
164
+
165
+ # Offense count: 8
166
+ Naming/ConstantName:
167
+ Exclude:
168
+ - 'extra/rest_client.rb'
169
+ - 'lib/oxidized/config.rb'
170
+ - 'lib/oxidized/hook.rb'
171
+ - 'lib/oxidized/input/ftp.rb'
172
+ - 'lib/oxidized/input/input.rb'
173
+ - 'lib/oxidized/input/ssh.rb'
174
+ - 'lib/oxidized/input/telnet.rb'
175
+
176
+ # Offense count: 1
177
+ Naming/MemoizedInstanceVariableName:
178
+ Exclude:
179
+ - 'lib/oxidized/string.rb'
180
+
181
+ # Offense count: 3
182
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
183
+ # NamePrefix: is_, has_, have_
184
+ # NamePrefixBlacklist: is_, has_, have_
185
+ # NameWhitelist: is_a?
186
+ # MethodDefinitionMacros: define_method, define_singleton_method
187
+ Naming/PredicateName:
188
+ Exclude:
189
+ - 'spec/**/*'
190
+ - 'lib/oxidized/node.rb'
191
+ - 'lib/oxidized/worker.rb'
192
+
193
+ # Offense count: 11
194
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
195
+ # AllowedNames: io, id, to, by, on, in, at
196
+ Naming/UncommunicativeMethodParamName:
197
+ Exclude:
198
+ - 'extra/syslog.rb'
199
+ - 'lib/oxidized/input/cli.rb'
200
+ - 'lib/oxidized/input/telnet.rb'
201
+ - 'lib/oxidized/model/model.rb'
202
+
203
+ # Offense count: 1
204
+ # Cop supports --auto-correct.
205
+ Performance/Casecmp:
206
+ Exclude:
207
+ - 'lib/oxidized/manager.rb'
208
+
209
+ # Offense count: 57
210
+ # Cop supports --auto-correct.
211
+ Performance/RedundantMatch:
212
+ Enabled: false
213
+
214
+ # Offense count: 2
215
+ # Cop supports --auto-correct.
216
+ # Configuration parameters: MaxKeyValuePairs.
217
+ Performance/RedundantMerge:
218
+ Exclude:
219
+ - 'lib/oxidized/hook/exec.rb'
220
+ - 'lib/oxidized/input/telnet.rb'
221
+
222
+ # Offense count: 6
223
+ # Cop supports --auto-correct.
224
+ Performance/StringReplacement:
225
+ Exclude:
226
+ - 'lib/oxidized/model/awplus.rb'
227
+ - 'lib/oxidized/model/comware.rb'
228
+ - 'lib/oxidized/model/sros.rb'
229
+
230
+ # Offense count: 1
231
+ Security/Eval:
232
+ Exclude:
233
+ - 'Rakefile'
234
+
235
+ # Offense count: 1
236
+ # Cop supports --auto-correct.
237
+ # Configuration parameters: AutoCorrect.
238
+ Security/JSONLoad:
239
+ Exclude:
240
+ - 'extra/nagios_check_failing_nodes.rb'
241
+
242
+ # Offense count: 5
243
+ Security/Open:
244
+ Exclude:
245
+ - 'extra/syslog.rb'
246
+ - 'lib/oxidized/cli.rb'
247
+ - 'lib/oxidized/node.rb'
248
+ - 'lib/oxidized/output/file.rb'
249
+ - 'lib/oxidized/source/csv.rb'
250
+
251
+ # Offense count: 3
252
+ # Cop supports --auto-correct.
253
+ # Configuration parameters: EnforcedStyle.
254
+ # SupportedStyles: prefer_alias, prefer_alias_method
255
+ Style/Alias:
256
+ Exclude:
257
+ - 'lib/oxidized/node.rb'
258
+ - 'lib/oxidized/nodes.rb'
259
+
260
+ # Offense count: 46
261
+ # Cop supports --auto-correct.
262
+ # Configuration parameters: EnforcedStyle.
263
+ # SupportedStyles: always, conditionals
264
+ Style/AndOr:
265
+ Enabled: false
266
+
267
+ # Offense count: 3
268
+ # Cop supports --auto-correct.
269
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods.
270
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining
271
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
272
+ # FunctionalMethods: let, let!, subject, watch
273
+ # IgnoredMethods: lambda, proc, it
274
+ Style/BlockDelimiters:
275
+ Exclude:
276
+ - 'lib/oxidized/model/aricentiss.rb'
277
+ - 'lib/oxidized/model/hatteras.rb'
278
+
279
+ # Offense count: 4
280
+ # Cop supports --auto-correct.
281
+ # Configuration parameters: EnforcedStyle.
282
+ # SupportedStyles: braces, no_braces, context_dependent
283
+ Style/BracesAroundHashParameters:
284
+ Exclude:
285
+ - 'lib/oxidized/hook/githubrepo.rb'
286
+ - 'lib/oxidized/input/telnet.rb'
287
+ - 'lib/oxidized/model/procurve.rb'
288
+ - 'lib/oxidized/output/http.rb'
289
+
290
+ # Offense count: 3
291
+ Style/CaseEquality:
292
+ Exclude:
293
+ - 'lib/oxidized/input/telnet.rb'
294
+ - 'lib/oxidized/model/model.rb'
295
+
296
+ # Offense count: 4
297
+ # Cop supports --auto-correct.
298
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
299
+ # SupportedStyles: nested, compact
300
+ Style/ClassAndModuleChildren:
301
+ Exclude:
302
+ - 'lib/oxidized/config/vars.rb'
303
+ - 'lib/oxidized/input/telnet.rb'
304
+ - 'lib/oxidized/nodes.rb'
305
+
306
+ # Offense count: 1
307
+ # Cop supports --auto-correct.
308
+ # Configuration parameters: EnforcedStyle.
309
+ # SupportedStyles: is_a?, kind_of?
310
+ Style/ClassCheck:
311
+ Exclude:
312
+ - 'lib/oxidized/input/telnet.rb'
313
+
314
+ # Offense count: 2
315
+ Style/ClassVars:
316
+ Exclude:
317
+ - 'lib/oxidized.rb'
318
+
319
+ # Offense count: 4
320
+ # Cop supports --auto-correct.
321
+ Style/ColonMethodCall:
322
+ Exclude:
323
+ - 'lib/oxidized/input/ssh.rb'
324
+ - 'lib/oxidized/input/telnet.rb'
325
+
326
+ # Offense count: 1
327
+ Style/CommentedKeyword:
328
+ Exclude:
329
+ - 'lib/oxidized/input/telnet.rb'
330
+
331
+ # Offense count: 2
332
+ # Cop supports --auto-correct.
333
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
334
+ # SupportedStyles: assign_to_condition, assign_inside_condition
335
+ Style/ConditionalAssignment:
336
+ Exclude:
337
+ - 'lib/oxidized/hook/githubrepo.rb'
338
+ - 'lib/oxidized/model/model.rb'
339
+
340
+ # Offense count: 150
341
+ Style/Documentation:
342
+ Enabled: false
343
+
344
+ # Offense count: 2
345
+ Style/DoubleNegation:
346
+ Exclude:
347
+ - 'lib/oxidized/cli.rb'
348
+ - 'lib/oxidized/hook/exec.rb'
349
+
350
+ # Offense count: 1
351
+ # Cop supports --auto-correct.
352
+ # Configuration parameters: EnforcedStyle.
353
+ # SupportedStyles: compact, expanded
354
+ Style/EmptyMethod:
355
+ Exclude:
356
+ - 'lib/oxidized/hook.rb'
357
+
358
+ # Offense count: 1
359
+ # Cop supports --auto-correct.
360
+ Style/ExpandPathArguments:
361
+ Exclude:
362
+ - 'bin/console'
363
+
364
+ # Offense count: 13
365
+ # Configuration parameters: MinBodyLength.
366
+ Style/GuardClause:
367
+ Exclude:
368
+ - 'lib/oxidized/cli.rb'
369
+ - 'lib/oxidized/input/cli.rb'
370
+ - 'lib/oxidized/jobs.rb'
371
+ - 'lib/oxidized/nodes.rb'
372
+ - 'lib/oxidized/output/file.rb'
373
+ - 'lib/oxidized/output/git.rb'
374
+ - 'lib/oxidized/output/gitcrypt.rb'
375
+ - 'lib/oxidized/output/http.rb'
376
+ - 'lib/oxidized/source/http.rb'
377
+ - 'lib/oxidized/source/sql.rb'
378
+ - 'lib/oxidized/string.rb'
379
+
380
+ # Offense count: 97
381
+ # Cop supports --auto-correct.
382
+ # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
383
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
384
+ Style/HashSyntax:
385
+ Enabled: false
386
+
387
+ # Offense count: 1
388
+ Style/IfInsideElse:
389
+ Exclude:
390
+ - 'lib/oxidized/output/file.rb'
391
+
392
+ # Offense count: 42
393
+ # Cop supports --auto-correct.
394
+ Style/IfUnlessModifier:
395
+ Enabled: false
396
+
397
+ # Offense count: 1
398
+ Style/IfUnlessModifierOfIfUnless:
399
+ Exclude:
400
+ - 'lib/oxidized/input/ssh.rb'
401
+
402
+ # Offense count: 2
403
+ # Cop supports --auto-correct.
404
+ Style/InfiniteLoop:
405
+ Exclude:
406
+ - 'extra/syslog.rb'
407
+ - 'lib/oxidized/core.rb'
408
+
409
+ # Offense count: 1
410
+ # Cop supports --auto-correct.
411
+ Style/LineEndConcatenation:
412
+ Exclude:
413
+ - 'lib/oxidized/hook.rb'
414
+
415
+ # Offense count: 137
416
+ # Cop supports --auto-correct.
417
+ # Configuration parameters: EnforcedStyle.
418
+ # SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
419
+ Style/MethodDefParentheses:
420
+ Enabled: false
421
+
422
+ # Offense count: 2
423
+ # Cop supports --auto-correct.
424
+ Style/MultilineIfThen:
425
+ Exclude:
426
+ - 'lib/oxidized/model/aricentiss.rb'
427
+
428
+ # Offense count: 9
429
+ # Cop supports --auto-correct.
430
+ Style/MutableConstant:
431
+ Exclude:
432
+ - 'extra/syslog.rb'
433
+ - 'lib/oxidized/hook.rb'
434
+ - 'lib/oxidized/input/ftp.rb'
435
+ - 'lib/oxidized/input/input.rb'
436
+ - 'lib/oxidized/input/ssh.rb'
437
+ - 'lib/oxidized/input/telnet.rb'
438
+ - 'lib/oxidized/version.rb'
439
+
440
+ # Offense count: 8
441
+ # Cop supports --auto-correct.
442
+ # Configuration parameters: EnforcedStyle.
443
+ # SupportedStyles: both, prefix, postfix
444
+ Style/NegatedIf:
445
+ Exclude:
446
+ - 'lib/oxidized/model/ios.rb'
447
+ - 'lib/oxidized/node.rb'
448
+ - 'lib/oxidized/output/git.rb'
449
+ - 'lib/oxidized/output/gitcrypt.rb'
450
+ - 'lib/oxidized/worker.rb'
451
+
452
+ # Offense count: 2
453
+ # Cop supports --auto-correct.
454
+ # Configuration parameters: EnforcedStyle, MinBodyLength.
455
+ # SupportedStyles: skip_modifier_ifs, always
456
+ Style/Next:
457
+ Exclude:
458
+ - 'lib/oxidized/model/trango.rb'
459
+ - 'lib/oxidized/output/git.rb'
460
+
461
+ # Offense count: 1
462
+ # Cop supports --auto-correct.
463
+ Style/NilComparison:
464
+ Exclude:
465
+ - 'lib/oxidized/input/ssh.rb'
466
+
467
+ # Offense count: 1
468
+ # Cop supports --auto-correct.
469
+ # Configuration parameters: EnforcedOctalStyle.
470
+ # SupportedOctalStyles: zero_with_o, zero_only
471
+ Style/NumericLiteralPrefix:
472
+ Exclude:
473
+ - 'lib/oxidized/output/git.rb'
474
+
475
+ # Offense count: 6
476
+ # Cop supports --auto-correct.
477
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
478
+ # SupportedStyles: predicate, comparison
479
+ Style/NumericPredicate:
480
+ Exclude:
481
+ - 'spec/**/*'
482
+ - 'lib/oxidized/cli.rb'
483
+ - 'lib/oxidized/core.rb'
484
+ - 'lib/oxidized/jobs.rb'
485
+ - 'lib/oxidized/nodes.rb'
486
+ - 'lib/oxidized/worker.rb'
487
+
488
+ # Offense count: 1
489
+ # Cop supports --auto-correct.
490
+ Style/OrAssignment:
491
+ Exclude:
492
+ - 'lib/oxidized/manager.rb'
493
+
494
+ # Offense count: 5
495
+ # Cop supports --auto-correct.
496
+ Style/ParallelAssignment:
497
+ Exclude:
498
+ - 'extra/syslog.rb'
499
+ - 'lib/oxidized/hook/exec.rb'
500
+ - 'lib/oxidized/node.rb'
501
+ - 'lib/oxidized/output/git.rb'
502
+ - 'lib/oxidized/output/gitcrypt.rb'
503
+
504
+ # Offense count: 4
505
+ # Cop supports --auto-correct.
506
+ # Configuration parameters: AllowSafeAssignment.
507
+ Style/ParenthesesAroundCondition:
508
+ Exclude:
509
+ - 'lib/oxidized/model/ios.rb'
510
+ - 'lib/oxidized/model/powerconnect.rb'
511
+ - 'lib/oxidized/source/http.rb'
512
+
513
+ # Offense count: 6
514
+ # Cop supports --auto-correct.
515
+ # Configuration parameters: PreferredDelimiters.
516
+ Style/PercentLiteralDelimiters:
517
+ Exclude:
518
+ - 'lib/oxidized/config.rb'
519
+ - 'lib/oxidized/input/ssh.rb'
520
+
521
+ # Offense count: 22
522
+ # Cop supports --auto-correct.
523
+ Style/PerlBackrefs:
524
+ Exclude:
525
+ - 'lib/oxidized/model/acos.rb'
526
+ - 'lib/oxidized/model/aos7.rb'
527
+ - 'lib/oxidized/model/ios.rb'
528
+ - 'lib/oxidized/model/junos.rb'
529
+ - 'lib/oxidized/model/powerconnect.rb'
530
+
531
+ # Offense count: 1
532
+ # Cop supports --auto-correct.
533
+ Style/Proc:
534
+ Exclude:
535
+ - 'lib/oxidized/hook/githubrepo.rb'
536
+
537
+ # Offense count: 10
538
+ # Cop supports --auto-correct.
539
+ Style/RedundantBegin:
540
+ Exclude:
541
+ - 'lib/oxidized/input/telnet.rb'
542
+ - 'lib/oxidized/manager.rb'
543
+ - 'lib/oxidized/output/git.rb'
544
+ - 'lib/oxidized/output/gitcrypt.rb'
545
+
546
+ # Offense count: 4
547
+ # Cop supports --auto-correct.
548
+ Style/RedundantParentheses:
549
+ Exclude:
550
+ - 'lib/oxidized/model/aricentiss.rb'
551
+ - 'lib/oxidized/model/ios.rb'
552
+ - 'lib/oxidized/model/powerconnect.rb'
553
+
554
+ # Offense count: 2
555
+ # Cop supports --auto-correct.
556
+ # Configuration parameters: AllowMultipleReturnValues.
557
+ Style/RedundantReturn:
558
+ Exclude:
559
+ - 'lib/oxidized/node.rb'
560
+ - 'lib/oxidized/output/file.rb'
561
+
562
+ # Offense count: 5
563
+ # Cop supports --auto-correct.
564
+ Style/RedundantSelf:
565
+ Exclude:
566
+ - 'lib/oxidized/hook.rb'
567
+ - 'lib/oxidized/node.rb'
568
+ - 'lib/oxidized/nodes.rb'
569
+
570
+ # Offense count: 31
571
+ # Cop supports --auto-correct.
572
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
573
+ # SupportedStyles: slashes, percent_r, mixed
574
+ Style/RegexpLiteral:
575
+ Enabled: false
576
+
577
+ # Offense count: 19
578
+ # Cop supports --auto-correct.
579
+ # Configuration parameters: EnforcedStyle.
580
+ # SupportedStyles: implicit, explicit
581
+ Style/RescueStandardError:
582
+ Exclude:
583
+ - 'bin/oxidized'
584
+ - 'extra/rest_client.rb'
585
+ - 'extra/syslog.rb'
586
+ - 'lib/oxidized/cli.rb'
587
+ - 'lib/oxidized/config.rb'
588
+ - 'lib/oxidized/hook.rb'
589
+ - 'lib/oxidized/hook/exec.rb'
590
+ - 'lib/oxidized/node.rb'
591
+ - 'lib/oxidized/output/git.rb'
592
+ - 'lib/oxidized/output/gitcrypt.rb'
593
+ - 'lib/oxidized/worker.rb'
594
+
595
+ # Offense count: 10
596
+ # Cop supports --auto-correct.
597
+ # Configuration parameters: AllowAsExpressionSeparator.
598
+ Style/Semicolon:
599
+ Exclude:
600
+ - 'lib/oxidized/model/ios.rb'
601
+ - 'lib/oxidized/output/git.rb'
602
+ - 'lib/oxidized/output/gitcrypt.rb'
603
+
604
+ # Offense count: 1
605
+ # Cop supports --auto-correct.
606
+ # Configuration parameters: EnforcedStyle.
607
+ # SupportedStyles: use_perl_names, use_english_names
608
+ Style/SpecialGlobalVars:
609
+ Exclude:
610
+ - 'lib/oxidized/cli.rb'
611
+
612
+ # Offense count: 1
613
+ Style/StructInheritance:
614
+ Exclude:
615
+ - 'lib/oxidized/hook.rb'
616
+
617
+ # Offense count: 1
618
+ # Cop supports --auto-correct.
619
+ # Configuration parameters: MinSize.
620
+ # SupportedStyles: percent, brackets
621
+ Style/SymbolArray:
622
+ EnforcedStyle: brackets
623
+
624
+ # Offense count: 6
625
+ # Cop supports --auto-correct.
626
+ # Configuration parameters: IgnoredMethods.
627
+ # IgnoredMethods: respond_to, define_method
628
+ Style/SymbolProc:
629
+ Exclude:
630
+ - 'lib/oxidized/model/datacom.rb'
631
+ - 'lib/oxidized/model/hpebladesystem.rb'
632
+ - 'lib/oxidized/model/junos.rb'
633
+ - 'lib/oxidized/model/outputs.rb'
634
+ - 'lib/oxidized/nodes.rb'
635
+
636
+ # Offense count: 3
637
+ # Cop supports --auto-correct.
638
+ # Configuration parameters: EnforcedStyleForMultiline.
639
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
640
+ Style/TrailingCommaInArguments:
641
+ Exclude:
642
+ - 'lib/oxidized/hook/exec.rb'
643
+ - 'lib/oxidized/output/git.rb'
644
+
645
+ # Offense count: 4
646
+ # Cop supports --auto-correct.
647
+ # Configuration parameters: EnforcedStyleForMultiline.
648
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
649
+ Style/TrailingCommaInArrayLiteral:
650
+ Exclude:
651
+ - 'lib/oxidized/input/input.rb'
652
+ - 'lib/oxidized/input/ssh.rb'
653
+
654
+ # Offense count: 11
655
+ # Cop supports --auto-correct.
656
+ # Configuration parameters: EnforcedStyleForMultiline.
657
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
658
+ Style/TrailingCommaInHashLiteral:
659
+ Exclude:
660
+ - 'extra/syslog.rb'
661
+ - 'lib/oxidized/config.rb'
662
+ - 'lib/oxidized/input/ftp.rb'
663
+ - 'lib/oxidized/input/input.rb'
664
+ - 'lib/oxidized/input/ssh.rb'
665
+ - 'lib/oxidized/node.rb'
666
+ - 'lib/oxidized/node/stats.rb'
667
+
668
+ # Offense count: 2
669
+ # Cop supports --auto-correct.
670
+ # Configuration parameters: AllowNamedUnderscoreVariables.
671
+ Style/TrailingUnderscoreVariable:
672
+ Exclude:
673
+ - 'lib/oxidized/node.rb'
674
+ - 'lib/oxidized/output/git.rb'
675
+
676
+ # Offense count: 3
677
+ # Cop supports --auto-correct.
678
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist.
679
+ # Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
680
+ Style/TrivialAccessors:
681
+ Exclude:
682
+ - 'lib/oxidized/cli.rb'
683
+ - 'lib/oxidized/input/ssh.rb'
684
+ - 'lib/oxidized/model/model.rb'
685
+
686
+ # Offense count: 2
687
+ # Cop supports --auto-correct.
688
+ Style/UnneededInterpolation:
689
+ Exclude:
690
+ - 'bin/oxidized'
691
+ - 'lib/oxidized/cli.rb'
692
+
693
+ # Offense count: 1
694
+ # Cop supports --auto-correct.
695
+ # Configuration parameters: WordRegex.
696
+ # SupportedStyles: percent, brackets
697
+ Style/WordArray:
698
+ EnforcedStyle: percent
699
+ MinSize: 3
700
+
701
+ # Offense count: 4
702
+ # Cop supports --auto-correct.
703
+ Style/ZeroLengthPredicate:
704
+ Exclude:
705
+ - 'lib/oxidized/core.rb'
706
+ - 'lib/oxidized/input/telnet.rb'
707
+ - 'lib/oxidized/model/ciscosmb.rb'
708
+ - 'lib/oxidized/output/git.rb'
709
+
710
+ # Offense count: 300
711
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
712
+ # URISchemes: http, https
713
+ Metrics/LineLength:
714
+ Max: 283