cookstyle 5.4.13 → 5.5.7

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.
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
@@ -18,29 +18,30 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- # Don't use the deprecated 'attribute' metadata value
22
- #
23
- # @example
24
- #
25
- # # bad in metadata.rb:
26
- #
27
- # attribute 'zookeeper_bridge/server',
28
- # display_name: 'zookeeper server',
29
- # description: 'Zookeeper server address.',
30
- # type: 'string',
31
- # required: 'optional',
32
- # default: '"127.0.0.1:2181"'
21
+ module ChefDeprecations
22
+ # Don't use the deprecated 'attribute' metadata value
23
+ #
24
+ # @example
25
+ #
26
+ # # bad in metadata.rb:
27
+ #
28
+ # attribute 'zookeeper_bridge/server',
29
+ # display_name: 'zookeeper server',
30
+ # description: 'Zookeeper server address.',
31
+ # type: 'string',
32
+ # required: 'optional',
33
+ # default: '"127.0.0.1:2181"'
34
+ class AttributeMetadata < Cop
35
+ MSG = "Don't use the deprecated 'attribute' metadata value".freeze
33
36
 
34
- class AttributeMetadata < Cop
35
- MSG = "Don't use the deprecated 'attribute' metadata value".freeze
36
-
37
- def on_send(node)
38
- add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :attribute
39
- end
37
+ def on_send(node)
38
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :attribute
39
+ end
40
40
 
41
- def autocorrect(node)
42
- lambda do |corrector|
43
- corrector.remove(node.loc.expression)
41
+ def autocorrect(node)
42
+ lambda do |corrector|
43
+ corrector.remove(node.loc.expression)
44
+ end
44
45
  end
45
46
  end
46
47
  end
@@ -0,0 +1,56 @@
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
+
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module ChefDeprecations
22
+ # Chef::REST was removed in Chef Infra Client 13.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # require 'chef/rest'
28
+ # Chef::REST::RESTRequest.new(:GET, FOO, nil).call
29
+ #
30
+ class UsesChefRESTHelpers < Cop
31
+ MSG = "Don't use the helpers in Chef::REST which were removed in Chef Infra Client 13".freeze
32
+
33
+ def_node_matcher :require_rest?, <<-PATTERN
34
+ (send nil? :require ( str "chef/rest"))
35
+ PATTERN
36
+
37
+ def_node_matcher :rest_const?, <<-PATTERN
38
+ (const (const nil? :Chef) :REST)
39
+ PATTERN
40
+
41
+ def on_send(node)
42
+ require_rest?(node) do
43
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
44
+ end
45
+ end
46
+
47
+ def on_const(node)
48
+ rest_const?(node) do
49
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,58 @@
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
+
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module ChefDeprecations
22
+ # Use the :remove action in the chocolatey_package resource instead of :uninstall which was removed in Chef Infra Client 14+
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # chocolatey_package 'nginx' do
28
+ # action :uninstall
29
+ # end
30
+ #
31
+ # # good
32
+ # chocolatey_package 'nginx' do
33
+ # action :remove
34
+ # end
35
+ #
36
+ class ChocolateyPackageUninstallAction < Cop
37
+ include RuboCop::Chef::CookbookHelpers
38
+
39
+ MSG = 'Use the :remove action in the chocolatey_package resource instead of :uninstall which was removed in Chef Infra Client 14+'.freeze
40
+
41
+ def on_block(node)
42
+ match_property_in_resource?(:chocolatey_package, 'action', node) do |choco_action|
43
+ choco_action.arguments.each do |action|
44
+ add_offense(action, location: :expression, message: MSG, severity: :refactor) if action.source == ':uninstall'
45
+ end
46
+ end
47
+ end
48
+
49
+ def autocorrect(node)
50
+ lambda do |corrector|
51
+ corrector.replace(node.loc.expression, ':remove')
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -18,24 +18,26 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- # Don't use the deprecated 'conflicts' metadata value
22
- #
23
- # @example
24
- #
25
- # # bad in metadata.rb:
26
- #
27
- # conflicts "another_cookbook"
28
- #
29
- class ConflictsMetadata < Cop
30
- MSG = "Don't use the deprecated 'conflicts' metadata value".freeze
21
+ module ChefDeprecations
22
+ # Don't use the deprecated 'conflicts' metadata value
23
+ #
24
+ # @example
25
+ #
26
+ # # bad in metadata.rb:
27
+ #
28
+ # conflicts "another_cookbook"
29
+ #
30
+ class ConflictsMetadata < Cop
31
+ MSG = "Don't use the deprecated 'conflicts' metadata value".freeze
31
32
 
32
- def on_send(node)
33
- add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :conflicts
34
- end
33
+ def on_send(node)
34
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :conflicts
35
+ end
35
36
 
36
- def autocorrect(node)
37
- lambda do |corrector|
38
- corrector.remove(node.loc.expression)
37
+ def autocorrect(node)
38
+ lambda do |corrector|
39
+ corrector.remove(node.loc.expression)
40
+ end
39
41
  end
40
42
  end
41
43
  end
@@ -17,29 +17,31 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Don't depend on the deprecated compat_resource cookbook made obsolete by Chef 12.19+
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # depends 'compat_resource'
26
- #
27
- class CookbookDependsOnCompatResource < Cop
28
- MSG = "Don't depend on the deprecated compat_resource cookbook made obsolete by Chef 12.19+".freeze
20
+ module ChefDeprecations
21
+ # Don't depend on the deprecated compat_resource cookbook made obsolete by Chef 12.19+
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # depends 'compat_resource'
27
+ #
28
+ class CookbookDependsOnCompatResource < Cop
29
+ MSG = "Don't depend on the deprecated compat_resource cookbook made obsolete by Chef 12.19+".freeze
29
30
 
30
- def_node_matcher :depends_compat_resource?, <<-PATTERN
31
- (send nil? :depends (str {"compat_resource"}))
32
- PATTERN
31
+ def_node_matcher :depends_compat_resource?, <<-PATTERN
32
+ (send nil? :depends (str {"compat_resource"}))
33
+ PATTERN
33
34
 
34
- def on_send(node)
35
- depends_compat_resource?(node) do
36
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
35
+ def on_send(node)
36
+ depends_compat_resource?(node) do
37
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
38
+ end
37
39
  end
38
- end
39
40
 
40
- def autocorrect(node)
41
- lambda do |corrector|
42
- corrector.remove(node.loc.expression)
41
+ def autocorrect(node)
42
+ lambda do |corrector|
43
+ corrector.remove(node.loc.expression)
44
+ end
43
45
  end
44
46
  end
45
47
  end
@@ -17,23 +17,25 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Don't depend on the partial_search cookbook made obsolete by Chef 13
21
- #
22
- # @example
23
- #
24
- # # bad
25
- # depends 'partial_search'
26
- #
27
- class CookbookDependsOnPartialSearch < Cop
28
- MSG = "Don't depend on the deprecated partial_search cookbook made obsolete by Chef 13".freeze
20
+ module ChefDeprecations
21
+ # Don't depend on the partial_search cookbook made obsolete by Chef 13
22
+ #
23
+ # @example
24
+ #
25
+ # # bad
26
+ # depends 'partial_search'
27
+ #
28
+ class CookbookDependsOnPartialSearch < Cop
29
+ MSG = "Don't depend on the deprecated partial_search cookbook made obsolete by Chef 13".freeze
29
30
 
30
- def_node_matcher :depends_partial_search?, <<-PATTERN
31
- (send nil? :depends (str {"partial_search"}))
32
- PATTERN
31
+ def_node_matcher :depends_partial_search?, <<-PATTERN
32
+ (send nil? :depends (str {"partial_search"}))
33
+ PATTERN
33
34
 
34
- def on_send(node)
35
- depends_partial_search?(node) do
36
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
35
+ def on_send(node)
36
+ depends_partial_search?(node) do
37
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
38
+ end
37
39
  end
38
40
  end
39
41
  end
@@ -17,23 +17,25 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- # Cookbooks should not depend on the deprecated Poise framework. They should instead
21
- # be refactored as standard custom resources.
22
- #
23
- # @example
24
- #
25
- # # bad
26
- # depends 'poise'
27
- class CookbookDependsOnPoise < Cop
28
- MSG = 'Cookbooks should not depend on the deprecated Poise framework'.freeze
20
+ module ChefDeprecations
21
+ # Cookbooks should not depend on the deprecated Poise framework. They should instead
22
+ # be refactored as standard custom resources.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # depends 'poise'
28
+ class CookbookDependsOnPoise < Cop
29
+ MSG = 'Cookbooks should not depend on the deprecated Poise framework'.freeze
29
30
 
30
- def_node_matcher :depends_method?, <<-PATTERN
31
- (send nil? :depends $str)
32
- PATTERN
31
+ def_node_matcher :depends_method?, <<-PATTERN
32
+ (send nil? :depends $str)
33
+ PATTERN
33
34
 
34
- def on_send(node)
35
- depends_method?(node) do |arg|
36
- add_offense(node, location: :expression, message: MSG, severity: :refactor) if arg == s(:str, 'poise')
35
+ def on_send(node)
36
+ depends_method?(node) do |arg|
37
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if arg == s(:str, 'poise')
38
+ end
37
39
  end
38
40
  end
39
41
  end
@@ -18,52 +18,54 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- # The long_description metadata.rb method is not used and is unnecessary in cookbooks
22
- #
23
- # @example
24
- #
25
- # # bad
26
- # include Chef::Mixin::LanguageIncludeAttribute
27
- # include Chef::Mixin::RecipeDefinitionDSLCore
28
- # include Chef::Mixin::LanguageIncludeRecipe
29
- # include Chef::Mixin::Language
30
- # include Chef::DSL::Recipe::FullDSL
31
- # require 'chef/mixin/language
32
- # require 'chef/mixin/language_include_attribute
33
- # require 'chef/mixin/language_include_recipe
21
+ module ChefDeprecations
22
+ # Don't use deprecated Mixins no longer included in Chef Infra Client 14 and later
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # include Chef::Mixin::LanguageIncludeAttribute
28
+ # include Chef::Mixin::RecipeDefinitionDSLCore
29
+ # include Chef::Mixin::LanguageIncludeRecipe
30
+ # include Chef::Mixin::Language
31
+ # include Chef::DSL::Recipe::FullDSL
32
+ # require 'chef/mixin/language'
33
+ # require 'chef/mixin/language_include_attribute'
34
+ # require 'chef/mixin/language_include_recipe'
34
35
 
35
- class UsesDeprecatedMixins < Cop
36
- MSG = "Don't use deprecated Mixins no longer included in Chef Infra Client 14 and later.".freeze
36
+ class UsesDeprecatedMixins < Cop
37
+ MSG = "Don't use deprecated Mixins no longer included in Chef Infra Client 14 and later.".freeze
37
38
 
38
- def_node_matcher :deprecated_mixin?, <<-PATTERN
39
- (send nil? :include (const (const (const nil? :Chef) :Mixin) { :Language :LanguageIncludeAttribute :RecipeDefinitionDSLCore :LanguageIncludeRecipe }))
40
- PATTERN
39
+ def_node_matcher :deprecated_mixin?, <<-PATTERN
40
+ (send nil? :include (const (const (const nil? :Chef) :Mixin) { :Language :LanguageIncludeAttribute :RecipeDefinitionDSLCore :LanguageIncludeRecipe }))
41
+ PATTERN
41
42
 
42
- def_node_matcher :deprecated_dsl?, <<-PATTERN
43
- (send nil? :include (const (const (const (const nil? :Chef) :DSL) :Recipe) :FullDSL))
44
- PATTERN
43
+ def_node_matcher :deprecated_dsl?, <<-PATTERN
44
+ (send nil? :include (const (const (const (const nil? :Chef) :DSL) :Recipe) :FullDSL))
45
+ PATTERN
45
46
 
46
- def_node_matcher :dsl_mixin_require?, <<-PATTERN
47
- (send nil? :require ( str {"chef/mixin/language" "chef/mixin/language_include_attribute" "chef/mixin/language_include_recipe"}))
48
- PATTERN
47
+ def_node_matcher :dsl_mixin_require?, <<-PATTERN
48
+ (send nil? :require ( str {"chef/mixin/language" "chef/mixin/language_include_attribute" "chef/mixin/language_include_recipe"}))
49
+ PATTERN
49
50
 
50
- def on_send(node)
51
- deprecated_mixin?(node) do
52
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
53
- end
51
+ def on_send(node)
52
+ deprecated_mixin?(node) do
53
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
54
+ end
54
55
 
55
- deprecated_dsl?(node) do
56
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
57
- end
56
+ deprecated_dsl?(node) do
57
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
58
+ end
58
59
 
59
- dsl_mixin_require?(node) do
60
- add_offense(node, location: :expression, message: MSG, severity: :refactor)
60
+ dsl_mixin_require?(node) do
61
+ add_offense(node, location: :expression, message: MSG, severity: :refactor)
62
+ end
61
63
  end
62
- end
63
64
 
64
- def autocorrect(node)
65
- lambda do |corrector|
66
- corrector.remove(node.loc.expression)
65
+ def autocorrect(node)
66
+ lambda do |corrector|
67
+ corrector.remove(node.loc.expression)
68
+ end
67
69
  end
68
70
  end
69
71
  end
@@ -18,20 +18,22 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- # Don't use the deprecated easy_install resource removed in Chef 13
22
- #
23
- # @example
24
- #
25
- # # bad
26
- # easy_install "my_thing" do
27
- # bar
28
- # end
29
- #
30
- class EasyInstallResource < Cop
31
- MSG = "Don't use the deprecated easy_install resource removed in Chef 13".freeze
21
+ module ChefDeprecations
22
+ # Don't use the deprecated easy_install resource removed in Chef 13
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # easy_install "my_thing" do
28
+ # bar
29
+ # end
30
+ #
31
+ class EasyInstallResource < Cop
32
+ MSG = "Don't use the deprecated easy_install resource removed in Chef 13".freeze
32
33
 
33
- def on_send(node)
34
- add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :easy_install
34
+ def on_send(node)
35
+ add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :easy_install
36
+ end
35
37
  end
36
38
  end
37
39
  end