cookstyle 7.23.0 → 7.24.1

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: 9be1741ac594805428a4c1269af0b63e1176abf6e14aa6e04c47639c1153f083
4
- data.tar.gz: b7d95d2ba12571d8a09d1a6eabaacce48e2ee0956ac91c595d7c5be5e010978b
3
+ metadata.gz: f15883e8b06ca175e673c9bc97a1d33f2e79da76a8f9a3a60ee0262868890ac3
4
+ data.tar.gz: 518d0db21d8525486fc3406898afecd84bb6d27b52ea49c155a4b8000af39cdb
5
5
  SHA512:
6
- metadata.gz: 4409915af7d5e193e9fcbc49c333370aa318e50c4a798ccee1a6b619912b4ff3bd6f8016b67f96da4f3ba10bda212e453d45fbfe5ec3a611d6eb64a78911820f
7
- data.tar.gz: cb2d001bd4d5fb913dbb6a14972bb341e43fa982a926ae30a37d3adcce6e5fc599a8e535ff53dd82cac3dddf8de8fde0ce49c1e1db9192e83ad51a99c609a0f2
6
+ metadata.gz: 53bde638d1b3829cfece0f84c9d9d25cc69c6d775181155ef154fcc40b310daefb1a01ed424db39e16fcff7fb61fe01469ee3b6cf8d1e320b2dd58f212b70145
7
+ data.tar.gz: d24b861cf7b56441c16e2be78fc97650ab093b70fc7734c8b3ee8fa889f2e60406026e23af3b19da3984c4050bf2c1e763d50d5f09a59c55af61bee4cc88e577
data/config/cookstyle.yml CHANGED
@@ -1924,6 +1924,15 @@ Chef/Modernize/ClassEvalActionClass:
1924
1924
  Include:
1925
1925
  - '**/resources/*.rb'
1926
1926
 
1927
+ Chef/Modernize/UseChefLanguageSystemdHelper:
1928
+ Description: Chef Infra Client 15.5 and later include a `systemd?` helper for checking if a Linux system uses systemd.
1929
+ StyleGuide: 'chef_modernize_usecheflanguagesystemdhelper'
1930
+ Enabled: true
1931
+ VersionAdded: '7.24.0'
1932
+ Exclude:
1933
+ - '**/metadata.rb'
1934
+ - '**/Berksfile'
1935
+
1927
1936
  ###############################
1928
1937
  # Chef/RedundantCode: Cleanup unnecessary code in your cookbooks regardless of Chef Infra Client release
1929
1938
  ###############################
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Cookstyle
3
- VERSION = "7.23.0" # rubocop: disable Style/StringLiterals
3
+ VERSION = "7.24.1" # rubocop: disable Style/StringLiterals
4
4
  RUBOCOP_VERSION = '1.20.0'
5
5
  end
@@ -49,6 +49,9 @@ module RuboCop
49
49
  #
50
50
  class UseChefLanguageCloudHelpers < Base
51
51
  extend AutoCorrector
52
+ extend TargetChefVersion
53
+
54
+ minimum_target_chef_version '15.5'
52
55
 
53
56
  MSG = 'Chef Infra Client 15.5 and later include cloud helpers to make detecting instances that run on public and private clouds easier.'
54
57
  RESTRICT_ON_SEND = [:==, :[]].freeze
@@ -33,6 +33,9 @@ module RuboCop
33
33
  #
34
34
  class UseChefLanguageEnvHelpers < Base
35
35
  extend AutoCorrector
36
+ extend TargetChefVersion
37
+
38
+ minimum_target_chef_version '15.5'
36
39
 
37
40
  RESTRICT_ON_SEND = [:[]].freeze
38
41
 
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2021, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Modernize
22
+ # Chef Infra Client 15.5 and later include a `systemd?` helper for checking if a Linux system uses systemd.
23
+ #
24
+ # @example
25
+ #
26
+ # #### incorrect
27
+ # node['init_package'] == 'systemd'
28
+ #
29
+ # #### correct
30
+ # systemd?
31
+ #
32
+ class UseChefLanguageSystemdHelper < Base
33
+ extend AutoCorrector
34
+ extend TargetChefVersion
35
+
36
+ minimum_target_chef_version '15.5'
37
+
38
+ MSG = 'Chef Infra Client 15.5 and later include a `systemd?` helper for checking if a Linux system uses systemd.'
39
+ RESTRICT_ON_SEND = [:==].freeze
40
+
41
+ def_node_matcher :node_init_package?, <<-PATTERN
42
+ (send
43
+ (send
44
+ (send nil? :node) :[]
45
+ (str "init_package")) :==
46
+ (str "systemd"))
47
+ PATTERN
48
+
49
+ def on_send(node)
50
+ node_init_package?(node) do |_cloud_name|
51
+ add_offense(node, message: MSG, severity: :refactor) do |corrector|
52
+ corrector.replace(node, 'systemd?')
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cookstyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.23.0
4
+ version: 7.24.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thom May
@@ -239,6 +239,7 @@ files:
239
239
  - lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb
240
240
  - lib/rubocop/cop/chef/modernize/use_chef_language_cloud_helpers.rb
241
241
  - lib/rubocop/cop/chef/modernize/use_chef_language_env_helpers.rb
242
+ - lib/rubocop/cop/chef/modernize/use_chef_language_systemd_helper.rb
242
243
  - lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb
243
244
  - lib/rubocop/cop/chef/modernize/use_require_relative.rb
244
245
  - lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb