puppet-lint-appends-check 0.1.0 → 1.0.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: 7d816ef7699667f713d25f91bcac6657ad0e6bc4
4
- data.tar.gz: bb67c909c86d070c3b22bc6ddd3a3b0e681dd8d3
2
+ SHA256:
3
+ metadata.gz: f62c77be82687d0a9a49e899bd31cdfacebd3db4f0e5dc276ca1feb481d8e6f1
4
+ data.tar.gz: 0cd4da8f8d531d577db73529c80c539c9e2075deb6901b7f5b5c8bbe6e146469
5
5
  SHA512:
6
- metadata.gz: 31b2f679887ca8b4888697b8044ad4626b1428478fb351246cfec8cd7213492848823fbf54901177847c8deeb50fe4b10a3c213b82daf31bfa1c47a4ed66cbbc
7
- data.tar.gz: f2efe989c136d5763f0e33830e4eebe43a3f50644fb01e3a8bf0d60be246ef97827abc347722b061a0686b25ff301a7bb38648343f25aa9ccf297a1d4014e6a8
6
+ metadata.gz: a588d8a9b4c90dc53979dadddf167d30d400f1a085dbea99c76fb6378e182fd105d66b5c5b3ffbca185c14f3fdbdb21a3703b636643b9582795b7e420371624e
7
+ data.tar.gz: '09c9e52488e0b572f962adfe218276d259347604ac9218b232a62610b9bbe5c25074c8195b5af7a300c5a9a252d36f0daebeb36cdf699c8bf43446cacda10811'
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
@@ -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 'should 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 'should detect 3 problems' do
37
+ expect(problems).to have(3).problems
38
+ end
39
+
40
+ it 'should create 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 'should not detect any problems' do
70
+ expect(problems).to have(0).problems
71
+ end
72
+
73
+ it 'should 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 'should detect 3 problems' do
91
+ expect(problems).to have(3).problems
92
+ end
93
+
94
+ it 'should create 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 'should 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,8 +1,3 @@
1
- unless RUBY_VERSION =~ /^1\.8/
2
- require 'coveralls'
3
- Coveralls.wear!
4
- end
5
-
6
1
  require 'puppet-lint'
7
2
 
8
3
  PuppetLint::Plugins.load_spec_helper
metadata CHANGED
@@ -1,126 +1,132 @@
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: 1.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: 2021-06-25 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.0'
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.0'
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: mime-types
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - ~>
79
+ - - ">="
74
80
  - !ruby/object:Gem::Version
75
- version: '1.0'
81
+ version: '0'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - ~>
86
+ - - ">="
81
87
  - !ruby/object:Gem::Version
82
- version: '1.0'
88
+ version: '0'
83
89
  - !ruby/object:Gem::Dependency
84
- name: coveralls
90
+ name: rake
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - ~>
93
+ - - ">="
88
94
  - !ruby/object:Gem::Version
89
- version: '0.7'
95
+ version: '0'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - ~>
100
+ - - ">="
95
101
  - !ruby/object:Gem::Version
96
- version: '0.7'
102
+ version: '0'
97
103
  - !ruby/object:Gem::Dependency
98
- name: rake
104
+ name: simplecov
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
- - - '>='
107
+ - - ">="
102
108
  - !ruby/object:Gem::Version
103
109
  version: '0'
104
110
  type: :development
105
111
  prerelease: false
106
112
  version_requirements: !ruby/object:Gem::Requirement
107
113
  requirements:
108
- - - '>='
114
+ - - ">="
109
115
  - !ruby/object:Gem::Version
110
116
  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
117
+ description: " A puppet-lint plugin to check that the appends operator (+=) is
118
+ not used (removed in Puppet 4.0.0).\n"
119
+ email: voxpupuli@groups.io
114
120
  executables: []
115
121
  extensions: []
116
122
  extra_rdoc_files: []
117
123
  files:
118
- - README.md
119
124
  - LICENSE
125
+ - README.md
120
126
  - lib/puppet-lint/plugins/check_appends.rb
121
- - spec/puppet-lint/plugins/check_absolute_classname/relative_classname_inclusion_spec.rb
127
+ - spec/puppet-lint/plugins/check_appends/appends_spec.rb
122
128
  - spec/spec_helper.rb
123
- homepage: https://github.com/puppet-community/puppet-lint-appends-check
129
+ homepage: https://github.com/voxpupuli/puppet-lint-appends-check
124
130
  licenses:
125
131
  - Apache-2.0
126
132
  metadata: {}
@@ -130,21 +136,20 @@ require_paths:
130
136
  - lib
131
137
  required_ruby_version: !ruby/object:Gem::Requirement
132
138
  requirements:
133
- - - '>='
139
+ - - ">="
134
140
  - !ruby/object:Gem::Version
135
141
  version: '0'
136
142
  required_rubygems_version: !ruby/object:Gem::Requirement
137
143
  requirements:
138
- - - '>='
144
+ - - ">="
139
145
  - !ruby/object:Gem::Version
140
146
  version: '0'
141
147
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.0.14
148
+ rubygems_version: 3.2.15
144
149
  signing_key:
145
150
  specification_version: 4
146
151
  summary: A puppet-lint plugin to check that the appends operator (+=) is not used
147
152
  (removed in Puppet 4.0.0).
148
153
  test_files:
149
- - spec/puppet-lint/plugins/check_absolute_classname/relative_classname_inclusion_spec.rb
154
+ - spec/puppet-lint/plugins/check_appends/appends_spec.rb
150
155
  - spec/spec_helper.rb
@@ -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