puppet-lint 4.2.3 → 4.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/puppet-lint/checks.rb +1 -1
- data/lib/puppet-lint/configuration.rb +4 -4
- data/lib/puppet-lint/optparser.rb +5 -5
- data/lib/puppet-lint/plugins/top_scope_facts/top_scope_facts.rb +9 -1
- data/lib/puppet-lint/tasks/puppet-lint.rb +4 -4
- data/lib/puppet-lint/version.rb +1 -1
- data/lib/puppet-lint.rb +1 -1
- data/spec/spec_helper.rb +16 -6
- data/spec/unit/puppet-lint/plugins/top_scope_facts/top_scope_facts_spec.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b11b8ac88b45741f4cc6ec8a5eca05da09c52c1064a0bbd89394459981845b6
|
4
|
+
data.tar.gz: ed5b7f181a30f706ca4224a526d29212ed2a7e9fb4d2fea0927e2e2a3e02ae8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b79ad1ee950cc2dde1c61dd3adaf0b1900b80c63916d28f6ed5fba99f84ae76608ccfba01e533c6f7014f05b659904dc80ea9631b7ebfef573166a4a930b69ac
|
7
|
+
data.tar.gz: 927256f4add5e6c2fd2e0336ba6244b730223429de681fd73644e0c45df36b8d4237899af8bc2c92b7f3e4b159beedbe8c1071c94e5504178ea7dbfcaeb86d93
|
data/lib/puppet-lint/checks.rb
CHANGED
@@ -121,7 +121,7 @@ class PuppetLint::Checks
|
|
121
121
|
# Returns an Array of String check names.
|
122
122
|
def enabled_checks
|
123
123
|
@enabled_checks ||= PuppetLint.configuration.checks.select do |check|
|
124
|
-
PuppetLint.configuration.send("#{check}_enabled?")
|
124
|
+
PuppetLint.configuration.send(:"#{check}_enabled?")
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
@@ -17,21 +17,21 @@ class PuppetLint::Configuration
|
|
17
17
|
# Public: Determine if the named check is enabled.
|
18
18
|
#
|
19
19
|
# Returns true if the check is enabled, otherwise return false.
|
20
|
-
define_method("#{check}_enabled?") do
|
20
|
+
define_method(:"#{check}_enabled?") do
|
21
21
|
settings["#{check}_disabled"] != true
|
22
22
|
end
|
23
23
|
|
24
24
|
# Public: Disable the named check.
|
25
25
|
#
|
26
26
|
# Returns nothing.
|
27
|
-
define_method("disable_#{check}") do
|
27
|
+
define_method(:"disable_#{check}") do
|
28
28
|
settings["#{check}_disabled"] = true
|
29
29
|
end
|
30
30
|
|
31
31
|
# Public: Enable the named check.
|
32
32
|
#
|
33
33
|
# Returns nothing.
|
34
|
-
define_method("enable_#{check}") do
|
34
|
+
define_method(:"enable_#{check}") do
|
35
35
|
settings["#{check}_disabled"] = false
|
36
36
|
end
|
37
37
|
end
|
@@ -92,7 +92,7 @@ class PuppetLint::Configuration
|
|
92
92
|
# value - The value to set the option to.
|
93
93
|
#
|
94
94
|
# Returns nothing.
|
95
|
-
define_method("#{option}=") do |value|
|
95
|
+
define_method(:"#{option}=") do |value|
|
96
96
|
settings[option] = value
|
97
97
|
end
|
98
98
|
|
@@ -117,9 +117,9 @@ class PuppetLint::OptParser
|
|
117
117
|
enable_checks = checks.split(',').map(&:to_sym)
|
118
118
|
PuppetLint.configuration.checks.each do |check|
|
119
119
|
if enable_checks.include?(check)
|
120
|
-
PuppetLint.configuration.send("enable_#{check}")
|
120
|
+
PuppetLint.configuration.send(:"enable_#{check}")
|
121
121
|
else
|
122
|
-
PuppetLint.configuration.send("disable_#{check}")
|
122
|
+
PuppetLint.configuration.send(:"disable_#{check}")
|
123
123
|
end
|
124
124
|
end
|
125
125
|
end
|
@@ -130,13 +130,13 @@ class PuppetLint::OptParser
|
|
130
130
|
|
131
131
|
PuppetLint.configuration.checks.each do |check|
|
132
132
|
opts.on("--no-#{check}-check", "Skip the #{check} check.") do
|
133
|
-
PuppetLint.configuration.send("disable_#{check}")
|
133
|
+
PuppetLint.configuration.send(:"disable_#{check}")
|
134
134
|
end
|
135
135
|
|
136
|
-
next if PuppetLint.configuration.send("#{check}_enabled?")
|
136
|
+
next if PuppetLint.configuration.send(:"#{check}_enabled?")
|
137
137
|
|
138
138
|
opts.on("--#{check}-check", "Enable the #{check} check.") do
|
139
|
-
PuppetLint.configuration.send("enable_#{check}")
|
139
|
+
PuppetLint.configuration.send(:"enable_#{check}")
|
140
140
|
end
|
141
141
|
end
|
142
142
|
end
|
@@ -44,6 +44,14 @@ PuppetLint.new_check(:top_scope_facts) do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def fix(problem)
|
47
|
-
problem[:token].value
|
47
|
+
problem[:token].value.sub!(%r{^::}, '')
|
48
|
+
# checks if the fact is a top level structured fact e.g. ::my_structured_fact['foo']['bar']
|
49
|
+
if %r{\[.*}.match?(problem[:token].value)
|
50
|
+
fact_name = problem[:token].value.sub(%r{\[.*}, '')
|
51
|
+
nested_facts = problem[:token].value.scan(%r{\[.*}).first
|
52
|
+
problem[:token].value = "facts['" + fact_name + "']" + nested_facts
|
53
|
+
else
|
54
|
+
problem[:token].value = "facts['" + problem[:token].value + "']"
|
55
|
+
end
|
48
56
|
end
|
49
57
|
end
|
@@ -52,19 +52,19 @@ class PuppetLint::RakeTask < Rake::TaskLib
|
|
52
52
|
enable_checks = Array(@only_checks).map(&:to_sym)
|
53
53
|
PuppetLint.configuration.checks.each do |check|
|
54
54
|
if enable_checks.include?(check)
|
55
|
-
PuppetLint.configuration.send("enable_#{check}")
|
55
|
+
PuppetLint.configuration.send(:"enable_#{check}")
|
56
56
|
else
|
57
|
-
PuppetLint.configuration.send("disable_#{check}")
|
57
|
+
PuppetLint.configuration.send(:"disable_#{check}")
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
62
|
Array(@disable_checks).each do |check|
|
63
|
-
PuppetLint.configuration.send("disable_#{check}")
|
63
|
+
PuppetLint.configuration.send(:"disable_#{check}")
|
64
64
|
end
|
65
65
|
|
66
66
|
['with_filename', 'fail_on_warnings', 'error_level', 'log_format', 'with_context', 'fix', 'show_ignored', 'relative'].each do |config|
|
67
|
-
value = instance_variable_get("@#{config}")
|
67
|
+
value = instance_variable_get(:"@#{config}")
|
68
68
|
PuppetLint.configuration.send("#{config}=".to_sym, value) unless value.nil?
|
69
69
|
end
|
70
70
|
|
data/lib/puppet-lint/version.rb
CHANGED
data/lib/puppet-lint.rb
CHANGED
@@ -252,7 +252,7 @@ class PuppetLint
|
|
252
252
|
# end
|
253
253
|
def self.new_check(name, &block)
|
254
254
|
class_name = name.to_s.split('_').map(&:capitalize).join
|
255
|
-
klass = PuppetLint.const_set("Check#{class_name}", Class.new(PuppetLint::CheckPlugin))
|
255
|
+
klass = PuppetLint.const_set(:"Check#{class_name}", Class.new(PuppetLint::CheckPlugin))
|
256
256
|
klass.const_set(:NAME, name)
|
257
257
|
klass.class_exec(&block)
|
258
258
|
PuppetLint.configuration.add_check(name, klass)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# Disable GitHub Actions reporting since it breaks the test suite
|
2
2
|
ENV.delete('GITHUB_ACTION')
|
3
3
|
|
4
|
-
if ENV['COVERAGE'] == 'yes'
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
if ENV['COVERAGE'] == 'yes'
|
5
|
+
begin
|
6
|
+
require 'simplecov'
|
7
|
+
require 'simplecov-console'
|
8
|
+
SimpleCov.formatters = [
|
9
|
+
SimpleCov::Formatter::HTMLFormatter,
|
10
|
+
SimpleCov::Formatter::Console,
|
11
|
+
]
|
12
|
+
|
13
|
+
SimpleCov.start do
|
14
|
+
add_filter('/spec/')
|
15
|
+
add_filter('/vendor/')
|
16
|
+
add_group('Checks', 'lib/puppet-lint/plugins')
|
17
|
+
end
|
18
|
+
rescue LoadError
|
19
|
+
raise 'Add the simplecov & simplecov-console gems to Gemfile to enable this task'
|
10
20
|
end
|
11
21
|
end
|
12
22
|
|
@@ -102,6 +102,18 @@ describe 'top_scope_facts' do
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
+
context 'top scope structured fact not present on allowlist' do
|
106
|
+
let(:code) { "$::my_structured_fact['foo']['test']" }
|
107
|
+
|
108
|
+
it 'detects a problem' do
|
109
|
+
expect(problems).to contain_fixed('top scope fact instead of facts hash').on_line(1).in_column(1)
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'fixes the problem' do
|
113
|
+
expect(manifest).to eq("$facts['my_structured_fact']['foo']['test']")
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
105
117
|
context 'top scope $::trusted hash' do
|
106
118
|
let(:code) { "$::trusted['certname']" }
|
107
119
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Sharpe
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-02-09 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: " Checks your Puppet manifests against the Puppetlabs style guide
|
16
16
|
and alerts you to any discrepancies.\n"
|