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 ChefEffortless
21
+ module Effortless
22
22
  # Data bags cannot be used with the Effortless Infra pattern
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefEffortless
22
+ module Effortless
23
23
  # Chef Vault is not supported in the Effortless pattern, so usage of Chef Vault must be shifted to another secrets management solution before leveraging the Effortless pattern.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefEffortless
21
+ module Effortless
22
22
  # Neither Policyfiles or Effortless Infra which is based on Policyfiles supports Chef Environments
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefEffortless
21
+ module Effortless
22
22
  # Effortless Infra does not support Policyfile's Policygroup feature
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefEffortless
21
+ module Effortless
22
22
  # Neither Policyfiles or Effortless Infra which is based on Policyfiles supports Chef Infra Roles
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefEffortless
21
+ module Effortless
22
22
  # Policyfiles (and Effortless) do not use environments or roles so searching for those will need to be refactored before migrating to Policyfiles and the Effortless pattern.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefEffortless
21
+ module Effortless
22
22
  # Search is not compatible with the Effortless Infra pattern
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use the custom resource language's `action :my_action` blocks instead of creating actions with methods.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The allowed actions can now be specified using the `allowed_actions` helper instead of using the @actions or @allowed_actions variables in the resource's initialize method. In general we recommend against writing HWRPs, but if HWRPs are necessary you should utilize as much of the resource DSL as possible.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # For many users the apt::default cookbook is used only to update apt's package cache. Chef Infra Client 12.7 and later include an apt_update resource which should be used to perform this instead. Keep in mind that some users will want to stick with the apt::default recipe as it also installs packages necessary for using https repositories on Debian systems and manages some configuration files.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Over the course of years there have been many different valid community site / Supermarket
23
23
  # URLs to use in a cookbook's Berksfile. These old URLs continue to function via redirects,
24
24
  # but should be updated to point to the latest Supermarket URL.
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use the build_essential resource from the build-essential cookbook 5.0+ or Chef Infra Client 14+ instead of using the build-essential::default recipe.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Don't depend on cookbooks made obsolete by Chef Infra Client 14+. These community cookbooks contain resources that are now included in Chef Infra Client itself.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefModernize
22
+ module Modernize
23
23
  # The nokogiri gem ships in Chef Infra Client 12+ and does not need to be installed before being used
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The hostname, build_essential, chef_gem, and ohai_hint resources include 'compile_time' properties, which should be used to force the resources to run at compile time by setting `compile_time true`.
23
23
  #
24
24
  # @example
@@ -35,6 +35,7 @@ module RuboCop
35
35
  #
36
36
  class ResourceForcingCompileTime < Base
37
37
  MSG = "Set 'compile_time true' in resources when available instead of forcing resources to run at compile time by setting an action on the block."
38
+ RESTRICT_ON_SEND = [:run_action].freeze
38
39
 
39
40
  def_node_matcher :compile_time_resource?, <<-PATTERN
40
41
  (send (block (send nil? {:build_essential :chef_gem :hostname :ohai_hint} (...)) (args) (...)) $:run_action (sym ...))
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use ::File.exist?('/foo/bar') instead of the slower 'test -f /foo/bar' which requires shelling out
23
23
  #
24
24
  # @example
@@ -36,7 +36,7 @@ module RuboCop
36
36
  RESTRICT_ON_SEND = [:not_if, :only_if].freeze
37
37
 
38
38
  def_node_matcher :resource_conditional?, <<~PATTERN
39
- (send nil? {:not_if :only_if} $str )
39
+ (send nil? {:not_if :only_if} $str )
40
40
  PATTERN
41
41
 
42
42
  def on_send(node)
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use the cron_d resource that ships with Chef Infra Client 14.4+ instead of manually creating the file with template, file, or cookbook_file resources.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The cron_manage resource was renamed to cron_access in the 6.1 release of the cron
23
23
  # cookbook, and later shipped in Chef Infra Client 14.4. The new resource name should
24
24
  # be used.
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use the `data_bag_item` helper instead of `Chef::DataBagItem.load` or `Chef::EncryptedDataBagItem.load`.
23
23
  #
24
24
  # @example
@@ -35,6 +35,7 @@ module RuboCop
35
35
  extend AutoCorrector
36
36
 
37
37
  MSG = 'Use the `data_bag_item` helper instead of `Chef::DataBagItem.load` or `Chef::EncryptedDataBagItem.load`.'
38
+ RESTRICT_ON_SEND = [:load].freeze
38
39
 
39
40
  def_node_matcher :data_bag_class_load?, <<-PATTERN
40
41
  (send
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The default actions can now be specified using the `default_action` helper instead of using the @action variable in the resource provider initialize method. In general we recommend against writing HWRPs, but if HWRPs are necessary you should utilize as much of the resource DSL as possible.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # ChefSpec 7.1 and later auto generate ChefSpec matchers. Matchers in cookbooks can now be removed.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # In 2016 with Chef Infra Client 12.5 Custom Resources were introduced as a way of writing reusable resource code that could be shipped in cookbooks. Custom Resources offer many advantages of legacy Definitions including unit testing with ChefSpec, input validation, actions, common properties like not_if/only_if, and resource reporting.
23
23
  #
24
24
  class Definitions < Base
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Don't depend on the zypper cookbook as the zypper_repository resource is built into Chef Infra Client 13.3+
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Chef Infra Client 12.4+ includes the Chef::DSL::Recipe in the resource and provider classed by default so there is no need to include this DSL in your resources or providers.
23
23
  #
24
24
  # # bad
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # There is no need for an empty initialize method in a resource
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Instead of using the execute resource to to run the `apt-get update` use Chef Infra Client's built-n
23
23
  # apt_update resource which is available in Chef Infra Client 12.7 and later.
24
24
  #
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Chef Infra Client 14.0 and later includes :create, :delete, and :configure actions with the full idempotency of the windows_service resource. See the windows_service documentation at https://docs.chef.io/resource_windows_service.html for additional details on creating services with the windows_service resource.
23
23
  #
24
24
  # # bad
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Chef Infra Client 15.5 and later include a chef_sleep resource that should be used to sleep between executing resources if necessary instead of using the bash or execute resources to run the sleep command.
23
23
  #
24
24
  # # bad
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Chef Infra Client 14.0 and later includes a sysctl resource that should be used to idempotently load sysctl values instead of templating files and using execute to load them.
23
23
  #
24
24
  # # bad
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Instead of using the execute or powershell_script resources to to run the `tzutil` command, use
23
23
  # Chef Infra Client's built-in timezone resource which is available in Chef Infra Client 14.6 and later.
24
24
  #
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefModernize
22
+ module Modernize
23
23
  # Remove legacy code comments that disable Foodcritic rules. These comments are no longer necessary if you've migrated from Foodcritic to Cookstyle for cookbook linting.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # if defined?(default_action) is no longer necessary in Chef Resources as default_action shipped in Chef 10.8.
23
23
  #
24
24
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefModernize
22
+ module Modernize
23
23
  # There is no need to include Chef::Mixin::ShellOut or Chef::Mixin::PowershellOut in resources or providers as this is already done by Chef Infra Client 12.4+.
24
24
  #
25
25
  # @example
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefModernize
22
+ module Modernize
23
23
  # Use the archive_file resource built into Chef Infra Client 15+ instead of the libarchive_file resource.
24
24
  #
25
25
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The mac_os_x_userdefaults resource was renamed to macos_userdefaults when it was added to Chef Infra Client
23
23
  # 14.0. The new resource name should be used.
24
24
  #
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use Chef InSpec for testing instead of the Minitest Handler cookbook pattern.
23
23
  #
24
24
  # @example
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use node['init_package'] to check for systemd instead of reading the contents of '/proc/1/comm'
23
23
  #
24
24
  # @example
@@ -43,6 +43,7 @@ module RuboCop
43
43
  extend RuboCop::Cop::AutoCorrector
44
44
 
45
45
  MSG = "Use node['init_package'] to check for systemd instead of reading the contents of '/proc/1/comm'"
46
+ RESTRICT_ON_SEND = [:open, :read, :exist?, :==, :not_if, :only_if].freeze
46
47
 
47
48
  def_node_matcher :file_reads_proc_1_comm?, <<-PATTERN
48
49
  (send (const {(cbase) nil?} {:File :IO}) {:open :read} (str "/proc/1/comm"))
@@ -62,7 +63,7 @@ module RuboCop
62
63
  PATTERN
63
64
 
64
65
  def_node_matcher :file_systemd_conditional?, <<~PATTERN
65
- (send nil? {:not_if :only_if} $(str "test -f /bin/systemctl && /bin/systemctl"))
66
+ (send nil? {:not_if :only_if} $(str "test -f /bin/systemctl && /bin/systemctl"))
66
67
  PATTERN
67
68
 
68
69
  def on_send(node)
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # Use `node.role?('foo')` to check if a node includes a role instead of `node['roles'].include?('foo')`.
23
23
  #
24
24
  # @example
@@ -33,6 +33,7 @@ module RuboCop
33
33
  extend AutoCorrector
34
34
 
35
35
  MSG = "Use `node.role?('foo')` to check if a node includes a role instead of `node['roles'].include?('foo')`."
36
+ RESTRICT_ON_SEND = [:include?].freeze
36
37
 
37
38
  def_node_matcher :node_role_include?, <<-PATTERN
38
39
  (send
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
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 ChefModernize
21
+ module Modernize
22
22
  # The openssl_rsa_key resource was renamed to openssl_rsa_private_key in Chef
23
23
  # Infra Client 14.0. The new resource name should be used.
24
24
  #
@@ -18,7 +18,7 @@
18
18
  module RuboCop
19
19
  module Cop
20
20
  module Chef
21
- module ChefModernize
21
+ module Modernize
22
22
  # The openssl_x509 resource was renamed to openssl_x509_certificate in Chef Infra Client 14.4.
23
23
  # The new resource name should be used.
24
24
  #