cookstyle 6.19.5 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -1
  3. data/config/cookstyle.yml +254 -235
  4. data/config/disable_all.yml +20 -0
  5. data/config/upstream.yml +138 -54
  6. data/cookstyle.gemspec +1 -1
  7. data/lib/cookstyle/version.rb +2 -2
  8. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +1 -1
  9. data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +2 -1
  10. data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +1 -1
  11. data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +1 -1
  12. data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +2 -1
  13. data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +1 -1
  14. data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +1 -1
  15. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +1 -1
  16. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +1 -1
  17. data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +1 -1
  18. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +1 -1
  19. data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +2 -1
  20. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +1 -1
  21. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +1 -1
  22. data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +2 -1
  23. data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +1 -1
  24. data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +1 -1
  25. data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +1 -1
  26. data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +1 -1
  27. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +1 -1
  28. data/lib/rubocop/cop/chef/correctness/node_normal.rb +2 -1
  29. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +2 -1
  30. data/lib/rubocop/cop/chef/correctness/node_save.rb +2 -1
  31. data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +1 -1
  32. data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +48 -0
  33. data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +1 -1
  34. data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +1 -1
  35. data/lib/rubocop/cop/chef/correctness/property_without_type.rb +1 -1
  36. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +1 -1
  37. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +1 -1
  38. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +1 -1
  39. data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +1 -1
  40. data/lib/rubocop/cop/chef/correctness/service_resource.rb +1 -1
  41. data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +1 -1
  42. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +1 -1
  43. data/lib/rubocop/cop/chef/deprecation/ use_automatic_resource_name.rb +1 -1
  44. data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +1 -1
  45. data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +1 -1
  46. data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +1 -1
  47. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +1 -1
  48. data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +1 -1
  49. data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +2 -2
  50. data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +2 -1
  51. data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +1 -1
  52. data/lib/rubocop/cop/chef/deprecation/cheffile.rb +1 -1
  53. data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +1 -1
  54. data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +1 -1
  55. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +1 -1
  56. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +1 -1
  57. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +1 -1
  58. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +1 -1
  59. data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +1 -3
  60. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +1 -1
  61. data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +2 -1
  62. data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +1 -1
  63. data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +1 -1
  64. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +1 -1
  65. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +1 -1
  66. data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +1 -1
  67. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +1 -1
  68. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +1 -1
  69. data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +1 -1
  70. data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +1 -1
  71. data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +1 -1
  72. data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +1 -1
  73. data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +1 -1
  74. data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +2 -2
  75. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +1 -1
  76. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +1 -1
  77. data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +3 -3
  78. data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +1 -1
  79. data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +1 -1
  80. data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +3 -1
  81. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +22 -27
  82. data/lib/rubocop/cop/chef/deprecation/node_set.rb +2 -1
  83. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +2 -1
  84. data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +2 -1
  85. data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +2 -1
  86. data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +1 -1
  87. data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +1 -1
  88. data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +2 -1
  89. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +1 -1
  90. data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +3 -3
  91. data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +1 -1
  92. data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +1 -1
  93. data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +1 -1
  94. data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +1 -1
  95. data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +1 -1
  96. data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +1 -1
  97. data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +1 -1
  98. data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +1 -1
  99. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +1 -1
  100. data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +47 -0
  101. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +1 -1
  102. data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +1 -1
  103. data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +1 -1
  104. data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +1 -1
  105. data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +1 -1
  106. data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +2 -1
  107. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +1 -1
  108. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +1 -1
  109. data/lib/rubocop/cop/chef/effortless/berksfile.rb +1 -1
  110. data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +1 -1
  111. data/lib/rubocop/cop/chef/effortless/data_bags.rb +1 -1
  112. data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +1 -1
  113. data/lib/rubocop/cop/chef/effortless/node_environment.rb +1 -1
  114. data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +1 -1
  115. data/lib/rubocop/cop/chef/effortless/node_roles.rb +1 -1
  116. data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +1 -1
  117. data/lib/rubocop/cop/chef/effortless/search_used.rb +1 -1
  118. data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +1 -1
  119. data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +1 -1
  120. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +1 -1
  121. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +1 -1
  122. data/lib/rubocop/cop/chef/modernize/build_essential.rb +1 -1
  123. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +1 -1
  124. data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +1 -1
  125. data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +2 -1
  126. data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +2 -2
  127. data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +1 -1
  128. data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +1 -1
  129. data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +2 -1
  130. data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +1 -1
  131. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +1 -1
  132. data/lib/rubocop/cop/chef/modernize/definitions.rb +1 -1
  133. data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +1 -1
  134. data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +1 -1
  135. data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +1 -1
  136. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +1 -1
  137. data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +1 -1
  138. data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +1 -1
  139. data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +1 -1
  140. data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +1 -1
  141. data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +1 -1
  142. data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +1 -1
  143. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +1 -1
  144. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +1 -1
  145. data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +1 -1
  146. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +1 -1
  147. data/lib/rubocop/cop/chef/modernize/node_init_package.rb +3 -2
  148. data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +2 -1
  149. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +1 -1
  150. data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +1 -1
  151. data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +1 -1
  152. data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +1 -1
  153. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +1 -1
  154. data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +1 -1
  155. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +1 -1
  156. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +1 -1
  157. data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +1 -1
  158. data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +1 -1
  159. data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +1 -1
  160. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +1 -1
  161. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +1 -1
  162. data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +1 -1
  163. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +2 -2
  164. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +10 -10
  165. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +2 -2
  166. data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +1 -1
  167. data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +1 -1
  168. data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +2 -1
  169. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +1 -1
  170. data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +1 -1
  171. data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +1 -1
  172. data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +1 -1
  173. data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +1 -1
  174. data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +1 -1
  175. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +1 -1
  176. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +1 -1
  177. data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +4 -4
  178. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +1 -1
  179. data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +1 -1
  180. data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +1 -1
  181. data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +1 -1
  182. data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +1 -1
  183. data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +1 -1
  184. data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +1 -1
  185. data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +1 -1
  186. data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +2 -1
  187. data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +1 -1
  188. data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +1 -1
  189. data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +1 -1
  190. data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +2 -1
  191. data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +2 -1
  192. data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +2 -1
  193. data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +1 -1
  194. data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +1 -1
  195. data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +1 -1
  196. data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +1 -1
  197. data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +1 -1
  198. data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +1 -1
  199. data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +1 -1
  200. data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +1 -1
  201. data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +13 -12
  202. data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +1 -1
  203. data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +1 -1
  204. data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +1 -1
  205. data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +1 -1
  206. data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +1 -1
  207. data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +1 -1
  208. data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +1 -1
  209. data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +1 -1
  210. data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +1 -1
  211. data/lib/rubocop/cop/chef/style/attribute_keys.rb +2 -1
  212. data/lib/rubocop/cop/chef/style/chef_whaaat.rb +1 -1
  213. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +1 -1
  214. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +4 -3
  215. data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +1 -1
  216. data/lib/rubocop/cop/chef/style/comments_format.rb +1 -1
  217. data/lib/rubocop/cop/chef/style/file_mode.rb +1 -1
  218. data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +1 -1
  219. data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +1 -1
  220. data/lib/rubocop/cop/chef/style/negating_only_if.rb +1 -1
  221. data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +1 -1
  222. data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +2 -1
  223. data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +1 -1
  224. data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +2 -1
  225. data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +1 -1
  226. data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +2 -1
  227. data/lib/rubocop/monkey_patches/comment_config.rb +1 -1
  228. metadata +7 -5
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefCorrectness
21
+ module Correctness
22
22
  # Use file_cache_path rather than hard-coding tmp paths
23
23
  #
24
24
  # @example downloading a large file into /tmp/
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The use_automatic_resource_name method was removed in Chef Infra Client 16. The resource name/provides should be set explicitly instead.
23
23
  #
24
24
  # @example
@@ -30,7 +30,7 @@ module RuboCop
30
30
  # # good
31
31
  # name 'foo'
32
32
  #
33
- module ChefDeprecations
33
+ module Deprecations
34
34
  class CookbooksDependsOnSelf < Base
35
35
  extend AutoCorrector
36
36
  include RangeHelp
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # There is no need to include the empty and deprecated chef_handler::default recipe in order to use the chef_handler resource
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use the type property instead of the deprecated supports property in the chef_handler resource. The supports property was removed in chef_handler cookbook version 3.0 (June 2017) and Chef Infra Client 14.0.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Chef::REST was removed in Chef Infra Client 13.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use delete_resource / edit_resource introduced in Chef Infra Client 12.10 instead of functionality in the deprecated chef-rewind gem
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use deprecated Chef::ShellOut which was removed in Chef Infra Client 13.
24
24
  # Use Mixlib::ShellOut instead, which behaves identically or convert to the shell_out
25
25
  # helper provided in chef-utils.
@@ -41,7 +41,7 @@ module RuboCop
41
41
  extend AutoCorrector
42
42
 
43
43
  MSG = "Don't use deprecated Chef::ShellOut which was removed in Chef Infra Client 13. Use Mixlib::ShellOut instead, which behaves identically."
44
- # RESTRICT_ON_SEND = [:new, :require, :include].freeze
44
+ RESTRICT_ON_SEND = [:new, :require, :include].freeze
45
45
 
46
46
  def_node_matcher :include_shellout?, <<-PATTERN
47
47
  (send nil? :include
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Use `platform?('windows')` instead of the legacy `Chef::Platform.windows?` helper
23
23
  #
24
24
  # @example
@@ -33,6 +33,7 @@ module RuboCop
33
33
  class ChefWindowsPlatformHelper < Base
34
34
  extend AutoCorrector
35
35
  MSG = "Use `platform?('windows')` instead of the legacy `Chef::Platform.windows?` helper."
36
+ RESTRICT_ON_SEND = [:windows?].freeze
36
37
 
37
38
  def_node_matcher :chef_platform_windows?, <<-PATTERN
38
39
  (send
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Chef Workstation 0.8 and later renamed the ChefDK module used when writing custom cookbook generators from ChefDK to ChefCLI. For compatibility with the latest Chef Workstation releases you'll need to reference the new class names.
24
24
  #
25
25
  # @example
@@ -21,7 +21,7 @@ module RuboCop
21
21
  module Chef
22
22
  # The Librarian-Chef depsolving project is no longer maintained and a Cheffile should not be used for cookbook depsolving. Consider using Policyfiles instead. If the Policyfiles model is not compatible with your workflow you may find Berkshelf offers a more similar, and still supported, experience to Librarian-Chef.
23
23
  #
24
- module ChefDeprecations
24
+ module Deprecations
25
25
  class Cheffile < Base
26
26
  include RangeHelp
27
27
 
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated ChefSpec Coverage report functionality in your specs. This feature has been removed as coverage reports encourage cookbook authors to write ineffective specs. Focus on testing your logic instead of achieving 100% code coverage.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use ChefSpec::SoloRunner or ChefSpec::ServerRunner instead of the deprecated ChefSpec::Runner. These new runners were introduced in ChefSpec 4.1 (Oct 2014).
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use the :remove action in the chocolatey_package resource instead of :uninstall which was removed in Chef Infra Client 14+
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't depend on the deprecated compat_resource cookbook made obsolete by Chef Infra Client 12.19+
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't depend on the partial_search cookbook made obsolete by Chef Infra Client 13
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Cookbooks should not depend on the deprecated Poise framework cookbooks. They should instead be refactored to use standard Chef Infra custom resources.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use currently supported platforms in ChefSpec listed at https://github.com/chefspec/fauxhai/blob/master/PLATFORMS.md. Fauxhai / ChefSpec will perform fuzzy matching on platform version so it's always best to be less specific ie. 10 instead of 10.3
24
24
  #
25
25
  # @example
@@ -32,8 +32,6 @@ module RuboCop
32
32
 
33
33
  MSG = "Use currently supported platforms in ChefSpec listed at https://github.com/chefspec/fauxhai/blob/master/PLATFORMS.md. Fauxhai / ChefSpec will perform fuzzy matching on platform version so it's always best to be less specific ie. 10 instead of 10.3"
34
34
 
35
- Gem::Dependency.new('', ['~> 1.4.5', '>= 1.4.6']).match?('', '1.4.6')
36
-
37
35
  DEPRECATED_MAPPING = {
38
36
  'amazon' => {
39
37
  '2017.12' => '2',
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use deprecated Mixins no longer included in Chef Infra Client 14 and later
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Use provider_for_action or provides instead of the deprecated Chef::Platform methods in resources, which were removed in Chef Infra Client 13.
24
24
  #
25
25
  # @example
@@ -44,6 +44,7 @@ module RuboCop
44
44
 
45
45
  class DeprecatedPlatformMethods < Base
46
46
  MSG = 'Use provider_for_action or provides instead of the deprecated Chef::Platform methods in resources, which were removed in Chef Infra Client 13.'
47
+ RESTRICT_ON_SEND = [:provider_for_resource, :find_provider, :find_provider_for_node, :set].freeze
47
48
 
48
49
  def_node_matcher :platform_method?, <<-PATTERN
49
50
  (send (const (const nil? :Chef) :Platform) {:provider_for_resource :find_provider :find_provider_for_node :set} ... )
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # The large number of shell_out helper methods in Chef Infra Client has been reduced to just shell_out and shell_out! methods. The legacy methods were removed in Chef Infra Client and cookbooks using these legacy helpers will need to be updated.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Don't use the deprecated older_than_win_2012_or_8? helper. Windows versions before 2012 and 8 are now end of life and this helper will always return false.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the yum_repository resource were renamed. url -> baseurl, keyurl -> gpgkey, and mirrorexpire -> mirror_expire.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated easy_install resource removed in Chef Infra Client 13
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The beta Audit Mode for Chef Infra Client was removed in Chef Infra Client 15.0. Users should instead use InSpec and the audit cookbook. See https://www.inspec.io/ for more information.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Make sure ignore_failure is used instead of epic_fail
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Don't use the deprecated erl_call resource
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 13 and later you must set path env vars in execute resources using the `environment` property not the legacy `path` property.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 13 and later you must either specific an absolute path when using the `execute` resource's `creates` property or also use the `cwd` property.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Chef Infra Client 16 and later a legacy HWRP resource must use `provides` to define how the resource is called in recipes or other resources. To maintain compatibility with Chef Infra Client < 16 use both `resource_name` and `provides`.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # Resources written in the class based HWRP style should inherit from the 'Chef::Resource' class and not the 'ChefCompat::Resource' class from the deprecated compat_resource cookbook.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The launchd resource's hash property was renamed to plist_hash in Chef Infra Client 13+ to avoid conflicts with Ruby's hash class.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # Use the new-style notification syntax which allows you to notify resources defined later in a recipe or resource.
23
23
  #
24
24
  # @example
@@ -78,7 +78,7 @@ module RuboCop
78
78
  else
79
79
  "\"#{type.source}[\#{#{name.source}}]\""
80
80
  end
81
- new_val = "#{notify_type} #{action.source}, #{service_value}".dup
81
+ new_val = +"#{notify_type} #{action.source}, #{service_value}"
82
82
  new_val << ", #{timing.first.source}" unless timing.empty?
83
83
  corrector.replace(node, new_val)
84
84
  end
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The Ohai default recipe previously allowed a user to ship custom Ohai plugins to a system by including them
23
23
  # in a directory in the Ohai cookbook. This functionality was replaced with the ohai_plugin resource, which
24
24
  # should be used instead as it doesn't require forking the ohai cookbook.
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # The local resource's lc_all property has been deprecated and will be removed in Chef Infra Client 17
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # In Chef Infra Client 16 the log resource no longer notifies when logging so notifications should not be triggered from log resources. Use the notify_group resource introduced in Chef Infra Client 15.8 instead to aggregate notifications.
24
24
  #
25
25
  # @example
@@ -44,7 +44,7 @@ module RuboCop
44
44
  # notifies :restart, 'service[foo]', :delayed
45
45
  # end
46
46
  #
47
- class LogResourceNotifications < Cop
47
+ class LogResourceNotifications < Base
48
48
  include RuboCop::Chef::CookbookHelpers
49
49
  extend TargetChefVersion
50
50
 
@@ -54,7 +54,7 @@ module RuboCop
54
54
 
55
55
  def on_block(node)
56
56
  match_property_in_resource?(:log, 'notifies', node) do |prop_node|
57
- add_offense(prop_node, location: :expression, message: MSG, severity: :warning)
57
+ add_offense(prop_node, message: MSG, severity: :warning)
58
58
  end
59
59
  end
60
60
  end
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefDeprecations
22
+ module Deprecations
23
23
  # The `global` property in the macos_userdefaults resource was deprecated in Chef Infra Client 16.3. This property was never properly implemented and caused failures under many conditions. Omitting the `domain` property will now set global defaults.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefDeprecations
21
+ module Deprecations
22
22
  # A resource property (or attribute) can't be marked as a name_property (or name_attribute) and also have a default value. The name property is a special property that is derived from the name of the resource block in and thus always has a value passed to the resource. For example if you define `my_resource 'foo'` in recipe, then the name property of `my_resource` will automatically be set to `foo`. Setting a property to be both a name_property and have a default value will cause Chef Infra Client failures in 13.0 and later releases.
23
23
  #
24
24
  # @example
@@ -17,7 +17,7 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- module ChefDeprecations
20
+ module Deprecations
21
21
  # The node.deep_fetch method has been removed from Chef-Sugar, and must be replaced by the node.read API.
22
22
  #
23
23
  # @example
@@ -37,6 +37,8 @@ module RuboCop
37
37
  class NodeDeepFetch < Base
38
38
  extend RuboCop::Cop::AutoCorrector
39
39
 
40
+ RESTRICT_ON_SEND = [:deep_fetch, :deep_fetch!].freeze
41
+
40
42
  def_node_matcher :node_deep_fetch?, <<-PATTERN
41
43
  (send (send _ :node) ${:deep_fetch :deep_fetch!} _)
42
44
  PATTERN