puppet-lint-param_comment-check 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: b4b8ad42633483b29d912da99b108a9bcd277b7c6b1d21ebaeeedb4aa9634e12
4
- data.tar.gz: 768790358859c7375df58da9fbbd2b932a94f606647d9f13e513fc119cbd29e3
3
+ metadata.gz: 57edfb5e9c1716c1bfb583619d1a36bf57f7f4492af64f33a828dba5f4b1eec2
4
+ data.tar.gz: 3350c35a78495a1d4de4f25567af5da91cbed2601c25e3fe8e13e273e31e8f09
5
5
  SHA512:
6
- metadata.gz: eee0e509c76c55d1cc9b97ed444bdadbf1caa8a970e03e339618083d1e5019f0a18e70d627b4f691f1aa255a78a8240972db6a68d38b2a41c9f9993f3a3714e4
7
- data.tar.gz: 6af8ad1b81d6d0b9f2e4d8cbf9cee33507e6813f025691187edab23adc9f0510372e4cd88362f614066904c32243bc3bc0a550fddfe238f9e5c250bfc897f592
6
+ metadata.gz: 0e58accb1fe706bb94f24ccbe8ed80f50aee634f942360f4b29c203a206c84a7196fc0bda9c882561f7d2b9420919d703fb7444a41ac47da9d3c4a998d54ae48
7
+ data.tar.gz: 10e7eef3b38f933c9f871e727d912c88e1fc76193158dd909c6c99e9d084dd585dce554dc5573d7eb206170b2d07c7fbe530a888903e3ca15446d9fbb29fbdd7
@@ -35,7 +35,7 @@ def analyze_param_token(token, current_param)
35
35
  case token.type
36
36
  when :VARIABLE
37
37
  current_param[:name] = token.value
38
- when :CLASSREF
38
+ when :CLASSREF, :TYPE
39
39
  current_param[:type] = token.value
40
40
  when :EQUALS
41
41
  current_param[:has_default] = true
@@ -47,10 +47,15 @@ end
47
47
  # Analyze the parameters of a class or a defined type
48
48
  #
49
49
  # @param param_tokens The parameter tokens to analyze
50
- def analyze_params(param_tokens)
50
+ def analyze_params(param_tokens) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
51
51
  params = []
52
52
  current_param = EMPTY_PARAM.dup
53
+ in_brackets = false
53
54
  param_tokens.reject { |token| %i[WHITESPACE NEWLINE].include? token.type }.each do |token|
55
+ in_brackets = true if token.type == :LBRACK
56
+ in_brackets = false if token.type == :RBRACK
57
+ next if in_brackets
58
+
54
59
  current_param = analyze_param_token(token, current_param) unless token.type == :COMMA
55
60
  if token.type == :COMMA
56
61
  params.append(current_param)
@@ -100,7 +105,7 @@ PuppetLint.new_check(:param_comment) do # rubocop:disable Metrics/BlockLength
100
105
  next unless comment.value.match?(/@param/) || comment.value.match?(/@option/)
101
106
  next if comment.value.strip.match?(REGEXP_PARAM_HEADER) || comment.value.strip.match?(REGEXP_OPTION_HEADER)
102
107
 
103
- return warn('Invalid param or hash option header', comment.line, comment.column)
108
+ return warn("Invalid param or hash option header: #{comment.value.strip}", comment.line, comment.column)
104
109
  end
105
110
  true
106
111
  end
@@ -34,6 +34,25 @@ describe 'param_comment' do
34
34
  end
35
35
  end
36
36
 
37
+ context 'valid code with spaces in the type' do
38
+ let(:code) do
39
+ <<~CODE
40
+ # @summary
41
+ # some class
42
+ #
43
+ # @param ensure
44
+ # Ensure it
45
+ class my_class (
46
+ Enum['present', 'absent'] $ensure = 'present'
47
+ ) {}
48
+ CODE
49
+ end
50
+
51
+ it 'should not detect any problems' do
52
+ expect(problems).to have(0).problems
53
+ end
54
+ end
55
+
37
56
  context 'code with missing parameter comment' do
38
57
  let(:code) do
39
58
  <<~CODE
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-param_comment-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Ploeger
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2022-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: finite_machine
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: puppet-lint
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -25,13 +39,13 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.0'
27
41
  - !ruby/object:Gem::Dependency
28
- name: finite_machine
42
+ name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
- type: :runtime
48
+ type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
@@ -53,7 +67,7 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '3.0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rspec-its
70
+ name: rspec-collection_matchers
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '1.0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: rspec-collection_matchers
84
+ name: rspec-its
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
@@ -80,20 +94,6 @@ dependencies:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
96
  version: '1.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -158,8 +158,7 @@ requirements: []
158
158
  rubygems_version: 3.0.3.1
159
159
  signing_key:
160
160
  specification_version: 4
161
- summary: '["A puppet-lint plugin to check @param comments", " A puppet-lint plugin
162
- to check that manifest files contain properly formatted @param comments.\n"]'
161
+ summary: A puppet-lint plugin to check @param comments
163
162
  test_files:
164
163
  - spec/spec_helper.rb
165
164
  - spec/puppet-lint/plugins/check_param_comment_spec.rb