puppet-lint-param-docs 1.0.1 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bb4b94293827223c095b299cf276db411a10b2f
4
- data.tar.gz: a7f61cd34c5d9488a002533c026d2dc9d2f3f7a3
3
+ metadata.gz: 4cf77c26f657156fad03044435a16d3dbe003717
4
+ data.tar.gz: fe657a095d1febeb3edc1312d634779c0c97c7ea
5
5
  SHA512:
6
- metadata.gz: f0c8fa5a5f48d0e5f2d7141b809a2ad01ab00de3eda336891955e6a0e4027579937bbd815ebf31daea5b587282b420518220167983a57c78dee53542dcb8e4d9
7
- data.tar.gz: 4a78705dc8c8b0aab3be9ba1dff093afe117804a76a60c74db1c2352c730ffd1d0379b8c31d7d8e6f0d35202e479889537e006162b05b494915816d9e7596507
6
+ metadata.gz: e4065e1c26034d49c04f471f3e4621cf615c397116d337a8d9108ce59b94e40ea6a4620bc1ed5e625cf3b0ba9066a3f18bbb023dfe7e6adc6a72b12f9ddfa4ef
7
+ data.tar.gz: 7e63d27aacb10ffb8f7c5964b712545a6c2eefb44e4bf9d8143be0ac510dcadde74f016f26b8d5dd786ab00eff002ec5645256b5dd3db99e88c6d9dad220529b
data/README.md CHANGED
@@ -8,7 +8,7 @@ default behaviour is to throw an error when a parameter is undocumented.
8
8
 
9
9
  ## Installation
10
10
 
11
- To use this plugin, add the following like to the Gemfile in your Puppet code
11
+ To use this plugin, add the following line to the Gemfile in your Puppet code
12
12
  base and run `bundle install`.
13
13
 
14
14
  ```ruby
@@ -7,7 +7,10 @@ PuppetLint.new_check(:parameter_documentation) do
7
7
  tokens[0..klass[:start]].reverse_each do |dtok|
8
8
  next if [:CLASS, :NEWLINE, :WHITESPACE, :INDENT].include?(dtok.type)
9
9
  if [:COMMENT, :MLCOMMENT, :SLASH_COMMENT].include?(dtok.type)
10
- doc_params << $1 if dtok.value =~ /\A\s*\$([a-zA-Z0-9_]+)::/
10
+ if dtok.value =~ /\A\s*\[\*([a-zA-Z0-9_]+)\*\]/ or
11
+ dtok.value =~ /\A\s*\$([a-zA-Z0-9_]+)::/
12
+ doc_params << $1
13
+ end
11
14
  else
12
15
  break
13
16
  end
@@ -44,7 +44,7 @@ class foreman (
44
44
  end
45
45
  end
46
46
 
47
- context 'class missing documentation for a parameter' do
47
+ context 'class missing documentation ($bar::) for a parameter' do
48
48
  let(:code) do
49
49
  <<-EOS.gsub(/^\s+/, '')
50
50
  # Example class
@@ -66,7 +66,29 @@ class foreman (
66
66
  end
67
67
  end
68
68
 
69
- context 'class missing documentation for a second parameter' do
69
+ context 'class missing documentation ([*bar*]) for a parameter' do
70
+ let(:code) do
71
+ <<-EOS.gsub(/^\s+/, '')
72
+ # Example class
73
+ #
74
+ # === Parameters:
75
+ #
76
+ # [*bar*] example
77
+ #
78
+ class example($foo, $bar) { }
79
+ EOS
80
+ end
81
+
82
+ it 'should detect a single problem' do
83
+ expect(problems).to have(1).problem
84
+ end
85
+
86
+ it 'should create a warning' do
87
+ expect(problems).to contain_warning(msg % :foo).on_line(7).in_column(15)
88
+ end
89
+ end
90
+
91
+ context 'class missing documentation ($bar::) for a second parameter' do
70
92
  let(:code) do
71
93
  <<-EOS.gsub(/^\s+/, '')
72
94
  # Example class
@@ -89,7 +111,30 @@ class foreman (
89
111
  end
90
112
  end
91
113
 
92
- context 'class with all parameters documented' do
114
+ context 'class missing documentation ([*bar*]) for a second parameter' do
115
+ let(:code) do
116
+ <<-EOS.gsub(/^\s+/, '')
117
+ # Example class
118
+ #
119
+ # === Parameters:
120
+ #
121
+ # [*bar*] example
122
+ #
123
+ class example($foo, $bar, $baz) { }
124
+ EOS
125
+ end
126
+
127
+ it 'should detect two problem' do
128
+ expect(problems).to have(2).problems
129
+ end
130
+
131
+ it 'should create two warnings' do
132
+ expect(problems).to contain_warning(msg % :foo).on_line(7).in_column(15)
133
+ expect(problems).to contain_warning(msg % :baz).on_line(7).in_column(27)
134
+ end
135
+ end
136
+
137
+ context 'class with all parameters documented ($foo::)' do
93
138
  let(:code) do
94
139
  <<-EOS
95
140
  # Example class
@@ -107,6 +152,24 @@ class foreman (
107
152
  end
108
153
  end
109
154
 
155
+ context 'class with all parameters documented ([*foo*])' do
156
+ let(:code) do
157
+ <<-EOS
158
+ # Example class
159
+ #
160
+ # === Parameters:
161
+ #
162
+ # [*foo*] example
163
+ #
164
+ class example($foo) { }
165
+ EOS
166
+ end
167
+
168
+ it 'should not detect any problems' do
169
+ expect(problems).to have(0).problems
170
+ end
171
+ end
172
+
110
173
  context 'class without parameters' do
111
174
  let(:code) { 'class example { }' }
112
175
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-param-docs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Cleal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-23 00:00:00.000000000 Z
11
+ date: 2014-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint