puppet-lint-param-docs 1.3.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cd697d0feb34c823acfdb9c02da8dc0c51e79e3
|
4
|
+
data.tar.gz: 208239c0f29443cd62bb57e6a1dd39e08baec929
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6009a3d8e57ecfa4979efc2e403a0c0392a9023f201e0bd1efe1cda86de02c9a6edd6c3bfec28dd010fe4e3e10ff94166d40cabd8b37f796ba23ece61b25f77
|
7
|
+
data.tar.gz: 7ded50a856ce0bd2c0e07e8c2b85172204bdb275592c8d5d06ff29280e24e9e56ea80a9cacf9bf0082fa906c51946eff2cad13e8f05314aef295f420d3fce7b5
|
data/README.md
CHANGED
@@ -31,6 +31,45 @@ WARNING: missing documentation for class parameter foo::bar
|
|
31
31
|
WARNING: missing documentation for defined type parameter foo::baz
|
32
32
|
```
|
33
33
|
|
34
|
+
### Documentation styles
|
35
|
+
|
36
|
+
The check will accept any of the following styles:
|
37
|
+
|
38
|
+
#### Puppet Strings
|
39
|
+
|
40
|
+
Used by [Puppet Strings](https://github.com/puppetlabs/puppetlabs-strings).
|
41
|
+
|
42
|
+
# Example class
|
43
|
+
#
|
44
|
+
# @param foo example
|
45
|
+
define example($foo) { }
|
46
|
+
|
47
|
+
#### Puppet Doc style
|
48
|
+
|
49
|
+
Used by the [puppet-doc](https://docs.puppetlabs.com/puppet/latest/reference/man/doc.html)
|
50
|
+
command, generally deprecated in favour of Puppet Strings.
|
51
|
+
|
52
|
+
# Example class
|
53
|
+
#
|
54
|
+
# === Parameters:
|
55
|
+
#
|
56
|
+
# [*foo*] example
|
57
|
+
#
|
58
|
+
class example($foo) { }
|
59
|
+
|
60
|
+
#### Kafo rdoc style
|
61
|
+
|
62
|
+
Used in [kafo](https://github.com/theforeman/kafo#documentation) following an
|
63
|
+
rdoc style.
|
64
|
+
|
65
|
+
# Example class
|
66
|
+
#
|
67
|
+
# === Parameters:
|
68
|
+
#
|
69
|
+
# $foo:: example
|
70
|
+
#
|
71
|
+
class example($foo) { }
|
72
|
+
|
34
73
|
### Selective rake task
|
35
74
|
|
36
75
|
The usual puppet-lint rake task checks all manifests, which isn't always
|
@@ -39,10 +78,10 @@ some of which you don't wish to document, then you can exclude them using
|
|
39
78
|
[control comments](http://puppet-lint.com/controlcomments/) or by using this
|
40
79
|
helper to customise the lint rake task:
|
41
80
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
81
|
+
require 'puppet-lint-param-docs/tasks'
|
82
|
+
PuppetLintParamDocs.define_selective do |config|
|
83
|
+
config.pattern = ['manifests/init.pp', 'manifests/other/**/*.pp']
|
84
|
+
end
|
46
85
|
|
47
86
|
This would disable the parameter_documentation check by default, but then
|
48
87
|
defines a new rake task (which runs after `lint`) specifically for the files
|
@@ -8,7 +8,8 @@ PuppetLint.new_check(:parameter_documentation) do
|
|
8
8
|
next if [:CLASS, :DEFINE, :NEWLINE, :WHITESPACE, :INDENT].include?(dtok.type)
|
9
9
|
if [:COMMENT, :MLCOMMENT, :SLASH_COMMENT].include?(dtok.type)
|
10
10
|
if dtok.value =~ /\A\s*\[\*([a-zA-Z0-9_]+)\*\]/ or
|
11
|
-
dtok.value =~ /\A\s*\$([a-zA-Z0-9_]+):: +/
|
11
|
+
dtok.value =~ /\A\s*\$([a-zA-Z0-9_]+):: +/ or
|
12
|
+
dtok.value =~ /\A\s*@param ([a-zA-Z0-9_]+) +/
|
12
13
|
doc_params << $1
|
13
14
|
end
|
14
15
|
else
|
@@ -130,6 +130,44 @@ define foreman (
|
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
|
+
context 'class missing documentation (@param bar) for a parameter' do
|
134
|
+
let(:code) do
|
135
|
+
<<-EOS.gsub(/^\s+/, '')
|
136
|
+
# Example class
|
137
|
+
#
|
138
|
+
# @param bar example
|
139
|
+
class example($foo, $bar) { }
|
140
|
+
EOS
|
141
|
+
end
|
142
|
+
|
143
|
+
it 'should detect a single problem' do
|
144
|
+
expect(problems).to have(1).problem
|
145
|
+
end
|
146
|
+
|
147
|
+
it 'should create a warning' do
|
148
|
+
expect(problems).to contain_warning(class_msg % :foo).on_line(4).in_column(15)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
context 'define missing documentation (@param bar) for a parameter' do
|
153
|
+
let(:code) do
|
154
|
+
<<-EOS.gsub(/^\s+/, '')
|
155
|
+
# Example class
|
156
|
+
#
|
157
|
+
# @param bar example
|
158
|
+
define example($foo, $bar) { }
|
159
|
+
EOS
|
160
|
+
end
|
161
|
+
|
162
|
+
it 'should detect a single problem' do
|
163
|
+
expect(problems).to have(1).problem
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'should create a warning' do
|
167
|
+
expect(problems).to contain_warning(define_msg % :foo).on_line(4).in_column(16)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
133
171
|
context 'class missing documentation ([*bar*]) for a parameter' do
|
134
172
|
let(:code) do
|
135
173
|
<<-EOS.gsub(/^\s+/, '')
|
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.
|
4
|
+
version: 1.4.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:
|
11
|
+
date: 2016-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet-lint
|