puppet-lint 4.2.3 → 4.2.4
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/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"
|