cookstyle 6.20.1 → 7.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/config/cookstyle.yml +277 -241
  4. data/config/disable_all.yml +28 -0
  5. data/config/upstream.yml +214 -81
  6. data/lib/cookstyle/version.rb +2 -2
  7. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +1 -1
  8. data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +1 -1
  9. data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +1 -1
  10. data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +1 -1
  11. data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +1 -1
  12. data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +1 -1
  13. data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +1 -1
  14. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +1 -1
  15. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +1 -1
  16. data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +1 -1
  17. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +1 -1
  18. data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +1 -1
  19. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +1 -1
  20. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +1 -1
  21. data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +1 -1
  22. data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +1 -1
  23. data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +1 -1
  24. data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +1 -1
  25. data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +1 -1
  26. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +1 -1
  27. data/lib/rubocop/cop/chef/correctness/node_normal.rb +1 -1
  28. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +1 -1
  29. data/lib/rubocop/cop/chef/correctness/node_save.rb +1 -1
  30. data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +1 -1
  31. data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +48 -0
  32. data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +1 -1
  33. data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +1 -1
  34. data/lib/rubocop/cop/chef/correctness/property_without_type.rb +1 -1
  35. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +1 -1
  36. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +1 -1
  37. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +1 -1
  38. data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +1 -1
  39. data/lib/rubocop/cop/chef/correctness/service_resource.rb +1 -1
  40. data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +1 -1
  41. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +1 -1
  42. data/lib/rubocop/cop/chef/deprecation/ use_automatic_resource_name.rb +1 -1
  43. data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +1 -1
  44. data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +1 -1
  45. data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +1 -1
  46. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +1 -1
  47. data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +1 -1
  48. data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +1 -1
  49. data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +1 -1
  50. data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +1 -1
  51. data/lib/rubocop/cop/chef/deprecation/cheffile.rb +1 -1
  52. data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +1 -1
  53. data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +1 -1
  54. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +1 -1
  55. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +1 -1
  56. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +1 -1
  57. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +1 -1
  58. data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +1 -1
  59. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +1 -1
  60. data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +1 -1
  61. data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +1 -1
  62. data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +1 -1
  63. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +1 -1
  64. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +1 -1
  65. data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +1 -1
  66. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +1 -1
  67. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +1 -1
  68. data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +1 -1
  69. data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +1 -1
  70. data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +43 -0
  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 +1 -1
  75. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +1 -1
  76. data/lib/rubocop/cop/chef/deprecation/librarian_chefspec.rb +42 -0
  77. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +1 -1
  78. data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +3 -3
  79. data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +1 -1
  80. data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +1 -1
  81. data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +1 -1
  82. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +1 -1
  83. data/lib/rubocop/cop/chef/deprecation/node_set.rb +1 -1
  84. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +1 -1
  85. data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +1 -1
  86. data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +1 -1
  87. data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +1 -1
  88. data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +1 -1
  89. data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +1 -1
  90. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +1 -1
  91. data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +1 -1
  92. data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +1 -1
  93. data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +1 -1
  94. data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +1 -1
  95. data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +1 -1
  96. data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +1 -1
  97. data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +1 -1
  98. data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +1 -1
  99. data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +1 -1
  100. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +1 -1
  101. data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +47 -0
  102. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +1 -1
  103. data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +1 -1
  104. data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +1 -1
  105. data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +1 -1
  106. data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +1 -1
  107. data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +1 -1
  108. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +1 -1
  109. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +1 -1
  110. data/lib/rubocop/cop/chef/effortless/berksfile.rb +1 -1
  111. data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +1 -1
  112. data/lib/rubocop/cop/chef/effortless/data_bags.rb +1 -1
  113. data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +1 -1
  114. data/lib/rubocop/cop/chef/effortless/node_environment.rb +1 -1
  115. data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +1 -1
  116. data/lib/rubocop/cop/chef/effortless/node_roles.rb +1 -1
  117. data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +1 -1
  118. data/lib/rubocop/cop/chef/effortless/search_used.rb +1 -1
  119. data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +1 -1
  120. data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +1 -1
  121. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +1 -1
  122. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +1 -1
  123. data/lib/rubocop/cop/chef/modernize/build_essential.rb +1 -1
  124. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +1 -1
  125. data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +1 -1
  126. data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +1 -1
  127. data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +1 -1
  128. data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +1 -1
  129. data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +1 -1
  130. data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +1 -1
  131. data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +1 -1
  132. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +1 -1
  133. data/lib/rubocop/cop/chef/modernize/definitions.rb +1 -1
  134. data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +1 -1
  135. data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +1 -1
  136. data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +1 -1
  137. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +1 -1
  138. data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +1 -1
  139. data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +1 -1
  140. data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +1 -1
  141. data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +1 -1
  142. data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +1 -1
  143. data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +1 -1
  144. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +1 -1
  145. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +1 -1
  146. data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +1 -1
  147. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +1 -1
  148. data/lib/rubocop/cop/chef/modernize/node_init_package.rb +1 -1
  149. data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +1 -1
  150. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +1 -1
  151. data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +1 -1
  152. data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +1 -1
  153. data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +1 -1
  154. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +1 -1
  155. data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +1 -1
  156. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +1 -1
  157. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +1 -1
  158. data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +1 -1
  159. data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +1 -1
  160. data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +1 -1
  161. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +1 -1
  162. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +1 -1
  163. data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +1 -1
  164. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +1 -1
  165. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +1 -1
  166. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +1 -1
  167. data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +1 -1
  168. data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +1 -1
  169. data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +1 -1
  170. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +1 -1
  171. data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +1 -1
  172. data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +1 -1
  173. data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +1 -1
  174. data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +17 -13
  175. data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +1 -1
  176. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +1 -1
  177. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +1 -1
  178. data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +4 -4
  179. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +1 -1
  180. data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +1 -1
  181. data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +1 -1
  182. data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +1 -1
  183. data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +1 -1
  184. data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +1 -1
  185. data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +1 -1
  186. data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +1 -1
  187. data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +1 -1
  188. data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +1 -1
  189. data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +1 -1
  190. data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +1 -1
  191. data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +1 -1
  192. data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +1 -1
  193. data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +1 -1
  194. data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +1 -1
  195. data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +1 -1
  196. data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +1 -1
  197. data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +1 -1
  198. data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +1 -1
  199. data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +1 -1
  200. data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +1 -1
  201. data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +1 -1
  202. data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +13 -12
  203. data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +1 -1
  204. data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +1 -1
  205. data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +1 -1
  206. data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +1 -1
  207. data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +1 -1
  208. data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +1 -1
  209. data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +1 -1
  210. data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +1 -1
  211. data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +1 -1
  212. data/lib/rubocop/cop/chef/style/attribute_keys.rb +1 -1
  213. data/lib/rubocop/cop/chef/style/chef_whaaat.rb +1 -1
  214. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +1 -1
  215. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +4 -3
  216. data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +1 -1
  217. data/lib/rubocop/cop/chef/style/comments_format.rb +1 -1
  218. data/lib/rubocop/cop/chef/style/file_mode.rb +1 -1
  219. data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +1 -1
  220. data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +1 -1
  221. data/lib/rubocop/cop/chef/style/negating_only_if.rb +1 -1
  222. data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +1 -1
  223. data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +1 -1
  224. data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +1 -1
  225. data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +1 -1
  226. data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +1 -1
  227. data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +1 -1
  228. data/lib/rubocop/monkey_patches/comment_config.rb +1 -1
  229. metadata +8 -4
@@ -17,7 +17,7 @@
17
17
  module RuboCop
18
18
  module Cop
19
19
  module Chef
20
- module ChefDeprecations
20
+ module Deprecations
21
21
  # When setting a node attribute in Chef Infra Client 11 and later you must specify the precedence level.
22
22
  #
23
23
  # @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
  # Legacy Chef::PartialSearch class usage should be updated to use the `search` helper instead with the `filter_result` key.
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
  # Legacy partial_search usage should be updated to use :filter_result in the search helper instead
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
  # The poise_archive resource in the deprecated poise-archive should be replaced with the archive_file resource found in Chef Infra Client 15+.
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 `node['powershell']['version']` or the new `powershell_version` helper available in Chef Infra Client 15.8+ instead of the deprecated PowerShell cookbook helpers
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 to use include_recipe instead of require_recipe
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
  # Some providers in resources override the provides? method, used to check whether they are a valid provider on the current platform. In Chef Infra Client 13, this will cause an error. Instead use `provides :SOME_PROVIDER_NAME` to register the provider.
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 use the dsl_name method in a resource to find the name of the resource. Use the resource_name method instead. dsl_name was removed in Chef Infra Client 13 and will now result in an error.
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
  # Starting with Chef Infra Client 16, using `resource_name` without also using `provides` will result in resource failures. Make sure to use both `resource_name` and `provides` to change the name of the resource. You can also omit `resource_name` entirely if the value set matches the name Chef Infra Client automatically assigns based on COOKBOOKNAME_FILENAME.
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
  # The Resource.provider_base allows the developer to specify within a resource a module to load the resource's provider from. Instead, the provider should call provides to register itself, or the resource should call provider to specify the provider to use.
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 call the deprecated updated= method in a resource to set the resource to updated. This method was removed from Chef Infra Client 13 and this will now cause an error. Instead wrap code that updated the state of the node in a converge_by block. Documentation on using the converge_by block can be found at https://docs.chef.io/custom_resources.html.
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
  # Pass options to shell_out helpers without the brackets to avoid Ruby 2.7 deprecation warnings.
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 :run action in the ruby_block resource instead of the deprecated :create action
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
  # Use 'shell_out!' instead of the legacy 'run_command' or 'run_command_with_systems_locale' helpers for shelling out. The run_command helper was removed in 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
  # In the cookbook search helper you need to use named parameters (key/value style) other than the first (type) and second (query string) values.
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_inline_resources became the default in Chef Infra Client 13+ and no longer needs
23
23
  # to be called in resources
24
24
  #
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith@chef.io>)
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ module RuboCop
19
+ module Cop
20
+ module Chef
21
+ module Deprecations
22
+ # Chef Infra Client 16.5 introduced performance enhancements to Ruby library loading. Due to the underlying implementation of Ruby's `.to_yaml` method, it does not automatically load the `yaml` library and `YAML.dump()` should be used instead to properly load the `yaml` library.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # {"foo" => "bar"}.to_yaml
28
+ #
29
+ # # good
30
+ # YAML.dump({"foo" => "bar"})
31
+ #
32
+ class UseYamlDump < Base
33
+ extend AutoCorrector
34
+
35
+ MSG = "Chef Infra Client 16.5 introduced performance enhancements to Ruby library loading. Due to the underlying implementation of Ruby's `.to_yaml` method, it does not automatically load the `yaml` library and `YAML.dump()` should be used instead to properly load the `yaml` library."
36
+ RESTRICT_ON_SEND = [:to_yaml].freeze
37
+
38
+ def on_send(node)
39
+ add_offense(node, message: MSG, severity: :warning) do |corrector|
40
+ corrector.replace(node, "YAML.dump(#{node.receiver.source})")
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ 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 supports property was removed in Chef Infra Client 13 in favor of individual 'manage_home' and 'non_unique' properties.
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
  # In Chef Infra Client 13 the "file" variable for use within the verify property was replaced with the "path" variable.
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
  # The `windows_feature` resource no longer supports setting the `install_method` to `:servermanagercmd`. `:windows_feature_dism` or `:windows_feature_powershell` should be used instead.
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 13 and later the `windows_package` resource's `installer_type` property must be a symbol.
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 :change action in the windows_task resource was removed when windows_task was added to Chef Infra Client 13+
23
23
  # The default action of :create should can now be used to create an update tasks.
24
24
  #
@@ -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 node['platform_version'] and node['kernel'] data instead of the deprecated Windows::VersionHelper helpers from the Windows cookbook.
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
  # Do not include the deprecated xml::ruby recipe to install the nokogiri gem. Chef Infra Client 12 and later ships with nokogiri included.
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 include the deprecated yum DNF compatibility recipe, which is no longer necessary
23
23
  # as Chef Infra Client includes DNF package support
24
24
  #
@@ -19,7 +19,7 @@
19
19
  module RuboCop
20
20
  module Cop
21
21
  module Chef
22
- module ChefEffortless
22
+ module Effortless
23
23
  # Policyfiles should be used for cookbook dependency solving instead of a Berkshelf Berksfile.
24
24
  #
25
25
  class Berksfile < Base
@@ -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
  # 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