puppet-lint 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -1
- data/lib/puppet-lint/data.rb +1 -1
- data/lib/puppet-lint/plugins/check_classes.rb +10 -1
- data/lib/puppet-lint/plugins/check_whitespace.rb +1 -1
- data/lib/puppet-lint/version.rb +1 -1
- data/spec/puppet-lint/plugins/check_whitespace/arrow_alignment_spec.rb +17 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d38c3e980312a05a89ce9927adb0f804a9bb2b3a
|
4
|
+
data.tar.gz: 9ed350e5a31848d582093b528b516c8834250bd8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29ed416ab704c80e28e01fff7c024fb92406a5dc091f2ebbd4e247b214b49560aca37e71e03730adfd71846f08c8396122fc4e30d043881e20434a920b43d6ac
|
7
|
+
data.tar.gz: dbf341808a24b94dbaa7e1b01145832b5995f7c197fa651300aac7e38bdb5f688c6f1b57271b9496648bf9604788a278cb522e3679d3e4e4a669b0bfafb85123
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [2.2.1](https://github.com/rodjek/puppet-lint/tree/2.2.1) (2017-03-29)
|
4
|
+
[Full Changelog](https://github.com/rodjek/puppet-lint/compare/2.2.0...2.2.1)
|
5
|
+
|
6
|
+
**Closed issues:**
|
7
|
+
|
8
|
+
- "undefined method `map' for nil:NilClass" when running check\_whitespace [\#681](https://github.com/rodjek/puppet-lint/issues/681)
|
9
|
+
- "undefined method `next\_token='" when fixing with check\_whitespace [\#680](https://github.com/rodjek/puppet-lint/issues/680)
|
10
|
+
- Release 2.2.0 planning and discussion [\#668](https://github.com/rodjek/puppet-lint/issues/668)
|
11
|
+
|
12
|
+
**Merged pull requests:**
|
13
|
+
|
14
|
+
- restore the links between tokens after arrow\_on\_right\_operand\_line\#fix [\#684](https://github.com/rodjek/puppet-lint/pull/684) ([rodjek](https://github.com/rodjek))
|
15
|
+
- level\_tokens\[0\] can be nil if there is no params in the top level block [\#682](https://github.com/rodjek/puppet-lint/pull/682) ([rodjek](https://github.com/rodjek))
|
16
|
+
|
3
17
|
## [2.2.0](https://github.com/rodjek/puppet-lint/tree/2.2.0) (2017-03-29)
|
4
18
|
[Full Changelog](https://github.com/rodjek/puppet-lint/compare/2.1.1...2.2.0)
|
5
19
|
|
@@ -75,7 +89,6 @@
|
|
75
89
|
|
76
90
|
**Merged pull requests:**
|
77
91
|
|
78
|
-
- puppet-lint 2.1.1 release [\#628](https://github.com/rodjek/puppet-lint/pull/628) ([rnelson0](https://github.com/rnelson0))
|
79
92
|
- Correctly handle strings-with-variables as hash keys in arrow\_alignment check [\#621](https://github.com/rodjek/puppet-lint/pull/621) ([rodjek](https://github.com/rodjek))
|
80
93
|
- Support array of variables on left side of an assign operation [\#617](https://github.com/rodjek/puppet-lint/pull/617) ([rodjek](https://github.com/rodjek))
|
81
94
|
- Test against Ruby 2.4.0 [\#616](https://github.com/rodjek/puppet-lint/pull/616) ([rodjek](https://github.com/rodjek))
|
@@ -242,6 +255,25 @@
|
|
242
255
|
## [2.0.0](https://github.com/rodjek/puppet-lint/tree/2.0.0) (2016-06-22)
|
243
256
|
[Full Changelog](https://github.com/rodjek/puppet-lint/compare/1.1.0...2.0.0)
|
244
257
|
|
258
|
+
puppet-lint 2.0.0 is a breaking change. Specifically, the renaming of the line length test was changed from `80chars` to `140chars`. You may need to adjust your configuration and lint checks. For example:
|
259
|
+
```ruby
|
260
|
+
# Line length test is 80 chars in puppet-lint 1.1.0
|
261
|
+
PuppetLint.configuration.send('disable_80chars')
|
262
|
+
# Line length test is 140 chars in puppet-lint 2.x
|
263
|
+
PuppetLint.configuration.send('disable_140chars')
|
264
|
+
```
|
265
|
+
|
266
|
+
You may also need to adjust your Gemfile if you are pointing directly at git:
|
267
|
+
```ruby
|
268
|
+
# old
|
269
|
+
gem 'puppet-lint', :require => false, :git => 'https://github.com/rodjek/puppet-lint.git'
|
270
|
+
|
271
|
+
# new
|
272
|
+
gem 'puppet-lint', '~> 2.0'
|
273
|
+
```
|
274
|
+
|
275
|
+
If the additional gems you use for checks are pinned to 1.x, you should pin puppet-lint to `'~> 1.0'` or `'>= 1.0', '< 3.0'` until updated check gems are released.
|
276
|
+
|
245
277
|
**Closed issues:**
|
246
278
|
|
247
279
|
- Current package [\#471](https://github.com/rodjek/puppet-lint/issues/471)
|
data/lib/puppet-lint/data.rb
CHANGED
@@ -109,7 +109,7 @@ class PuppetLint::Data
|
|
109
109
|
marker = 0
|
110
110
|
result = []
|
111
111
|
tokens.select { |t| t.type == :COLON }.each do |colon_token|
|
112
|
-
if colon_token.next_code_token && colon_token.next_code_token != :LBRACE
|
112
|
+
if colon_token.next_code_token && colon_token.next_code_token.type != :LBRACE
|
113
113
|
start_idx = tokens.index(colon_token)
|
114
114
|
next if start_idx < marker
|
115
115
|
end_token = colon_token.next_token_of([:SEMIC, :RBRACE])
|
@@ -35,6 +35,7 @@ PuppetLint.new_check(:arrow_on_right_operand_line) do
|
|
35
35
|
def fix(problem)
|
36
36
|
token = problem[:token]
|
37
37
|
tokens.delete(token)
|
38
|
+
|
38
39
|
# remove any excessive whitespace on the line
|
39
40
|
temp_token = token.prev_code_token
|
40
41
|
while (temp_token = temp_token.next_token)
|
@@ -42,9 +43,17 @@ PuppetLint.new_check(:arrow_on_right_operand_line) do
|
|
42
43
|
break if temp_token.type == :NEWLINE
|
43
44
|
end
|
44
45
|
|
46
|
+
temp_token.next_token = token
|
47
|
+
token.prev_token = temp_token
|
45
48
|
index = tokens.index(token.next_code_token)
|
46
49
|
tokens.insert(index, token)
|
47
|
-
|
50
|
+
|
51
|
+
whitespace_token = PuppetLint::Lexer::Token.new(:WHITESPACE, ' ', temp_token.line + 1, 3)
|
52
|
+
whitespace_token.prev_token = token
|
53
|
+
token.next_token = whitespace_token
|
54
|
+
whitespace_token.next_token = tokens[index + 1]
|
55
|
+
tokens[index + 1].prev_token = whitespace_token
|
56
|
+
tokens.insert(index + 1, whitespace_token)
|
48
57
|
end
|
49
58
|
|
50
59
|
def whitespace?(token)
|
@@ -178,7 +178,7 @@ PuppetLint.new_check(:arrow_alignment) do
|
|
178
178
|
level_tokens[level_idx] ||= []
|
179
179
|
param_column << nil
|
180
180
|
elsif token.type == :RBRACE || token.type == :SEMIC
|
181
|
-
if level_tokens[level_idx].map(&:line).uniq.length > 1
|
181
|
+
if (level_tokens[level_idx] ||= []).map(&:line).uniq.length > 1
|
182
182
|
level_tokens[level_idx].each do |arrow_tok|
|
183
183
|
unless arrow_tok.column == arrow_column[level_idx] || level_tokens[level_idx].size == 1
|
184
184
|
arrows_on_line = level_tokens[level_idx].select { |t| t.line == arrow_tok.line }
|
data/lib/puppet-lint/version.rb
CHANGED
@@ -424,6 +424,23 @@ describe 'arrow_alignment' do
|
|
424
424
|
expect(problems).to have(0).problems
|
425
425
|
end
|
426
426
|
end
|
427
|
+
|
428
|
+
context 'where the top level of the block has no parameters' do
|
429
|
+
let(:code) { "
|
430
|
+
case $::osfamily {
|
431
|
+
'RedHat': {
|
432
|
+
$datadir = $::operatingsystem ? {
|
433
|
+
'Amazon' => pick($datadir, 'value'),
|
434
|
+
default => pick($datadir, 'value'),
|
435
|
+
}
|
436
|
+
}
|
437
|
+
}
|
438
|
+
" }
|
439
|
+
|
440
|
+
it 'should not detect any problems' do
|
441
|
+
expect(problems).to have(0).problems
|
442
|
+
end
|
443
|
+
end
|
427
444
|
end
|
428
445
|
|
429
446
|
context 'with fix enabled' do
|