Skip to content

Commit 9deeffa

Browse files
committed
Recognize the unquoted legacy facts hash syntax, too
1 parent 3373b46 commit 9deeffa

File tree

2 files changed

+3
-8
lines changed

2 files changed

+3
-8
lines changed

lib/puppet-lint/plugins/legacy_facts/legacy_facts.rb

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,9 @@ def check
115115
tokens.select { |x| LEGACY_FACTS_VAR_TYPES.include?(x.type) }.each do |token|
116116
fact_name = ''
117117

118-
# This matches legacy facts defined in the fact hash that use the top scope
119-
# fact assignment.
120-
if token.value.match(%r{::facts\['(.*)'\]})
121-
fact_name = token.value.match(%r{::facts\['(.*)'\]})[1]
122-
123118
# This matches legacy facts defined in the fact hash.
124-
elsif token.value.match(%r{facts\['(.*)'\]})
125-
fact_name = token.value.match(%r{facts\['(.*)'\]})[1]
119+
if (match = (token.value.match(%r{(::)?facts\['(.*)'\]}) || token.value.match(%r{(::)?facts\[(.*)\]})))
120+
fact_name = match[2]
126121

127122
# This matches using legacy facts in a the new structured fact. For
128123
# example this would match 'uuid' in $facts['uuid'] so it can be converted

spec/unit/puppet-lint/plugins/legacy_facts/legacy_facts_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
let(:code) { '$::facts[osfamily]' }
127127

128128
it 'detects a single problem' do
129-
expect(problems).to have(0).problem
129+
expect(problems).to have(1).problem
130130
end
131131
end
132132
end

0 commit comments

Comments
 (0)