puppet-lint-duplicate_class_parameters-check 1.0.4 → 1.0.5
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d3b64e4aadbcf743b16ed650778e90c64362c3c2fa87586a3db25a3c5588e1fe
|
4
|
+
data.tar.gz: 7b20846a265a8d9643668df2c692e5d53c3441e25914e46f66c6e1cbcd34a5b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62f18dd0efb26da270255bdef226551df53e4d5645cee3d9adb81a7dab04fbcc1bce1119f54c12de50c45e177e1234581f99c7280456073e4e8e84309614c9a4
|
7
|
+
data.tar.gz: c0bbe56fb14bb4910c9f52dc24ce0b184a80ee13cc7fa14e868518ae615ff0903a620a4ee08238f31925584f1f5a587233fe43c4382009c98af7bddaebb102a0
|
@@ -3,6 +3,7 @@ PuppetLint.new_check(:duplicate_class_parameters) do
|
|
3
3
|
class_indexes.each do |class_idx|
|
4
4
|
seen = Hash.new(0)
|
5
5
|
inside = nil
|
6
|
+
level = 0
|
6
7
|
|
7
8
|
# if there are no params there is nothing to do, return early.
|
8
9
|
return if class_idx[:param_tokens].nil?
|
@@ -10,6 +11,15 @@ PuppetLint.new_check(:duplicate_class_parameters) do
|
|
10
11
|
class_idx[:param_tokens].each do |token|
|
11
12
|
class_name = class_idx[:name_token].value
|
12
13
|
|
14
|
+
case token.type
|
15
|
+
when :LBRACK, :LBRACE
|
16
|
+
level += 1
|
17
|
+
when :RBRACK, :RBRACE
|
18
|
+
level -= 1
|
19
|
+
end
|
20
|
+
|
21
|
+
next unless level.zero?
|
22
|
+
|
13
23
|
if token.type == :VARIABLE
|
14
24
|
next_type = token.next_code_token.type
|
15
25
|
|
@@ -162,4 +162,22 @@ describe 'duplicate_class_parameters' do
|
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
165
|
+
context 'class with a structure using a variable and assigned in another variable' do
|
166
|
+
let(:code) do
|
167
|
+
<<-EOS
|
168
|
+
class complex_structure_assignation (
|
169
|
+
Optional[String] $hostname = undef,
|
170
|
+
Array[String] $aliases = ["www.${hostname}"],
|
171
|
+
) {
|
172
|
+
if $hostname {
|
173
|
+
# ...
|
174
|
+
}
|
175
|
+
}
|
176
|
+
EOS
|
177
|
+
end
|
178
|
+
|
179
|
+
it 'should not detect any problems' do
|
180
|
+
expect(problems).to have(0).problems
|
181
|
+
end
|
182
|
+
end
|
165
183
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint-duplicate_class_parameters-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dean Wilson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet-lint
|
@@ -161,10 +161,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
161
|
version: '0'
|
162
162
|
requirements: []
|
163
163
|
rubyforge_project:
|
164
|
-
rubygems_version: 2.
|
164
|
+
rubygems_version: 2.7.3
|
165
165
|
signing_key:
|
166
166
|
specification_version: 4
|
167
167
|
summary: puppet-lint duplicate class parameters check
|
168
168
|
test_files:
|
169
|
-
- spec/spec_helper.rb
|
170
169
|
- spec/puppet-lint/plugins/puppet-lint_duplicate_class_parameters_spec.rb
|
170
|
+
- spec/spec_helper.rb
|