puppet-lint-array_formatting-check 0.9.0 → 0.10.0
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/README.md +5 -3
- data/lib/puppet-lint/plugins/check_array_formatting.rb +13 -7
- data/spec/puppet-lint/plugins/check_array_formatting_spec.rb +6 -9
- data/spec/spec_helper.rb +4 -1
- metadata +14 -99
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08713cd7bf32fe3f2f529c4138c3f9243122fec74123b46ca92364a1f904df91'
|
4
|
+
data.tar.gz: a1cec828ab3bb0a6a2251ad3e49b35e21a7161739295d86af80532f52361ad88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9650c19207b107d1d98ec6ffb169605b34c03af8169b85a2618935e688ca5af522c3d45bb9532dc70c7c9e781ab799294e3811594def2205d2f714d47304260
|
7
|
+
data.tar.gz: a658f6274cdfc3e481cc34c26f728f780e9a1e79f89fc5de8f3bb20285a74d468f9666b66c65209fd80cdd1e3015f28525612c4425205cefe520615910faa2b6
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# puppet-lint array formatting check
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/puppet-lint-array_formatting-check)
|
4
|
+
|
3
5
|
A new check for puppet-lint that ensures array formatting conforms to the [Puppet Style Guide](https://puppet.com/docs/puppet/6.0/style_guide.html#arrays-and-hashes) on arrays; namely that each element should be on a separate line.
|
4
6
|
|
5
7
|
It will take an array formatted as
|
@@ -57,13 +59,13 @@ This plugin provides a new check to `puppet-lint`.
|
|
57
59
|
This check will raise warnings for every element in an array that should be on its own line
|
58
60
|
|
59
61
|
```
|
60
|
-
WARNING: expected newline before element
|
62
|
+
WARNING: expected newline before element on line 3
|
61
63
|
```
|
62
64
|
|
63
|
-
It will also
|
65
|
+
It will also raise warnings on extra (unnecessary) newlines in arrays
|
64
66
|
|
65
67
|
```
|
66
|
-
WARNING: unexpected newline
|
68
|
+
WARNING: unexpected newline on line 4
|
67
69
|
```
|
68
70
|
|
69
71
|
### Author
|
@@ -1,3 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
EXPECTED_NEWLINE_BEFORE_ELEMENT = 'expected newline before element'
|
4
|
+
EXPECTED_NEWLINE_BEFORE_CLOSE = 'expected newline before close'
|
5
|
+
UNEXPECTED_NEWLINE = 'unexpected newline'
|
6
|
+
PARSING_ERROR = 'parsing error'
|
1
7
|
PuppetLint.new_check(:array_formatting) do
|
2
8
|
def process_array
|
3
9
|
# When we arrive here, the @manifest enumerator is "pointing" to
|
@@ -50,7 +56,7 @@ PuppetLint.new_check(:array_formatting) do
|
|
50
56
|
elsif !prev_token_was_newline && ![:NEWLINE].include?(manifest_array[x].type)
|
51
57
|
# We were expecting a newline. :-(
|
52
58
|
notify :warning,
|
53
|
-
message:
|
59
|
+
message: EXPECTED_NEWLINE_BEFORE_ELEMENT,
|
54
60
|
line: manifest_array[x].line,
|
55
61
|
column: manifest_array[x].column,
|
56
62
|
token: manifest_array[x]
|
@@ -59,7 +65,7 @@ PuppetLint.new_check(:array_formatting) do
|
|
59
65
|
elsif prev_token_was_newline && [:NEWLINE].include?(manifest_array[x].type)
|
60
66
|
# We got an extra newline. Let's fix that up while we're at it.
|
61
67
|
notify :warning,
|
62
|
-
message:
|
68
|
+
message: UNEXPECTED_NEWLINE,
|
63
69
|
line: manifest_array[x].line,
|
64
70
|
column: manifest_array[x].column,
|
65
71
|
token: manifest_array[x]
|
@@ -68,7 +74,7 @@ PuppetLint.new_check(:array_formatting) do
|
|
68
74
|
else
|
69
75
|
# Something has gone horribly wrong. The truth table says we should never be here.
|
70
76
|
notify :error,
|
71
|
-
message:
|
77
|
+
message: PARSING_ERROR,
|
72
78
|
line: manifest_array[x].line,
|
73
79
|
column: manifest_array[x].column
|
74
80
|
end
|
@@ -81,7 +87,7 @@ PuppetLint.new_check(:array_formatting) do
|
|
81
87
|
# token is already pointing to the offending ].
|
82
88
|
if !prev_token_was_newline # rubocop:disable NegatedIf "I find this clearer than `unless prev_token_was_newline`"
|
83
89
|
notify :warning,
|
84
|
-
message:
|
90
|
+
message: EXPECTED_NEWLINE_BEFORE_CLOSE,
|
85
91
|
line: token.line,
|
86
92
|
column: token.column,
|
87
93
|
token: token
|
@@ -108,16 +114,16 @@ PuppetLint.new_check(:array_formatting) do
|
|
108
114
|
def fix(problem)
|
109
115
|
token_index = tokens.find_index(problem[:token])
|
110
116
|
case problem[:message]
|
111
|
-
when
|
117
|
+
when PARSING_ERROR
|
112
118
|
# Truth table says we should never get here
|
113
119
|
raise PuppetLint::NoFix
|
114
|
-
when
|
120
|
+
when UNEXPECTED_NEWLINE
|
115
121
|
# If we delete the INDENT first, we change the index of the offending token,
|
116
122
|
# so we need to do the token first, then the INDENT
|
117
123
|
tokens.delete_at(token_index)
|
118
124
|
# If the previous token is an Indent, we'll want to delete that too
|
119
125
|
tokens.delete_at(token_index - 1) if [:INDENT].include?(problem[:token].prev_token.type)
|
120
|
-
when
|
126
|
+
when EXPECTED_NEWLINE_BEFORE_ELEMENT, EXPECTED_NEWLINE_BEFORE_CLOSE
|
121
127
|
# If the preceeding token is a whitespace, replace it with a newline instead
|
122
128
|
# so that we don't end up with trailing whitespaces
|
123
129
|
if %i[WHITESPACE INDENT].include?(problem[:token].prev_token.type)
|
@@ -1,7 +1,5 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
# I'm going to blame different syntaxes.
|
4
|
-
# rubocop:disable TrailingCommaInArguments
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
5
3
|
require 'spec_helper'
|
6
4
|
|
7
5
|
describe 'array_formatting' do
|
@@ -112,7 +110,7 @@ describe 'array_formatting' do
|
|
112
110
|
end
|
113
111
|
context 'on code with an array with extra newlines' do
|
114
112
|
let(:code) do
|
115
|
-
# rubocop:disable TrailingWhitespace
|
113
|
+
# rubocop:disable Layout/TrailingWhitespace
|
116
114
|
<<-ARRAY.gsub(/^ {10}/, '')
|
117
115
|
file{[
|
118
116
|
'/etc',
|
@@ -125,7 +123,7 @@ describe 'array_formatting' do
|
|
125
123
|
ensure => directory,
|
126
124
|
}
|
127
125
|
ARRAY
|
128
|
-
# rubocop:enable TrailingWhitespace
|
126
|
+
# rubocop:enable Layout/TrailingWhitespace
|
129
127
|
end
|
130
128
|
|
131
129
|
it 'should detect 2 problems' do
|
@@ -540,7 +538,7 @@ describe 'array_formatting' do
|
|
540
538
|
end
|
541
539
|
context 'on code with an array with extra newlines' do
|
542
540
|
let(:code) do
|
543
|
-
# rubocop:disable TrailingWhitespace
|
541
|
+
# rubocop:disable Layout/TrailingWhitespace
|
544
542
|
<<-ARRAY.gsub(/^ {10}/, '')
|
545
543
|
file{[
|
546
544
|
'/etc',
|
@@ -553,7 +551,7 @@ describe 'array_formatting' do
|
|
553
551
|
ensure => directory,
|
554
552
|
}
|
555
553
|
ARRAY
|
556
|
-
# rubocop:enable TrailingWhitespace
|
554
|
+
# rubocop:enable Layout/TrailingWhitespace
|
557
555
|
end
|
558
556
|
|
559
557
|
it 'should detect 2 problems' do
|
@@ -1020,4 +1018,3 @@ describe 'array_formatting' do
|
|
1020
1018
|
end
|
1021
1019
|
end
|
1022
1020
|
end
|
1023
|
-
# rubocop:enable TrailingCommaInArguments
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint-array_formatting-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Manzer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet-lint
|
@@ -16,104 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.1.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '5'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 3.1.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: rake
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '12.0'
|
40
|
-
type: :development
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '12.0'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rspec
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '3.0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '3.0'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rspec-collection_matchers
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '1.0'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '1.0'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: rspec-its
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '1.0'
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '1.0'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: rspec-json_expectations
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '2.0'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '2.0'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: simplecov
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0.16'
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0.16'
|
32
|
+
version: '5'
|
117
33
|
description: " A puppet-lint plugin to check that arrays comform to the style guideline
|
118
34
|
of having one element per line.\n"
|
119
35
|
email: amanzer@gmail.com
|
@@ -129,8 +45,9 @@ files:
|
|
129
45
|
homepage: https://gitlab.com/amanzer/puppet-lint-array_formatting-check
|
130
46
|
licenses:
|
131
47
|
- MIT
|
132
|
-
metadata:
|
133
|
-
|
48
|
+
metadata:
|
49
|
+
rubygems_mfa_required: 'true'
|
50
|
+
post_install_message:
|
134
51
|
rdoc_options: []
|
135
52
|
require_paths:
|
136
53
|
- lib
|
@@ -138,17 +55,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
55
|
requirements:
|
139
56
|
- - ">="
|
140
57
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
58
|
+
version: '2.5'
|
142
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
60
|
requirements:
|
144
61
|
- - ">="
|
145
62
|
- !ruby/object:Gem::Version
|
146
63
|
version: '0'
|
147
64
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
149
|
-
signing_key:
|
65
|
+
rubygems_version: 3.3.26
|
66
|
+
signing_key:
|
150
67
|
specification_version: 4
|
151
68
|
summary: A puppet-lint plugin to check array formatting.
|
152
|
-
test_files:
|
153
|
-
- spec/spec_helper.rb
|
154
|
-
- spec/puppet-lint/plugins/check_array_formatting_spec.rb
|
69
|
+
test_files: []
|