puppet-lint-appends-check 0.1.0 → 2.0.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
- SHA1:
3
- metadata.gz: 7d816ef7699667f713d25f91bcac6657ad0e6bc4
4
- data.tar.gz: bb67c909c86d070c3b22bc6ddd3a3b0e681dd8d3
2
+ SHA256:
3
+ metadata.gz: ab3e65beafd5bcfc694834485017bd3de56fe2c200bd68cdebcbe09baf02be1e
4
+ data.tar.gz: b7a6a13d0fea22170bc93f19b46108f284ea1bbffccb145fe9971c9ab9670757
5
5
  SHA512:
6
- metadata.gz: 31b2f679887ca8b4888697b8044ad4626b1428478fb351246cfec8cd7213492848823fbf54901177847c8deeb50fe4b10a3c213b82daf31bfa1c47a4ed66cbbc
7
- data.tar.gz: f2efe989c136d5763f0e33830e4eebe43a3f50644fb01e3a8bf0d60be246ef97827abc347722b061a0686b25ff301a7bb38648343f25aa9ccf297a1d4014e6a8
6
+ metadata.gz: 4fb109206d0dfe091fea1696e71ef5851289f362d91a441c2e9e69bcb622b0123d43a92a2964e3bc75bf696c16e0c0bbb5ae35b877ce8d1efdee9b9e61c882d2
7
+ data.tar.gz: a5cd26e63f172046311ede0672b61eaa69fd616cad219f0431463638427221049643f429e3a9254091000d407e162eab35acfa4eba0f889323c2c9d7d16d71f6
data/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  puppet-lint-appends-check
2
2
  ====================================
3
3
 
4
- [![Gem Version](https://img.shields.io/gem/v/puppet-lint-absolute_classname-check.svg)](https://rubygems.org/gems/puppet-lint-absolute_classname-check)
5
- [![Gem Downloads](https://img.shields.io/gem/dt/puppet-lint-absolute_classname-check.svg)](https://rubygems.org/gems/puppet-lint-absolute_classname-check)
6
- [![Coverage Status](https://img.shields.io/coveralls/puppet-community/puppet-lint-absolute_classname-check.svg)](https://coveralls.io/r/puppet-community/puppet-lint-absolute_classname-check?branch=master)
7
-
8
- A puppet-lint plugin to check that classes are included by their absolute name.
4
+ [![License](https://img.shields.io/github/license/voxpupuli/puppet-lint-appends-check.svg)](https://github.com/voxpupuli/puppet-lint-appends-check/blob/master/LICENSE)
5
+ [![Test](https://github.com/voxpupuli/puppet-lint-appends-check/actions/workflows/test.yml/badge.svg)](https://github.com/voxpupuli/puppet-lint-appends-check/actions/workflows/test.yml)
6
+ [![Release](https://github.com/voxpupuli/puppet-lint-appends-check/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-lint-appends-check/actions/workflows/release.yml)
7
+ [![RubyGem Version](https://img.shields.io/gem/v/puppet-lint-appends-check.svg)](https://rubygems.org/gems/puppet-lint-appends-check)
8
+ [![RubyGem Downloads](https://img.shields.io/gem/dt/puppet-lint-appends-check.svg)](https://rubygems.org/gems/puppet-lint-appends-check)
9
+ [![Donated by Puppet Inc](https://img.shields.io/badge/donated%20by-Puppet%20Inc-fb7047.svg)](#transfer-notice)
10
+ A puppet-lint plugin to check that the append (+=) operator is unused.
9
11
 
10
12
  ## Installing
11
13
 
@@ -23,9 +25,9 @@ gem 'puppet-lint-appends-check', :require => false
23
25
 
24
26
  ## Checks
25
27
 
26
- ### Relative class name inclusion
28
+ ### Append operator use
27
29
 
28
- Including a class by a relative name might lead to unexpected results.
30
+ Use of the append operator can lead to unexpected behavior.
29
31
 
30
32
  #### What you have done
31
33
 
@@ -46,6 +48,11 @@ $ssh_users = ['myself', 'someone', 'someone_else']
46
48
  $ssh_users = hiera('ssh_users')
47
49
  ```
48
50
 
51
+ #### Auto fixing
52
+
53
+ There is not one way to properly fix this type of style error, so
54
+ running puppet-lint's fix feature will not have any effect.
55
+
49
56
  #### Disabling the check
50
57
 
51
58
  To disable this check, you can add `--no-appends-check` to your puppet-lint command line.
@@ -59,4 +66,22 @@ Alternatively, if you’re calling puppet-lint via the Rake task, you should ins
59
66
  ```ruby
60
67
  PuppetLint.configuration.send('disable_appends')
61
68
  ```
69
+ ## Transfer Notice
70
+
71
+ This plugin was originally authored by [Puppet Inc](http://puppet.com).
72
+ The maintainer preferred that Puppet Community take ownership of the module for future improvement and maintenance.
73
+ Existing pull requests and issues were transferred over, please fork and continue to contribute here instead of Puppet Inc.
74
+
75
+ ## License
76
+
77
+ This gem is licensed under the Apache-2 license.
78
+
79
+ ## Release information
62
80
 
81
+ To make a new release, please do:
82
+ * update the version in the gemspec file
83
+ * Install gems with `bundle install --with release --path .vendor`
84
+ * generate the changelog with `bundle exec rake changelog`
85
+ * Check if the new version matches the closed issues/PRs in the changelog
86
+ * Create a PR with it
87
+ * After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages
@@ -1,14 +1,14 @@
1
1
  PuppetLint.new_check(:appends) do
2
2
  def check
3
- tokens.each_with_index do |token, token_idx|
4
- if token.type == :APPENDS
5
- notify :warning, {
6
- :message => 'The appends (+=) operator was used.',
7
- :line => token.line,
8
- :column => token.column,
9
- :token => token,
10
- }
11
- end
3
+ tokens.each_with_index do |token, _token_idx|
4
+ next unless token.type == :APPENDS
5
+
6
+ notify :warning, {
7
+ message: 'The appends (+=) operator was used.',
8
+ line: token.line,
9
+ column: token.column,
10
+ token: token,
11
+ }
12
12
  end
13
13
  end
14
14
  end
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'appends' do
4
+ let(:msg) { 'The appends (+=) operator was used.' }
5
+
6
+ context 'with fix disabled' do
7
+ context 'when the appends operator is not used' do
8
+ let(:code) do
9
+ <<-EOS
10
+ $foo = ['bar', 'baz']
11
+ $gary = 'is loud'
12
+ $people = {
13
+ 'tim' => 'is beardy',
14
+ 'nigel' => "isn't so much"
15
+ }
16
+ EOS
17
+ end
18
+
19
+ it 'does not detect any problems' do
20
+ expect(problems).to have(0).problems
21
+ end
22
+ end
23
+
24
+ context 'when the appends operator is used' do
25
+ let(:code) do
26
+ <<-EOS
27
+ $foo += ['bar', 'baz']
28
+ $gary += 'is loud'
29
+ $people += {
30
+ 'tim' => 'is beardy',
31
+ 'nigel' => "isn't so much"
32
+ }
33
+ EOS
34
+ end
35
+
36
+ it 'detects 3 problems' do
37
+ expect(problems).to have(3).problems
38
+ end
39
+
40
+ it 'creates warnings' do
41
+ expect(problems).to contain_warning(msg).on_line(1).in_column(17)
42
+ expect(problems).to contain_warning(msg).on_line(2).in_column(17)
43
+ expect(problems).to contain_warning(msg).on_line(3).in_column(17)
44
+ end
45
+ end
46
+ end
47
+
48
+ context 'with fix enabled' do
49
+ before do
50
+ PuppetLint.configuration.fix = true
51
+ end
52
+
53
+ after do
54
+ PuppetLint.configuration.fix = false
55
+ end
56
+
57
+ context 'when the appends operator is not used' do
58
+ let(:code) do
59
+ <<-EOS
60
+ $foo = ['bar', 'baz']
61
+ $gary = 'is loud'
62
+ $people = {
63
+ 'tim' => 'is beardy',
64
+ 'nigel' => "isn't so much"
65
+ }
66
+ EOS
67
+ end
68
+
69
+ it 'does not detect any problems' do
70
+ expect(problems).to have(0).problems
71
+ end
72
+
73
+ it 'does not modify the manifest' do
74
+ expect(manifest).to eq(code)
75
+ end
76
+ end
77
+
78
+ context 'when the appends operator is used' do
79
+ let(:code) do
80
+ <<-EOS
81
+ $foo += ['bar', 'baz']
82
+ $gary += 'is loud'
83
+ $people += {
84
+ 'tim' => 'is beardy',
85
+ 'nigel' => "isn't so much"
86
+ }
87
+ EOS
88
+ end
89
+
90
+ it 'detects 3 problems' do
91
+ expect(problems).to have(3).problems
92
+ end
93
+
94
+ it 'creates warnings' do
95
+ expect(problems).to contain_warning(msg).on_line(1).in_column(17)
96
+ expect(problems).to contain_warning(msg).on_line(2).in_column(17)
97
+ expect(problems).to contain_warning(msg).on_line(3).in_column(17)
98
+ end
99
+
100
+ it 'does not fix the ensure parameter because that is not implemented' do
101
+ expect(manifest).to eq(code)
102
+ end
103
+ end
104
+ end
105
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,27 @@
1
- unless RUBY_VERSION =~ /^1\.8/
2
- require 'coveralls'
3
- Coveralls.wear!
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require 'simplecov'
5
+ require 'simplecov-console'
6
+ require 'codecov'
7
+ rescue LoadError
8
+ else
9
+ SimpleCov.start do
10
+ track_files 'lib/**/*.rb'
11
+
12
+ add_filter '/spec'
13
+
14
+ enable_coverage :branch
15
+
16
+ # do not track vendored files
17
+ add_filter '/vendor'
18
+ add_filter '/.vendor'
19
+ end
20
+
21
+ SimpleCov.formatters = [
22
+ SimpleCov::Formatter::Console,
23
+ SimpleCov::Formatter::Codecov,
24
+ ]
4
25
  end
5
26
 
6
27
  require 'puppet-lint'
metadata CHANGED
@@ -1,126 +1,68 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-appends-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Puppet Community
7
+ - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-11 00:00:00.000000000 Z
11
+ date: 2023-04-21 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
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
19
+ version: '3'
20
+ - - "<"
32
21
  - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :development
22
+ version: '5'
23
+ type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec-its
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ~>
27
+ - - ">="
46
28
  - !ruby/object:Gem::Version
47
- version: '1.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
29
+ version: '3'
30
+ - - "<"
53
31
  - !ruby/object:Gem::Version
54
- version: '1.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec-collection_matchers
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ~>
67
- - !ruby/object:Gem::Version
68
- version: '1.0'
32
+ version: '5'
69
33
  - !ruby/object:Gem::Dependency
70
34
  name: mime-types
71
35
  requirement: !ruby/object:Gem::Requirement
72
36
  requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '1.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
37
+ - - "~>"
81
38
  - !ruby/object:Gem::Version
82
- version: '1.0'
83
- - !ruby/object:Gem::Dependency
84
- name: coveralls
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ~>
39
+ version: '3.4'
40
+ - - ">="
88
41
  - !ruby/object:Gem::Version
89
- version: '0.7'
42
+ version: 3.4.1
90
43
  type: :development
91
44
  prerelease: false
92
45
  version_requirements: !ruby/object:Gem::Requirement
93
46
  requirements:
94
- - - ~>
47
+ - - "~>"
95
48
  - !ruby/object:Gem::Version
96
- version: '0.7'
97
- - !ruby/object:Gem::Dependency
98
- name: rake
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
49
+ version: '3.4'
50
+ - - ">="
102
51
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- description: |2
112
- A puppet-lint plugin to check that the appends operator (+=) is not used (removed in Puppet 4.0.0).
113
- email: gary@puppetlabs.com
52
+ version: 3.4.1
53
+ description: " A puppet-lint plugin to check that the appends operator (+=) is
54
+ not used (removed in Puppet 4.0.0).\n"
55
+ email: voxpupuli@groups.io
114
56
  executables: []
115
57
  extensions: []
116
58
  extra_rdoc_files: []
117
59
  files:
118
- - README.md
119
60
  - LICENSE
61
+ - README.md
120
62
  - lib/puppet-lint/plugins/check_appends.rb
121
- - spec/puppet-lint/plugins/check_absolute_classname/relative_classname_inclusion_spec.rb
63
+ - spec/puppet-lint/plugins/check_appends/appends_spec.rb
122
64
  - spec/spec_helper.rb
123
- homepage: https://github.com/puppet-community/puppet-lint-appends-check
65
+ homepage: https://github.com/voxpupuli/puppet-lint-appends-check
124
66
  licenses:
125
67
  - Apache-2.0
126
68
  metadata: {}
@@ -130,21 +72,18 @@ require_paths:
130
72
  - lib
131
73
  required_ruby_version: !ruby/object:Gem::Requirement
132
74
  requirements:
133
- - - '>='
75
+ - - ">="
134
76
  - !ruby/object:Gem::Version
135
- version: '0'
77
+ version: 2.7.0
136
78
  required_rubygems_version: !ruby/object:Gem::Requirement
137
79
  requirements:
138
- - - '>='
80
+ - - ">="
139
81
  - !ruby/object:Gem::Version
140
82
  version: '0'
141
83
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.0.14
84
+ rubygems_version: 3.2.33
144
85
  signing_key:
145
86
  specification_version: 4
146
87
  summary: A puppet-lint plugin to check that the appends operator (+=) is not used
147
88
  (removed in Puppet 4.0.0).
148
- test_files:
149
- - spec/puppet-lint/plugins/check_absolute_classname/relative_classname_inclusion_spec.rb
150
- - spec/spec_helper.rb
89
+ test_files: []
@@ -1,113 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'relative_classname_inclusion' do
4
- let(:msg) { 'class included by relative name' }
5
-
6
- context 'with fix disabled' do
7
- context 'when absolute names are used' do
8
- let(:code) do
9
- <<-EOS
10
- include ::foobar
11
- include('::foobar')
12
- include(foobar(baz))
13
- include(foobar('baz'))
14
-
15
- include ::foo, ::bar
16
- include('::foo', '::bar')
17
-
18
- class { '::foobar': }
19
-
20
- class foobar {
21
- }
22
- EOS
23
- end
24
-
25
- it 'should not detect any problems' do
26
- expect(problems).to have(0).problems
27
- end
28
- end
29
-
30
- context 'when relative names are used' do
31
- let(:code) do
32
- <<-EOS
33
- include foobar
34
- include(foobar)
35
- class { 'foobar': }
36
- EOS
37
- end
38
-
39
- it 'should detect 3 problems' do
40
- expect(problems).to have(3).problems
41
- end
42
-
43
- it 'should create warnings' do
44
- expect(problems).to contain_warning(msg).on_line(1).in_column(17)
45
- expect(problems).to contain_warning(msg).on_line(2).in_column(17)
46
- expect(problems).to contain_warning(msg).on_line(3).in_column(17)
47
- end
48
- end
49
- end
50
-
51
- context 'with fix enabled' do
52
- before do
53
- PuppetLint.configuration.fix = true
54
- end
55
-
56
- after do
57
- PuppetLint.configuration.fix = false
58
- end
59
-
60
- context 'when absolute names are used' do
61
- let(:code) do
62
- <<-EOS
63
- include ::foobar
64
- include('::foobar')
65
- include(foobar(baz))
66
- include(foobar('baz'))
67
-
68
- include ::foo, ::bar
69
- include('::foo', '::bar')
70
-
71
- class { '::foobar': }
72
-
73
- class foobar {
74
- }
75
- EOS
76
- end
77
-
78
- it 'should not detect any problems' do
79
- expect(problems).to have(0).problems
80
- end
81
- end
82
-
83
- context 'when relative names are used' do
84
- let(:code) do
85
- <<-EOS
86
- include foobar
87
- include(foobar)
88
- class { 'foobar': }
89
- EOS
90
- end
91
-
92
- it 'should detect 3 problems' do
93
- expect(problems).to have(3).problems
94
- end
95
-
96
- it 'should fix the problems' do
97
- expect(problems).to contain_fixed(msg).on_line(1).in_column(17)
98
- expect(problems).to contain_fixed(msg).on_line(2).in_column(17)
99
- expect(problems).to contain_fixed(msg).on_line(3).in_column(17)
100
- end
101
-
102
- it 'should should add colons' do
103
- expect(manifest).to eq(
104
- <<-EOS
105
- include ::foobar
106
- include(::foobar)
107
- class { '::foobar': }
108
- EOS
109
- )
110
- end
111
- end
112
- end
113
- end