puppet-lint-param-docs 1.4.0 → 1.6.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
- SHA1:
3
- metadata.gz: 1cd697d0feb34c823acfdb9c02da8dc0c51e79e3
4
- data.tar.gz: 208239c0f29443cd62bb57e6a1dd39e08baec929
2
+ SHA256:
3
+ metadata.gz: 7b7f8ef3f161f032261f4785f2ef368e89ad583295f8d1af9e25fc2daad26e15
4
+ data.tar.gz: ff99f8a6a3c9ceb061c6b8397e928ab5871fc2da91fffb0c296efe0f340a2575
5
5
  SHA512:
6
- metadata.gz: a6009a3d8e57ecfa4979efc2e403a0c0392a9023f201e0bd1efe1cda86de02c9a6edd6c3bfec28dd010fe4e3e10ff94166d40cabd8b37f796ba23ece61b25f77
7
- data.tar.gz: 7ded50a856ce0bd2c0e07e8c2b85172204bdb275592c8d5d06ff29280e24e9e56ea80a9cacf9bf0082fa906c51946eff2cad13e8f05314aef295f420d3fce7b5
6
+ metadata.gz: dad82fe8054ea2433eb4bfa7d2c4a39401de66308e4c2f5027e9da3c39fbc93284e2c501b48a175469bbc3f61d1c950ee5beb5153f871084a5d3361c4d0175c9
7
+ data.tar.gz: e321066d4a8fc4661a923f0d1ab1e06e986a021462b7411c2b66eb5ab06d2087cdea4cb4ce39c16f480cf2ea8195c0bdbdc19e07272727eb0ba30130b726b4d7
data/README.md CHANGED
@@ -19,18 +19,31 @@ gem 'puppet-lint-param-docs'
19
19
 
20
20
  This plugin provides a new check to `puppet-lint`.
21
21
 
22
- ### parameter_documentation
22
+ ### parameter\_documentation
23
23
 
24
24
  **--fix support: No**
25
25
 
26
26
  This check will raise a warning for any class or defined type parameters that
27
- don't have an RDoc description.
27
+ don't have a description.
28
28
 
29
29
  ```
30
30
  WARNING: missing documentation for class parameter foo::bar
31
31
  WARNING: missing documentation for defined type parameter foo::baz
32
32
  ```
33
33
 
34
+ It will also raise warnings for parameters documented more than once.
35
+
36
+ ```
37
+ WARNING Duplicate class parameter documentation for foo::bar on line 5
38
+ WARNING Duplicate class parameter documentation for foo::bar on line 6
39
+ ```
40
+
41
+ A warning will also be raised if you document a parameter that doesn't exist in the class or defined type.
42
+
43
+ ```
44
+ WARNING No matching class parameter for documentation of foo::bar
45
+ ```
46
+
34
47
  ### Documentation styles
35
48
 
36
49
  The check will accept any of the following styles:
@@ -39,36 +52,42 @@ The check will accept any of the following styles:
39
52
 
40
53
  Used by [Puppet Strings](https://github.com/puppetlabs/puppetlabs-strings).
41
54
 
42
- # Example class
43
- #
44
- # @param foo example
45
- define example($foo) { }
55
+ ```puppet
56
+ # @summary Example class
57
+ #
58
+ # @param foo example
59
+ define example($foo) { }
60
+ ```
46
61
 
47
62
  #### Puppet Doc style
48
63
 
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) { }
64
+ Used by the [puppet-doc](https://puppet.com/docs/puppet/6.18/man/doc.html)
65
+ command, deprecated in favour of Puppet Strings.
66
+
67
+ ```puppet
68
+ # Example class
69
+ #
70
+ # === Parameters:
71
+ #
72
+ # [*foo*] example
73
+ #
74
+ class example($foo) { }
75
+ ```
59
76
 
60
77
  #### Kafo rdoc style
61
78
 
62
79
  Used in [kafo](https://github.com/theforeman/kafo#documentation) following an
63
80
  rdoc style.
64
81
 
65
- # Example class
66
- #
67
- # === Parameters:
68
- #
69
- # $foo:: example
70
- #
71
- class example($foo) { }
82
+ ```puppet
83
+ # Example class
84
+ #
85
+ # === Parameters:
86
+ #
87
+ # $foo:: example
88
+ #
89
+ class example($foo) { }
90
+ ```
72
91
 
73
92
  ### Selective rake task
74
93
 
@@ -83,6 +102,9 @@ helper to customise the lint rake task:
83
102
  config.pattern = ['manifests/init.pp', 'manifests/other/**/*.pp']
84
103
  end
85
104
 
86
- This would disable the parameter_documentation check by default, but then
105
+ This would disable the parameter\_documentation check by default, but then
87
106
  defines a new rake task (which runs after `lint`) specifically for the files
88
107
  given in `config.pattern`.
108
+
109
+ The [Puppet Strings](#puppet_strings) `@api private` directive can also be used
110
+ to disable checks on that file.
@@ -1,46 +1,100 @@
1
1
  PuppetLint.new_check(:parameter_documentation) do
2
2
  def check
3
3
  class_indexes.concat(defined_type_indexes).each do |idx|
4
- next if idx[:param_tokens].nil?
5
-
6
- doc_params = []
4
+ doc_params = {}
5
+ doc_params_duplicates = Hash.new { |hash, key| hash[key] = [doc_params[key]] }
6
+ is_private = false
7
7
  tokens[0..idx[:start]].reverse_each do |dtok|
8
8
  next if [:CLASS, :DEFINE, :NEWLINE, :WHITESPACE, :INDENT].include?(dtok.type)
9
- if [:COMMENT, :MLCOMMENT, :SLASH_COMMENT].include?(dtok.type)
9
+ if dtok.type == :COMMENT
10
10
  if dtok.value =~ /\A\s*\[\*([a-zA-Z0-9_]+)\*\]/ or
11
11
  dtok.value =~ /\A\s*\$([a-zA-Z0-9_]+):: +/ or
12
- dtok.value =~ /\A\s*@param ([a-zA-Z0-9_]+) +/
13
- doc_params << $1
12
+ dtok.value =~ /\A\s*@param (?:\[.+\] )?([a-zA-Z0-9_]+)(?: +|$)/
13
+ parameter = $1
14
+ parameter = 'name/title' if idx[:type] == :DEFINE && ['name','title'].include?(parameter)
15
+ if doc_params.include? parameter
16
+ doc_params_duplicates[parameter] << dtok
17
+ else
18
+ doc_params[parameter] = dtok
19
+ end
14
20
  end
21
+
22
+ is_private = true if dtok.value =~ /\A\s*@api +private\s*$/
15
23
  else
16
24
  break
17
25
  end
18
26
  end
19
27
 
20
- params = []
21
- e = idx[:param_tokens].each
22
- begin
23
- while (ptok = e.next)
24
- if ptok.type == :VARIABLE
25
- params << ptok
26
- # skip to the next parameter to avoid finding default values of variables
27
- while true
28
- ptok = e.next
29
- break if ptok.type == :COMMA
30
- end
31
- end
28
+ params = extract_params(idx)
29
+
30
+ # warn about duplicates
31
+ doc_params_duplicates.each do |parameter, tokens|
32
+ tokens.each do |token|
33
+ notify :warning, {
34
+ :message => "Duplicate #{type_str(idx)} parameter documentation for #{idx[:name_token].value}::#{parameter}",
35
+ :line => token.line,
36
+ :column => token.column + token.value.match(/\A\s*(@param\s*)?/)[0].length + 1 # `+ 1` is to account for length of the `#` COMMENT token.
37
+ }
32
38
  end
33
- rescue StopIteration; end
39
+ end
40
+
41
+ # warn about documentation for parameters that don't exist
42
+ doc_params.each do |parameter, token|
43
+ next if parameter == 'name/title' && idx[:type] == :DEFINE
44
+ next if params.find { |p| p.value == parameter }
34
45
 
35
- params.each do |p|
36
- next if doc_params.include? p.value
37
- idx_type = idx[:type] == :CLASS ? "class" : "defined type"
38
46
  notify :warning, {
39
- :message => "missing documentation for #{idx_type} parameter #{idx[:name_token].value}::#{p.value}",
40
- :line => p.line,
41
- :column => p.column,
47
+ :message => "No matching #{type_str(idx)} parameter for documentation of #{idx[:name_token].value}::#{parameter}",
48
+ :line => token.line,
49
+ :column => token.column + token.value.match(/\A\s*(@param\s*)?/)[0].length + 1
42
50
  }
43
51
  end
52
+
53
+ unless is_private
54
+ params.each do |p|
55
+ next if doc_params.has_key? p.value
56
+ notify :warning, {
57
+ :message => "missing documentation for #{type_str(idx)} parameter #{idx[:name_token].value}::#{p.value}",
58
+ :line => p.line,
59
+ :column => p.column,
60
+ }
61
+ end
62
+ end
44
63
  end
45
64
  end
65
+
66
+ private
67
+
68
+ def type_str(idx)
69
+ idx[:type] == :CLASS ? "class" : "defined type"
70
+ end
71
+
72
+ def extract_params(idx)
73
+ params = []
74
+ return params if idx[:param_tokens].nil?
75
+
76
+ e = idx[:param_tokens].each
77
+ begin
78
+ while (ptok = e.next)
79
+ if ptok.type == :VARIABLE
80
+ params << ptok
81
+ nesting = 0
82
+ # skip to the next parameter to avoid finding default values of variables
83
+ while true
84
+ ptok = e.next
85
+ case ptok.type
86
+ when :LPAREN
87
+ nesting += 1
88
+ when :RPAREN
89
+ nesting -= 1
90
+ when :COMMA
91
+ break unless nesting > 0
92
+ end
93
+ end
94
+ end
95
+ end
96
+ rescue StopIteration; end
97
+
98
+ params
99
+ end
46
100
  end
@@ -52,6 +52,18 @@ describe 'parameter_documentation' do
52
52
  end
53
53
  end
54
54
 
55
+ context 'define with param defaults using a function' do
56
+ let(:code) { 'define example($foo = min(8, $facts["processors"]["count"])) { }' }
57
+
58
+ it 'should detect a single problem' do
59
+ expect(problems).to have(1).problem
60
+ end
61
+
62
+ it 'should create a warning' do
63
+ expect(problems).to contain_warning(define_msg % :foo).on_line(1).in_column(16)
64
+ end
65
+ end
66
+
55
67
  context 'class with many param defaults' do
56
68
  let(:code) do
57
69
  <<-EOS
@@ -149,6 +161,27 @@ define foreman (
149
161
  end
150
162
  end
151
163
 
164
+ context 'private class missing documentation (@param bar) for a parameter' do
165
+ let(:code) do
166
+ <<-EOS.gsub(/^\s+/, '')
167
+ # Example class
168
+ #
169
+ # @api private
170
+ #
171
+ # @param bar example
172
+ class example($foo, $bar) { }
173
+ EOS
174
+ end
175
+
176
+ it 'should detect no single problems' do
177
+ expect(problems).to have(0).problems
178
+ end
179
+
180
+ it 'should not create a warning' do
181
+ expect(problems).not_to contain_info(class_msg % :foo)
182
+ end
183
+ end
184
+
152
185
  context 'define missing documentation (@param bar) for a parameter' do
153
186
  let(:code) do
154
187
  <<-EOS.gsub(/^\s+/, '')
@@ -376,6 +409,88 @@ define foreman (
376
409
  end
377
410
  end
378
411
 
412
+ context 'class with all parameters documented (@param)' do
413
+ let(:code) do
414
+ <<-EOS
415
+ # Example class
416
+ #
417
+ # === Parameters:
418
+ #
419
+ # @param foo example
420
+ # @param [Integer] bar example
421
+ # @param baz
422
+ # example
423
+ # @param [Integer] qux
424
+ # example
425
+ #
426
+ class example($foo, $bar, $baz, $qux) { }
427
+ EOS
428
+ end
429
+
430
+ it 'should not detect any problems' do
431
+ expect(problems).to have(0).problems
432
+ end
433
+ end
434
+
435
+ context 'define with all parameters documented (@param)' do
436
+ let(:code) do
437
+ <<-EOS
438
+ # Example define
439
+ #
440
+ # === Parameters:
441
+ #
442
+ # @param foo example
443
+ # @param [Integer] bar example
444
+ # @param baz
445
+ # example
446
+ # @param [Integer] qux
447
+ # example
448
+ #
449
+ define example($foo, $bar, $baz, $qux) { }
450
+ EOS
451
+ end
452
+
453
+ it 'should not detect any problems' do
454
+ expect(problems).to have(0).problems
455
+ end
456
+ end
457
+
458
+ context 'define with all parameters documented with defaults (@param)' do
459
+ let(:code) do
460
+ <<-EOS
461
+ # Example define
462
+ #
463
+ # @param foo example
464
+ #
465
+ define example($foo = $facts['networking']['fqdn']) { }
466
+ EOS
467
+ end
468
+
469
+ it 'should not detect any problems' do
470
+ expect(problems).to have(0).problems
471
+ end
472
+ end
473
+
474
+ context 'define with all parameters documented with defaults using functions (@param)' do
475
+ let(:code) do
476
+ <<-EOS
477
+ # Example define
478
+ #
479
+ # @param foo example
480
+ # @param multiple test nested function calls
481
+ #
482
+ define example(
483
+ $foo = min(8, $facts['processors']['count']),
484
+ $multiple = min(8, max(2, $facts['processors']['count'])),
485
+ ) { }
486
+ EOS
487
+ end
488
+
489
+ it 'should not detect any problems' do
490
+ expect(problems).to have(0).problems
491
+ end
492
+ end
493
+
379
494
  context 'class without parameters' do
380
495
  let(:code) { 'class example { }' }
381
496
 
@@ -429,4 +544,315 @@ define foreman (
429
544
  expect(problems).to contain_warning(class_msg % :foo).on_line(7).in_column(15)
430
545
  end
431
546
  end
547
+
548
+ describe 'Duplicated documentation' do
549
+ let(:class_msg) { 'Duplicate class parameter documentation for example::%s' }
550
+ let(:define_msg) { 'Duplicate defined type parameter documentation for example::%s' }
551
+
552
+ context 'class with parameters documented twice (@param)' do
553
+ let(:code) do
554
+ <<-EOS.gsub(/^\s+/, '')
555
+ # @summary Example class
556
+ #
557
+ # @param bar
558
+ # example
559
+ # @param foo example
560
+ # @param bar Duplicate/conflicting docs
561
+ #
562
+ class example($foo, $bar) { }
563
+ EOS
564
+ end
565
+
566
+ it 'should detect two problems' do
567
+ expect(problems).to have(2).problem
568
+ end
569
+
570
+ it 'should create a warning on line 3' do
571
+ expect(problems).to contain_warning(class_msg % :bar).on_line(3).in_column(10)
572
+ end
573
+
574
+ it 'should create a warning on line 6' do
575
+ expect(problems).to contain_warning(class_msg % :bar).on_line(6).in_column(10)
576
+ end
577
+ end
578
+
579
+ context 'define with parameters documented twice (@param)' do
580
+ let(:code) do
581
+ <<-EOS.gsub(/^\s+/, '')
582
+ # @summary Example define
583
+ #
584
+ # @param bar
585
+ # example
586
+ # @param foo example
587
+ # @param bar Duplicate/conflicting docs
588
+ #
589
+ define example($foo, $bar) { }
590
+ EOS
591
+ end
592
+
593
+ it 'should detect two problems' do
594
+ expect(problems).to have(2).problem
595
+ end
596
+
597
+ it 'should create a warning on line 3' do
598
+ expect(problems).to contain_warning(define_msg % :bar).on_line(3).in_column(10)
599
+ end
600
+
601
+ it 'should create a warning on line 6' do
602
+ expect(problems).to contain_warning(define_msg % :bar).on_line(6).in_column(10)
603
+ end
604
+ end
605
+
606
+ context 'class with parameters documented 3 times (@param)' do
607
+ let(:code) do
608
+ <<-EOS.gsub(/^\s+/, '')
609
+ # @summary Example class
610
+ #
611
+ # @param bar
612
+ # example
613
+ # @param foo example
614
+ # @param bar Duplicate/conflicting docs
615
+ #
616
+ # @param bar
617
+ # example
618
+ #
619
+ class example($foo, $bar) { }
620
+ EOS
621
+ end
622
+
623
+ it 'should detect three problems' do
624
+ expect(problems).to have(3).problem
625
+ end
626
+
627
+ it 'should create a warning on line 3' do
628
+ expect(problems).to contain_warning(class_msg % :bar).on_line(3).in_column(10)
629
+ end
630
+
631
+ it 'should create a warning on line 6' do
632
+ expect(problems).to contain_warning(class_msg % :bar).on_line(6).in_column(10)
633
+ end
634
+
635
+ it 'should create a warning on line 8' do
636
+ expect(problems).to contain_warning(class_msg % :bar).on_line(8).in_column(10)
637
+ end
638
+ end
639
+
640
+ context 'private class with parameters documented twice (@param)' do
641
+ let(:code) do
642
+ <<-EOS.gsub(/^\s+/, '')
643
+ # @summary Example class
644
+ #
645
+ # @param bar docs
646
+ # @param bar Duplicate/conflicting docs
647
+ #
648
+ # @api private
649
+ class example($bar) { }
650
+ EOS
651
+ end
652
+
653
+ it 'should detect two problems' do
654
+ expect(problems).to have(2).problem
655
+ end
656
+
657
+ it 'should create a warning on line 3' do
658
+ expect(problems).to contain_warning(class_msg % :bar).on_line(3).in_column(10)
659
+ end
660
+
661
+ it 'should create a warning on line 4' do
662
+ expect(problems).to contain_warning(class_msg % :bar).on_line(4).in_column(10)
663
+ end
664
+ end
665
+
666
+ context 'class with parameters documented twice ([*bar*])' do
667
+ let(:code) do
668
+ <<-EOS.gsub(/^\s+/, '')
669
+ # @summary Example class
670
+ #
671
+ # @param bar
672
+ # example
673
+ # @param foo example
674
+ # [*bar*] Duplicate/conflicting docs
675
+ #
676
+ class example($foo, $bar) { }
677
+ EOS
678
+ end
679
+
680
+ it 'should detect two problems' do
681
+ expect(problems).to have(2).problem
682
+ end
683
+
684
+ it 'should create a warning on line 3' do
685
+ expect(problems).to contain_warning(class_msg % :bar).on_line(3).in_column(10)
686
+ end
687
+
688
+ it 'should create a warning on line 6' do
689
+ expect(problems).to contain_warning(class_msg % :bar).on_line(6).in_column(3)
690
+ end
691
+ end
692
+ end
693
+
694
+ context 'class with documentation for parameters that don\'t exist' do
695
+ let(:code) do
696
+ <<-EOS.gsub(/^\s+/, '')
697
+ # @summary Example class
698
+ #
699
+ # @param foo
700
+ class example { }
701
+ EOS
702
+ end
703
+
704
+ it 'should detect a single problem' do
705
+ expect(problems).to have(1).problem
706
+ end
707
+
708
+ it 'should create a warning on line 3' do
709
+ expect(problems).to contain_warning('No matching class parameter for documentation of example::foo').on_line(3).in_column(10)
710
+ end
711
+ end
712
+
713
+ context 'private class with documentation for parameters that don\'t exist' do
714
+ let(:code) do
715
+ <<-EOS.gsub(/^\s+/, '')
716
+ # @summary Example class
717
+ #
718
+ # @param foo
719
+ # Example docs
720
+ #
721
+ # @api private
722
+ class example { }
723
+ EOS
724
+ end
725
+
726
+ it 'should detect a single problem' do
727
+ expect(problems).to have(1).problem
728
+ end
729
+
730
+ it 'should create a warning on line 3' do
731
+ expect(problems).to contain_warning('No matching class parameter for documentation of example::foo').on_line(3).in_column(10)
732
+ end
733
+ end
734
+
735
+ context 'define with documentation for parameters that don\'t exist' do
736
+ let(:code) do
737
+ <<-EOS.gsub(/^\s+/, '')
738
+ # @summary Example define
739
+ #
740
+ # @param bar Docs for bar
741
+ # @param foo
742
+ # Docs for foo
743
+ #
744
+ # @api private
745
+ define example::example(String[1] $bar) { }
746
+ EOS
747
+ end
748
+
749
+ it 'should detect a single problem' do
750
+ expect(problems).to have(1).problem
751
+ end
752
+
753
+ it 'should create a warning on line 4' do
754
+ expect(problems).to contain_warning('No matching defined type parameter for documentation of example::example::foo').on_line(4).in_column(10)
755
+ end
756
+ end
757
+
758
+ context 'define with documentation for parameter `name`' do
759
+ let(:code) do
760
+ <<-EOS.gsub(/^\s+/, '')
761
+ # @summary Example define
762
+ #
763
+ # @param name
764
+ # Docs for the $name
765
+ # @param bar Docs for bar
766
+ define example::example(String[1] $bar) { }
767
+ EOS
768
+ end
769
+
770
+ it 'should not detect any problems' do
771
+ expect(problems).to have(0).problems
772
+ end
773
+ end
774
+
775
+ context 'class with documentation for parameter `name`' do
776
+ let(:code) do
777
+ <<-EOS.gsub(/^\s+/, '')
778
+ # @summary Example class
779
+ #
780
+ # @param name
781
+ # Invalid docs
782
+ class example { }
783
+ EOS
784
+ end
785
+
786
+ it 'should detect a single problem' do
787
+ expect(problems).to have(1).problem
788
+ end
789
+
790
+ it 'should create a warning on line 3' do
791
+ expect(problems).to contain_warning('No matching class parameter for documentation of example::name').on_line(3).in_column(10)
792
+ end
793
+ end
794
+
795
+ context 'define with documentation for parameter `title`' do
796
+ let(:code) do
797
+ <<-EOS.gsub(/^\s+/, '')
798
+ # @summary Example define
799
+ #
800
+ # @param title
801
+ # Docs for the $title
802
+ # @param bar Docs for bar
803
+ define example::example(String[1] $bar) { }
804
+ EOS
805
+ end
806
+
807
+ it 'should not detect any problems' do
808
+ expect(problems).to have(0).problems
809
+ end
810
+ end
811
+
812
+ context 'class with documentation for parameter `title`' do
813
+ let(:code) do
814
+ <<-EOS.gsub(/^\s+/, '')
815
+ # @summary Example class
816
+ #
817
+ # @param title
818
+ # Invalid docs
819
+ class example { }
820
+ EOS
821
+ end
822
+
823
+ it 'should detect a single problem' do
824
+ expect(problems).to have(1).problem
825
+ end
826
+
827
+ it 'should create a warning on line 3' do
828
+ expect(problems).to contain_warning('No matching class parameter for documentation of example::title').on_line(3).in_column(10)
829
+ end
830
+ end
831
+
832
+ context 'define with documentation for both `title` and `name`' do
833
+ let(:code) do
834
+ <<-EOS.gsub(/^\s+/, '')
835
+ # @summary Example define
836
+ #
837
+ # @param title
838
+ # Docs for the $title
839
+ # @param name
840
+ # Docs for the $name
841
+ # @param bar Docs for bar
842
+ define example(String[1] $bar) { }
843
+ EOS
844
+ end
845
+
846
+ it 'should detect two problems' do
847
+ expect(problems).to have(2).problems
848
+ end
849
+
850
+ it 'should create a warning on line 3' do
851
+ expect(problems).to contain_warning('Duplicate defined type parameter documentation for example::name/title').on_line(3).in_column(10)
852
+ end
853
+
854
+ it 'should create a warning on line 5' do
855
+ expect(problems).to contain_warning('Duplicate defined type parameter documentation for example::name/title').on_line(5).in_column(10)
856
+ end
857
+ end
432
858
  end
metadata CHANGED
@@ -1,88 +1,107 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-param-docs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
- - Dominic Cleal
7
+ - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-18 00:00:00.000000000 Z
11
+ date: 2020-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rspec
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ~>
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
39
  version: '3.0'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - ~>
44
+ - - "~>"
39
45
  - !ruby/object:Gem::Version
40
46
  version: '3.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rspec-its
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ~>
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
53
  version: '1.0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ~>
58
+ - - "~>"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '1.0'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: rspec-collection_matchers
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ~>
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
67
  version: '1.0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ~>
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
74
  version: '1.0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: rake
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - '>='
79
+ - - ">="
74
80
  - !ruby/object:Gem::Version
75
81
  version: '0'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - '>='
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
81
94
  - !ruby/object:Gem::Version
82
95
  version: '0'
83
- description: |2
84
- A new check for puppet-lint that validates all parameters are documented.
85
- email: dcleal@redhat.com
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ description: " A new check for puppet-lint that validates all parameters are documented.\n"
104
+ email: voxpupuli@groups.io
86
105
  executables: []
87
106
  extensions: []
88
107
  extra_rdoc_files: []
@@ -94,7 +113,7 @@ files:
94
113
  - lib/puppet-lint/plugins/check_parameter_documentation.rb
95
114
  - spec/puppet-lint/plugins/check_parameter_documentation_spec.rb
96
115
  - spec/spec_helper.rb
97
- homepage: https://github.com/domcleal/puppet-lint-param-docs
116
+ homepage: https://github.com/voxpupuli/puppet-lint-param-docs
98
117
  licenses:
99
118
  - MIT
100
119
  metadata: {}
@@ -104,20 +123,19 @@ require_paths:
104
123
  - lib
105
124
  required_ruby_version: !ruby/object:Gem::Requirement
106
125
  requirements:
107
- - - '>='
126
+ - - ">="
108
127
  - !ruby/object:Gem::Version
109
128
  version: '0'
110
129
  required_rubygems_version: !ruby/object:Gem::Requirement
111
130
  requirements:
112
- - - '>='
131
+ - - ">="
113
132
  - !ruby/object:Gem::Version
114
133
  version: '0'
115
134
  requirements: []
116
- rubyforge_project:
117
- rubygems_version: 2.4.4
135
+ rubygems_version: 3.0.8
118
136
  signing_key:
119
137
  specification_version: 4
120
138
  summary: puppet-lint check to validate all parameters are documented
121
139
  test_files:
122
- - spec/puppet-lint/plugins/check_parameter_documentation_spec.rb
123
140
  - spec/spec_helper.rb
141
+ - spec/puppet-lint/plugins/check_parameter_documentation_spec.rb