cookstyle 5.4.13 → 5.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/config/cookstyle.yml +231 -129
  3. data/lib/cookstyle.rb +1 -0
  4. data/lib/cookstyle/version.rb +1 -1
  5. data/lib/rubocop/chef/cookbook_helpers.rb +67 -0
  6. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +34 -31
  7. data/lib/rubocop/cop/chef/correctness/cb_depends_on_self.rb +16 -14
  8. data/lib/rubocop/cop/chef/correctness/default_maintainer_metadata.rb +22 -20
  9. data/lib/rubocop/cop/chef/correctness/insecure_cookbook_url.rb +32 -30
  10. data/lib/rubocop/cop/chef/correctness/invalid_license_string.rb +454 -453
  11. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +57 -57
  12. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +18 -16
  13. data/lib/rubocop/cop/chef/correctness/name_property_and_required.rb +61 -59
  14. data/lib/rubocop/cop/chef/correctness/node_normal.rb +29 -27
  15. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +29 -27
  16. data/lib/rubocop/cop/chef/correctness/node_save.rb +46 -0
  17. data/lib/rubocop/cop/chef/correctness/ohai_default_recipe.rb +47 -0
  18. data/lib/rubocop/cop/chef/correctness/property_with_default_and_required.rb +35 -33
  19. data/lib/rubocop/cop/chef/correctness/property_with_name_attribute.rb +29 -27
  20. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +52 -0
  21. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +51 -0
  22. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +52 -0
  23. data/lib/rubocop/cop/chef/correctness/service_resource.rb +26 -24
  24. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +30 -28
  25. data/lib/rubocop/cop/chef/deprecation/attribute_metadata.rb +22 -21
  26. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +56 -0
  27. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +58 -0
  28. data/lib/rubocop/cop/chef/deprecation/conflicts_metadata.rb +18 -16
  29. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +21 -19
  30. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +17 -15
  31. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +17 -15
  32. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +39 -37
  33. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +15 -13
  34. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +24 -22
  35. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +15 -13
  36. data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +55 -0
  37. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +24 -22
  38. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +45 -0
  39. data/lib/rubocop/cop/chef/deprecation/long_description_metadata.rb +21 -19
  40. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +55 -53
  41. data/lib/rubocop/cop/chef/deprecation/node_set.rb +27 -25
  42. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +27 -25
  43. data/lib/rubocop/cop/chef/deprecation/provides_metadata.rb +18 -16
  44. data/lib/rubocop/cop/chef/deprecation/replaces_metadata.rb +18 -16
  45. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +23 -21
  46. data/lib/rubocop/cop/chef/deprecation/suggests_metadata.rb +18 -16
  47. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +56 -0
  48. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +53 -0
  49. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +51 -0
  50. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +51 -0
  51. data/lib/rubocop/cop/chef/effortless/data_bags.rb +13 -11
  52. data/lib/rubocop/cop/chef/effortless/search_used.rb +13 -11
  53. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +22 -20
  54. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +31 -29
  55. data/lib/rubocop/cop/chef/modernize/build_essential.rb +25 -23
  56. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +27 -25
  57. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +25 -23
  58. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +19 -17
  59. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +27 -25
  60. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +41 -0
  61. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +21 -19
  62. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +48 -0
  63. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +51 -0
  64. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +54 -0
  65. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +25 -23
  66. data/lib/rubocop/cop/chef/modernize/resource_with_allowed_actions.rb +77 -0
  67. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +37 -35
  68. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +54 -0
  69. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +25 -23
  70. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +26 -24
  71. data/lib/rubocop/cop/chef/{effortless/node_save.rb → modernize/seven_zip_archive.rb} +16 -16
  72. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +59 -0
  73. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +20 -18
  74. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +23 -21
  75. data/lib/rubocop/cop/chef/modernize/windows_version_helper.rb +20 -18
  76. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +15 -13
  77. data/lib/rubocop/cop/chef/style/attribute_keys.rb +59 -57
  78. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +14 -12
  79. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +65 -63
  80. data/lib/rubocop/cop/chef/style/comments_format.rb +48 -45
  81. data/lib/rubocop/cop/chef/style/file_mode.rb +32 -30
  82. metadata +24 -9
  83. data/lib/rubocop/cop/chef/deprecation/respond_to_metadata.rb +0 -53
  84. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +0 -45
  85. data/lib/rubocop/cop/chef/modernize/resource_with_allowed_action.rb +0 -75
  86. data/lib/rubocop/cop/chef/modernize/use_inline_resources.rb +0 -54
  87. data/lib/rubocop/cop/chef/modernize/xml_ruby_recipe.rb +0 -49
  88. data/lib/rubocop/cop/chef/modernize/yum_dnf_compat_recipe.rb +0 -49
@@ -0,0 +1,54 @@
1
+ #
2
+ # Copyright:: 2019, Chef Software, Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefModernize
21
+ # It is not longer necessary respond_to?(:foo) in metadata. This was used to support new metadata
22
+ # methods in Chef 11 and early versions of Chef 12.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # chef_version '>= 13' if respond_to?(:chef_version)
28
+ #
29
+ # # good
30
+ # chef_version '>= 13'
31
+ #
32
+ class RespondToInMetadata < Cop
33
+ MSG = 'It is no longer necessary to use respond_to? in metadata.rb in Chef Infra Client 12.15 and later'.freeze
34
+
35
+ def on_if(node)
36
+ if_respond_to?(node) do
37
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
38
+ end
39
+ end
40
+
41
+ def_node_matcher :if_respond_to?, <<~PATTERN
42
+ (if (send nil? :respond_to? _ ) ... )
43
+ PATTERN
44
+
45
+ def autocorrect(node)
46
+ lambda do |corrector|
47
+ corrector.replace(node.loc.expression, node.children[1].source)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -17,33 +17,35 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # It is not longer necessary respond_to?(:foo) in metadata. This was used to support new metadata
21
- # methods in Chef 11 and early versions of Chef 12.
22
- #
23
- # @example
24
- #
25
- # # bad
26
- # provides :foo if respond_to?(:provides)
27
- #
28
- # # good
29
- # provides :foo
30
- #
31
- class RespondToProvides < Cop
32
- MSG = 'respond_to?(:provides) in resources is no longer necessary in Chef Infra Client 12+'.freeze
20
+ module ChefModernize
21
+ # It is not longer necessary respond_to?(:foo) in metadata. This was used to support new metadata
22
+ # methods in Chef 11 and early versions of Chef 12.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # provides :foo if respond_to?(:provides)
28
+ #
29
+ # # good
30
+ # provides :foo
31
+ #
32
+ class RespondToProvides < Cop
33
+ MSG = 'respond_to?(:provides) in resources is no longer necessary in Chef Infra Client 12+'.freeze
33
34
 
34
- def on_if(node)
35
- if_respond_to_provides?(node) do
36
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
35
+ def on_if(node)
36
+ if_respond_to_provides?(node) do
37
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
38
+ end
37
39
  end
38
- end
39
40
 
40
- def_node_matcher :if_respond_to_provides?, <<~PATTERN
41
- (if (send nil? :respond_to? ( :sym :provides ) ) ... )
42
- PATTERN
41
+ def_node_matcher :if_respond_to_provides?, <<~PATTERN
42
+ (if (send nil? :respond_to? ( :sym :provides ) ) ... )
43
+ PATTERN
43
44
 
44
- def autocorrect(node)
45
- lambda do |corrector|
46
- corrector.replace(node.loc.expression, node.children[1].source)
45
+ def autocorrect(node)
46
+ lambda do |corrector|
47
+ corrector.replace(node.loc.expression, node.children[1].source)
48
+ end
47
49
  end
48
50
  end
49
51
  end
@@ -17,34 +17,36 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Chef 12.5 introduced the resource_name method for resources. Many cookbooks used
21
- # respond_to?(:resource_name) to provide backwards compatibility with older chef-client
22
- # releases. This backwards compatibility is no longer necessary.
23
- #
24
- # @example
25
- #
26
- # # bad
27
- # resource_name :foo if respond_to?(:resource_name)
28
- #
29
- # # good
30
- # resource_name :foo
31
- #
32
- class RespondToResourceName < Cop
33
- MSG = 'respond_to?(:resource_name) in resources is no longer necessary in Chef Infra Client 12.5+'.freeze
20
+ module ChefModernize
21
+ # Chef 12.5 introduced the resource_name method for resources. Many cookbooks used
22
+ # respond_to?(:resource_name) to provide backwards compatibility with older chef-client
23
+ # releases. This backwards compatibility is no longer necessary.
24
+ #
25
+ # @example
26
+ #
27
+ # # bad
28
+ # resource_name :foo if respond_to?(:resource_name)
29
+ #
30
+ # # good
31
+ # resource_name :foo
32
+ #
33
+ class RespondToResourceName < Cop
34
+ MSG = 'respond_to?(:resource_name) in resources is no longer necessary in Chef Infra Client 12.5+'.freeze
34
35
 
35
- def on_if(node)
36
- if_respond_to_resource_name?(node) do
37
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
36
+ def on_if(node)
37
+ if_respond_to_resource_name?(node) do
38
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
39
+ end
38
40
  end
39
- end
40
41
 
41
- def_node_matcher :if_respond_to_resource_name?, <<~PATTERN
42
- (if (send nil? :respond_to? ( :sym :resource_name ) ) ... )
43
- PATTERN
42
+ def_node_matcher :if_respond_to_resource_name?, <<~PATTERN
43
+ (if (send nil? :respond_to? ( :sym :resource_name ) ) ... )
44
+ PATTERN
44
45
 
45
- def autocorrect(node)
46
- lambda do |corrector|
47
- corrector.replace(node.loc.expression, node.children[1].source)
46
+ def autocorrect(node)
47
+ lambda do |corrector|
48
+ corrector.replace(node.loc.expression, node.children[1].source)
49
+ end
48
50
  end
49
51
  end
50
52
  end
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright 2019, Chef Software Inc.
2
+ # Copyright:: 2019, Chef Software Inc.
3
3
  # Author:: Tim Smith (<tsmith@chef.io>)
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,25 +14,25 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
  #
17
+
17
18
  module RuboCop
18
19
  module Cop
19
20
  module Chef
20
- # Do not use node.save with effortless as there is no server to save node state back to
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # node.save
26
- class CookbookUsesNodeSave < Cop
27
- MSG = 'Do not use node.save with Effortless as there is no server to save node state back to'.freeze
28
-
29
- def_node_matcher :node_save?, <<-PATTERN
30
- (send (send nil? :node) :save)
31
- PATTERN
21
+ module ChefModernize
22
+ # Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # seven_zip_archive "C:\file.zip" do
28
+ # path 'C:\expand_here'
29
+ # end
30
+ #
31
+ class SevenZipArchiveResource < Cop
32
+ MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive'.freeze
32
33
 
33
- def on_send(node)
34
- node_save?(node) do
35
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
34
+ def on_send(node)
35
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :seven_zip_archive
36
36
  end
37
37
  end
38
38
  end
@@ -0,0 +1,59 @@
1
+ #
2
+ # Copyright:: 2019, Chef Software, Inc.
3
+ # Author:: Tim Smith (<tsmith@chef.io>)
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ module RuboCop
18
+ module Cop
19
+ module Chef
20
+ module ChefModernize
21
+ # Use the Chocolatey resources built into Chef Infra Client instead of shelling out to the choco command
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # execute 'install package foo' do
27
+ # command "choco install --source=artifactory \"foo\" -y --no-progress --ignore-package-exit-codes"
28
+ # end
29
+ #
30
+ # powershell_script 'add artifactory choco source' do
31
+ # code "choco source add -n=artifactory -s='https://mycorp.jfrog.io/mycorp/api/nuget/chocolatey-remote' -u foo -p bar"x
32
+ # not_if 'choco source list | findstr artifactory'
33
+ # end
34
+ #
35
+ class ShellOutToChocolatey < Cop
36
+ include RuboCop::Chef::CookbookHelpers
37
+
38
+ MSG = 'Use the Chocolatey resources built into Chef Infra Client instead of shelling out to the choco command'.freeze
39
+
40
+ def on_block(node)
41
+ match_property_in_resource?(:powershell_script, 'code', node) do |code_property|
42
+ property_data = method_arg_ast_to_string(code_property)
43
+ if property_data && property_data.match?(/^choco /i)
44
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
45
+ end
46
+ end
47
+
48
+ match_property_in_resource?(:execute, 'command', node) do |code_property|
49
+ property_data = method_arg_ast_to_string(code_property)
50
+ if property_data && property_data.match?(/^choco /i)
51
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -17,27 +17,29 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # whyrun_supported? no longer needs to be set to true as that is the default in Chef Infra Client 13+
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # def whyrun_supported?
26
- # true
27
- # end
28
- #
29
- class WhyRunSupportedTrue < Cop
30
- MSG = 'whyrun_supported? no longer needs to be set to true as it is the default in Chef Infra Client 13+'.freeze
20
+ module ChefModernize
21
+ # whyrun_supported? no longer needs to be set to true as that is the default in Chef Infra Client 13+
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # def whyrun_supported?
27
+ # true
28
+ # end
29
+ #
30
+ class WhyRunSupportedTrue < Cop
31
+ MSG = 'whyrun_supported? no longer needs to be set to true as it is the default in Chef Infra Client 13+'.freeze
31
32
 
32
- def on_def(node)
33
- if node.method_name == :whyrun_supported? && node.body == s(:true) # rubocop: disable Lint/BooleanSymbol
34
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
33
+ def on_def(node)
34
+ if node.method_name == :whyrun_supported? && node.body == s(:true) # rubocop: disable Lint/BooleanSymbol
35
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
36
+ end
35
37
  end
36
- end
37
38
 
38
- def autocorrect(node)
39
- lambda do |corrector|
40
- corrector.remove(node.loc.expression)
39
+ def autocorrect(node)
40
+ lambda do |corrector|
41
+ corrector.remove(node.loc.expression)
42
+ end
41
43
  end
42
44
  end
43
45
  end
@@ -17,31 +17,33 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Don't include the windows default recipe that is either full of gem install that are part
21
- # of the Chef Infra Client, or empty (depends on version).
22
- #
23
- # @example
24
- #
25
- # # bad
26
- # include_recipe 'windows::default'
27
- # include_recipe 'windows'
28
- #
29
- class IncludingWindowsDefaultRecipe < Cop
30
- MSG = 'Do not include the Windows default recipe, which only installs win32 gems already included in Chef Infra Client'.freeze
20
+ module ChefModernize
21
+ # Don't include the windows default recipe that is either full of gem install that are part
22
+ # of the Chef Infra Client, or empty (depends on version).
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # include_recipe 'windows::default'
28
+ # include_recipe 'windows'
29
+ #
30
+ class IncludingWindowsDefaultRecipe < Cop
31
+ MSG = 'Do not include the Windows default recipe, which only installs win32 gems already included in Chef Infra Client'.freeze
31
32
 
32
- def_node_matcher :windows_recipe_usage?, <<-PATTERN
33
- (send nil? :include_recipe (str {"windows" "windows::default"}))
34
- PATTERN
33
+ def_node_matcher :windows_recipe_usage?, <<-PATTERN
34
+ (send nil? :include_recipe (str {"windows" "windows::default"}))
35
+ PATTERN
35
36
 
36
- def on_send(node)
37
- windows_recipe_usage?(node) do
38
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
37
+ def on_send(node)
38
+ windows_recipe_usage?(node) do
39
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
40
+ end
39
41
  end
40
- end
41
42
 
42
- def autocorrect(node)
43
- lambda do |corrector|
44
- corrector.remove(node.loc.expression)
43
+ def autocorrect(node)
44
+ lambda do |corrector|
45
+ corrector.remove(node.loc.expression)
46
+ end
45
47
  end
46
48
  end
47
49
  end
@@ -17,26 +17,28 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Use node['platform_version] data instead of the Windows::VersionHelper helper from the Windows cookbook.
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # Windows::VersionHelper.nt_version
26
- #
27
- # # good
28
- # node['platform_version].to_i
29
- #
30
- class WindowsVersionHelper < Cop
31
- MSG = "Use node['platform_version'] data instead of the Windows::VersionHelper helper from the Windows cookbook.".freeze
20
+ module ChefModernize
21
+ # Use node['platform_version] data instead of the Windows::VersionHelper helper from the Windows cookbook.
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # Windows::VersionHelper.nt_version
27
+ #
28
+ # # good
29
+ # node['platform_version].to_i
30
+ #
31
+ class WindowsVersionHelper < Cop
32
+ MSG = "Use node['platform_version'] data instead of the Windows::VersionHelper helper from the Windows cookbook.".freeze
32
33
 
33
- def_node_matcher :windows_helper?, <<-PATTERN
34
- (send ( const ( const {nil? cbase} :Windows ) :VersionHelper ) ... )
35
- PATTERN
34
+ def_node_matcher :windows_helper?, <<-PATTERN
35
+ (send ( const ( const {nil? cbase} :Windows ) :VersionHelper ) ... )
36
+ PATTERN
36
37
 
37
- def on_send(node)
38
- windows_helper?(node) do
39
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
38
+ def on_send(node)
39
+ windows_helper?(node) do
40
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
41
+ end
40
42
  end
41
43
  end
42
44
  end
@@ -17,20 +17,22 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Use the archive_file resource built into Chef Infra Client 15+ instead of the windows_zipfile from the Windows cookbook
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # windows_zipfile 'C:\\files\\' do
26
- # source 'C:\\Temp\\file.zip'
27
- # end
28
- #
29
- class WindowsZipfileUsage < Cop
30
- MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the windows_zipfile from the Windows cookbook'.freeze
20
+ module ChefModernize
21
+ # Use the archive_file resource built into Chef Infra Client 15+ instead of the windows_zipfile from the Windows cookbook
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # windows_zipfile 'C:\\files\\' do
27
+ # source 'C:\\Temp\\file.zip'
28
+ # end
29
+ #
30
+ class WindowsZipfileUsage < Cop
31
+ MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the windows_zipfile from the Windows cookbook'.freeze
31
32
 
32
- def on_send(node)
33
- add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :windows_zipfile
33
+ def on_send(node)
34
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :windows_zipfile
35
+ end
34
36
  end
35
37
  end
36
38
  end