cookstyle 7.32.8 → 8.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +25 -29
  3. data/LICENSE +201 -201
  4. data/bin/cookstyle +31 -31
  5. data/bin/cookstyle-profile +31 -31
  6. data/config/chefstyle.yml +892 -741
  7. data/config/cookstyle.yml +3273 -3131
  8. data/config/default.yml +2 -2
  9. data/cookstyle.gemspec +30 -30
  10. data/lib/cookstyle/chefstyle.rb +5 -5
  11. data/lib/cookstyle/version.rb +5 -5
  12. data/lib/cookstyle.rb +48 -45
  13. data/lib/rubocop/chef/autocorrect_helpers.rb +33 -33
  14. data/lib/rubocop/chef/cookbook_helpers.rb +127 -127
  15. data/lib/rubocop/chef/cookbook_only.rb +76 -76
  16. data/lib/rubocop/chef/platform_helpers.rb +72 -72
  17. data/lib/rubocop/chef.rb +11 -11
  18. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +61 -61
  19. data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +56 -56
  20. data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +69 -69
  21. data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +55 -55
  22. data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +77 -77
  23. data/lib/rubocop/cop/chef/correctness/invalid_cookbook_name.rb +47 -47
  24. data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +48 -48
  25. data/lib/rubocop/cop/chef/correctness/invalid_notification_resource.rb +59 -59
  26. data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +55 -55
  27. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +72 -72
  28. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +70 -70
  29. data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +57 -57
  30. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +89 -89
  31. data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +70 -70
  32. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +70 -70
  33. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +69 -69
  34. data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +48 -48
  35. data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +53 -53
  36. data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +67 -67
  37. data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +67 -67
  38. data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +67 -67
  39. data/lib/rubocop/cop/chef/correctness/metadata_malformed_version.rb +58 -58
  40. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +54 -54
  41. data/lib/rubocop/cop/chef/correctness/metadata_missing_version.rb +51 -51
  42. data/lib/rubocop/cop/chef/correctness/node_normal.rb +53 -53
  43. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +53 -53
  44. data/lib/rubocop/cop/chef/correctness/node_save.rb +46 -46
  45. data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +64 -64
  46. data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +48 -48
  47. data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +46 -46
  48. data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +54 -54
  49. data/lib/rubocop/cop/chef/correctness/powershell_file_exists.rb +50 -50
  50. data/lib/rubocop/cop/chef/correctness/property_without_type.rb +59 -59
  51. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +51 -51
  52. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +50 -50
  53. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +56 -56
  54. data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +52 -52
  55. data/lib/rubocop/cop/chef/correctness/service_resource.rb +56 -56
  56. data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +52 -52
  57. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +59 -59
  58. data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +57 -57
  59. data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +52 -52
  60. data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +55 -55
  61. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +57 -57
  62. data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +98 -98
  63. data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +83 -83
  64. data/lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb +55 -55
  65. data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +55 -55
  66. data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +56 -56
  67. data/lib/rubocop/cop/chef/deprecation/cheffile.rb +39 -39
  68. data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +49 -49
  69. data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +61 -61
  70. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +56 -56
  71. data/lib/rubocop/cop/chef/deprecation/delivery.rb +48 -48
  72. data/lib/rubocop/cop/chef/deprecation/depends_chef_nginx_cookbook.rb +54 -54
  73. data/lib/rubocop/cop/chef/deprecation/depends_chef_reporting_cookbook.rb +51 -51
  74. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +54 -54
  75. data/lib/rubocop/cop/chef/deprecation/depends_omnibus_updater_cookbook.rb +54 -54
  76. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +50 -50
  77. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +48 -48
  78. data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +129 -129
  79. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +78 -78
  80. data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +61 -61
  81. data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +64 -64
  82. data/lib/rubocop/cop/chef/deprecation/deprecated_sudo_actions.rb +65 -65
  83. data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +42 -42
  84. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb +67 -67
  85. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +69 -69
  86. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +42 -42
  87. data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +49 -49
  88. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +51 -51
  89. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +42 -42
  90. data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +50 -50
  91. data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +66 -66
  92. data/lib/rubocop/cop/chef/deprecation/foodcritic_file.rb +41 -41
  93. data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +43 -43
  94. data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +140 -140
  95. data/lib/rubocop/cop/chef/deprecation/hwrp_without_unified_mode_true.rb +86 -86
  96. data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +59 -59
  97. data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +56 -56
  98. data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +91 -91
  99. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +53 -53
  100. data/lib/rubocop/cop/chef/deprecation/librarian_chefspec.rb +42 -42
  101. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +46 -46
  102. data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +63 -63
  103. data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +60 -60
  104. data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +60 -60
  105. data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +65 -65
  106. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +80 -80
  107. data/lib/rubocop/cop/chef/deprecation/node_set.rb +54 -54
  108. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +54 -54
  109. data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +70 -70
  110. data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +67 -67
  111. data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +61 -61
  112. data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +63 -63
  113. data/lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb +53 -53
  114. data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +59 -59
  115. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +53 -53
  116. data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +48 -48
  117. data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +46 -46
  118. data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +84 -84
  119. data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +40 -40
  120. data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +50 -50
  121. data/lib/rubocop/cop/chef/deprecation/resource_without_unified_mode_true.rb +87 -87
  122. data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +56 -56
  123. data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +62 -62
  124. data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +63 -63
  125. data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +136 -136
  126. data/lib/rubocop/cop/chef/deprecation/use_automatic_resource_name.rb +52 -52
  127. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +57 -57
  128. data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +47 -47
  129. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +71 -71
  130. data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +57 -57
  131. data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +58 -58
  132. data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +60 -60
  133. data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +83 -83
  134. data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +71 -71
  135. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +51 -51
  136. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +53 -53
  137. data/lib/rubocop/cop/chef/effortless/berksfile.rb +39 -39
  138. data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +87 -87
  139. data/lib/rubocop/cop/chef/effortless/data_bags.rb +40 -40
  140. data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +47 -47
  141. data/lib/rubocop/cop/chef/effortless/node_environment.rb +45 -45
  142. data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +44 -44
  143. data/lib/rubocop/cop/chef/effortless/node_roles.rb +45 -45
  144. data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +43 -43
  145. data/lib/rubocop/cop/chef/effortless/search_used.rb +40 -40
  146. data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +57 -57
  147. data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +77 -77
  148. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +54 -54
  149. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +70 -70
  150. data/lib/rubocop/cop/chef/modernize/build_essential.rb +55 -55
  151. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +60 -60
  152. data/lib/rubocop/cop/chef/modernize/chef_15_resources.rb +57 -57
  153. data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +63 -63
  154. data/lib/rubocop/cop/chef/modernize/class_eval_action_class.rb +63 -63
  155. data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +53 -53
  156. data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +55 -55
  157. data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +121 -121
  158. data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +50 -50
  159. data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +59 -59
  160. data/lib/rubocop/cop/chef/modernize/declare_action_class.rb +54 -54
  161. data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +74 -74
  162. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +54 -54
  163. data/lib/rubocop/cop/chef/modernize/definitions.rb +36 -36
  164. data/lib/rubocop/cop/chef/modernize/depends_chef_vault_cookbook.rb +54 -54
  165. data/lib/rubocop/cop/chef/modernize/depends_chocolatey_cookbooks.rb +55 -55
  166. data/lib/rubocop/cop/chef/modernize/depends_kernel_module_cookbook.rb +54 -54
  167. data/lib/rubocop/cop/chef/modernize/depends_locale_cookbook.rb +54 -54
  168. data/lib/rubocop/cop/chef/modernize/depends_openssl_cookbook.rb +54 -54
  169. data/lib/rubocop/cop/chef/modernize/depends_timezone_lwrp_cookbook.rb +54 -54
  170. data/lib/rubocop/cop/chef/modernize/depends_windows_firewall_cookbook.rb +54 -54
  171. data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +54 -54
  172. data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +55 -55
  173. data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +52 -52
  174. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +81 -81
  175. data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +67 -67
  176. data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +76 -76
  177. data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +70 -70
  178. data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +83 -83
  179. data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +46 -46
  180. data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +48 -48
  181. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +83 -83
  182. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +70 -70
  183. data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +58 -58
  184. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +51 -51
  185. data/lib/rubocop/cop/chef/modernize/node_init_package.rb +89 -89
  186. data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +57 -57
  187. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +47 -47
  188. data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +54 -54
  189. data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +60 -60
  190. data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +51 -51
  191. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +50 -50
  192. data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +68 -68
  193. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +53 -53
  194. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +56 -56
  195. data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +56 -56
  196. data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +68 -68
  197. data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +63 -63
  198. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +49 -49
  199. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +66 -66
  200. data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +94 -94
  201. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +77 -77
  202. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +63 -63
  203. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +52 -52
  204. data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +53 -53
  205. data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +46 -46
  206. data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +60 -60
  207. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +58 -58
  208. data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +63 -63
  209. data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +55 -55
  210. data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +51 -51
  211. data/lib/rubocop/cop/chef/modernize/use_chef_language_cloud_helpers.rb +93 -93
  212. data/lib/rubocop/cop/chef/modernize/use_chef_language_env_helpers.rb +69 -69
  213. data/lib/rubocop/cop/chef/modernize/use_chef_language_systemd_helper.rb +60 -60
  214. data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +113 -113
  215. data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +60 -60
  216. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +58 -58
  217. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +52 -52
  218. data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +92 -92
  219. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +46 -46
  220. data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +59 -59
  221. data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +60 -60
  222. data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +65 -65
  223. data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +60 -60
  224. data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +52 -52
  225. data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +46 -46
  226. data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +60 -60
  227. data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +68 -68
  228. data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +46 -46
  229. data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +46 -46
  230. data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +58 -58
  231. data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +81 -81
  232. data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +65 -65
  233. data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +59 -59
  234. data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +61 -61
  235. data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +46 -46
  236. data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +47 -47
  237. data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +46 -46
  238. data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +52 -52
  239. data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +50 -50
  240. data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +64 -64
  241. data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +46 -46
  242. data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +60 -60
  243. data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +67 -67
  244. data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +116 -116
  245. data/lib/rubocop/cop/chef/security/ssh_private_key.rb +49 -49
  246. data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +50 -50
  247. data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +47 -47
  248. data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +55 -55
  249. data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +52 -52
  250. data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +60 -60
  251. data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +62 -62
  252. data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +542 -542
  253. data/lib/rubocop/cop/chef/style/attribute_keys.rb +94 -95
  254. data/lib/rubocop/cop/chef/style/chef_whaaat.rb +49 -49
  255. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +42 -42
  256. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +101 -101
  257. data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +50 -50
  258. data/lib/rubocop/cop/chef/style/comments_format.rb +71 -71
  259. data/lib/rubocop/cop/chef/style/file_mode.rb +86 -86
  260. data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +59 -59
  261. data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +58 -58
  262. data/lib/rubocop/cop/chef/style/negating_only_if.rb +69 -69
  263. data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +70 -70
  264. data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +89 -89
  265. data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +53 -53
  266. data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +103 -103
  267. data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +100 -100
  268. data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +86 -86
  269. data/lib/rubocop/cop/chefstyle/ruby/gemspec_license.rb +55 -55
  270. data/lib/rubocop/cop/chefstyle/ruby/gemspec_require_rubygems.rb +46 -46
  271. data/lib/rubocop/cop/chefstyle/ruby/legacy_powershell_out_methods.rb +36 -36
  272. data/lib/rubocop/cop/chefstyle/ruby/require_net_https.rb +54 -54
  273. data/lib/rubocop/cop/chefstyle/ruby/unless_defined_require.rb +122 -122
  274. data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +53 -53
  275. data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +47 -47
  276. data/lib/rubocop/cop/target_chef_version.rb +22 -22
  277. data/lib/rubocop/monkey_patches/allow_invalid_ruby.rb +28 -28
  278. data/lib/rubocop/monkey_patches/base.rb +11 -11
  279. data/lib/rubocop/monkey_patches/config.rb +15 -15
  280. data/lib/rubocop/monkey_patches/directive_comment.rb +12 -12
  281. data/lib/rubocop/monkey_patches/registry_cop.rb +15 -15
  282. data/lib/rubocop/monkey_patches/team.rb +25 -24
  283. metadata +9 -9
@@ -1,77 +1,77 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright:: 2019, Chef Software, Inc.
4
- # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
- # It is not longer necessary respond_to?(:foo) or defined?(foo) in metadata. This was used to support new metadata methods in Chef 11 and early versions of Chef 12.
23
- #
24
- # @example
25
- #
26
- # ### incorrect
27
- # chef_version '>= 13' if respond_to?(:chef_version)
28
- # chef_version '>= 13' if defined?(chef_version)
29
- # chef_version '>= 13' unless defined?(Ridley::Chef::Cookbook::Metadata)
30
- # if defined(chef_version)
31
- # chef_version '>= 13'
32
- # end
33
- #
34
- # ### correct
35
- # chef_version '>= 13'
36
- #
37
- class RespondToInMetadata < Base
38
- extend AutoCorrector
39
- extend TargetChefVersion
40
-
41
- minimum_target_chef_version '12.15'
42
-
43
- MSG = 'It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later'
44
-
45
- def on_if(node)
46
- if_respond_to?(node) do
47
- add_offense(node, severity: :refactor) do |corrector|
48
- # When the if statement is if modifier like `foo if respond_to?(:foo)` then
49
- # node.if_branch is the actual method call we want to extract.
50
- # If a series of metadata methods are wrapped in an if statement then the content we want
51
- # is a block under the if statement and node.parent.if_branch can get us that block
52
- node = node.parent unless node.if_type?
53
-
54
- corrector.replace(node, node.if_branch.source)
55
- end
56
- end
57
- end
58
-
59
- def on_defined?(node)
60
- # When the if statement is if modifier like `foo if respond_to?(:foo)` then
61
- # node.if_branch is the actual method call we want to extract.
62
- # If a series of metadata methods are wrapped in an if statement then the content we want
63
- # is a block under the if statement and node.parent.if_branch can get us that block
64
- node = node.parent if node.parent.conditional? # we want the whole conditional statement
65
- add_offense(node, severity: :refactor) do |corrector|
66
- corrector.replace(node, node.if_branch.source)
67
- end
68
- end
69
-
70
- def_node_matcher :if_respond_to?, <<~PATTERN
71
- (if (send nil? :respond_to? _ ) ... )
72
- PATTERN
73
- end
74
- end
75
- end
76
- end
77
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2019, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
+ # It is not longer necessary respond_to?(:foo) or defined?(foo) in metadata. This was used to support new metadata methods in Chef 11 and early versions of Chef 12.
23
+ #
24
+ # @example
25
+ #
26
+ # ### incorrect
27
+ # chef_version '>= 13' if respond_to?(:chef_version)
28
+ # chef_version '>= 13' if defined?(chef_version)
29
+ # chef_version '>= 13' unless defined?(Ridley::Chef::Cookbook::Metadata)
30
+ # if defined(chef_version)
31
+ # chef_version '>= 13'
32
+ # end
33
+ #
34
+ # ### correct
35
+ # chef_version '>= 13'
36
+ #
37
+ class RespondToInMetadata < Base
38
+ extend AutoCorrector
39
+ extend TargetChefVersion
40
+
41
+ minimum_target_chef_version '12.15'
42
+
43
+ MSG = 'It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later'
44
+
45
+ def on_if(node)
46
+ if_respond_to?(node) do
47
+ add_offense(node, severity: :refactor) do |corrector|
48
+ # When the if statement is if modifier like `foo if respond_to?(:foo)` then
49
+ # node.if_branch is the actual method call we want to extract.
50
+ # If a series of metadata methods are wrapped in an if statement then the content we want
51
+ # is a block under the if statement and node.parent.if_branch can get us that block
52
+ node = node.parent unless node.if_type?
53
+
54
+ corrector.replace(node, node.if_branch.source)
55
+ end
56
+ end
57
+ end
58
+
59
+ def on_defined?(node)
60
+ # When the if statement is if modifier like `foo if respond_to?(:foo)` then
61
+ # node.if_branch is the actual method call we want to extract.
62
+ # If a series of metadata methods are wrapped in an if statement then the content we want
63
+ # is a block under the if statement and node.parent.if_branch can get us that block
64
+ node = node.parent if node.parent.conditional? # we want the whole conditional statement
65
+ add_offense(node, severity: :refactor) do |corrector|
66
+ corrector.replace(node, node.if_branch.source)
67
+ end
68
+ end
69
+
70
+ def_node_matcher :if_respond_to?, <<~PATTERN
71
+ (if (send nil? :respond_to? _ ) ... )
72
+ PATTERN
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -1,63 +1,63 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright:: 2019-2020, Chef Software, Inc.
4
- # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
- # In Chef Infra Client 12+ is is no longer necessary to gate the use of the provides methods in resources with `if respond_to?(:provides)` or `if defined? provides`.
23
- #
24
- # @example
25
- #
26
- # ### incorrect
27
- # provides :foo if respond_to?(:provides)
28
- #
29
- # provides :foo if defined? provides
30
- #
31
- # ### correct
32
- # provides :foo
33
- #
34
- class RespondToProvides < Base
35
- extend AutoCorrector
36
-
37
- MSG = 'Using `respond_to?(:provides)` or `if defined? provides` in resources is no longer necessary in Chef Infra Client 12+.'
38
-
39
- def on_if(node)
40
- if_respond_to_provides?(node) do
41
- add_offense(node, severity: :refactor) do |corrector|
42
- corrector.replace(node, node.children[1].source)
43
- end
44
- end
45
- end
46
-
47
- def_node_matcher :if_respond_to_provides?, <<~PATTERN
48
- (if
49
- {
50
- (send nil? :respond_to?
51
- (sym :provides))
52
-
53
- (:defined?
54
- (send nil? :provides))
55
- }
56
- (send nil? :provides
57
- (sym _)) ... )
58
- PATTERN
59
- end
60
- end
61
- end
62
- end
63
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2019-2020, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
+ # In Chef Infra Client 12+ is is no longer necessary to gate the use of the provides methods in resources with `if respond_to?(:provides)` or `if defined? provides`.
23
+ #
24
+ # @example
25
+ #
26
+ # ### incorrect
27
+ # provides :foo if respond_to?(:provides)
28
+ #
29
+ # provides :foo if defined? provides
30
+ #
31
+ # ### correct
32
+ # provides :foo
33
+ #
34
+ class RespondToProvides < Base
35
+ extend AutoCorrector
36
+
37
+ MSG = 'Using `respond_to?(:provides)` or `if defined? provides` in resources is no longer necessary in Chef Infra Client 12+.'
38
+
39
+ def on_if(node)
40
+ if_respond_to_provides?(node) do
41
+ add_offense(node, severity: :refactor) do |corrector|
42
+ corrector.replace(node, node.children[1].source)
43
+ end
44
+ end
45
+ end
46
+
47
+ def_node_matcher :if_respond_to_provides?, <<~PATTERN
48
+ (if
49
+ {
50
+ (send nil? :respond_to?
51
+ (sym :provides))
52
+
53
+ (:defined?
54
+ (send nil? :provides))
55
+ }
56
+ (send nil? :provides
57
+ (sym _)) ... )
58
+ PATTERN
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,52 +1,52 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright:: 2019, Chef Software, Inc.
4
- # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
- # Chef Infra Client 12.5 introduced the resource_name method for resources. Many cookbooks used respond_to?(:resource_name) to provide backwards compatibility with older chef-client releases. This backwards compatibility is no longer necessary.
23
- #
24
- # @example
25
- #
26
- # ### incorrect
27
- # resource_name :foo if respond_to?(:resource_name)
28
- #
29
- # ### correct
30
- # resource_name :foo
31
- #
32
- class RespondToResourceName < Base
33
- extend AutoCorrector
34
-
35
- MSG = 'respond_to?(:resource_name) in resources is no longer necessary in Chef Infra Client 12.5+'
36
-
37
- def on_if(node)
38
- if_respond_to_resource_name?(node) do
39
- add_offense(node, severity: :refactor) do |corrector|
40
- corrector.replace(node, node.children[1].source)
41
- end
42
- end
43
- end
44
-
45
- def_node_matcher :if_respond_to_resource_name?, <<~PATTERN
46
- (if (send nil? :respond_to? ( :sym :resource_name ) ) ... )
47
- PATTERN
48
- end
49
- end
50
- end
51
- end
52
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2019, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
+ # Chef Infra Client 12.5 introduced the resource_name method for resources. Many cookbooks used respond_to?(:resource_name) to provide backwards compatibility with older chef-client releases. This backwards compatibility is no longer necessary.
23
+ #
24
+ # @example
25
+ #
26
+ # ### incorrect
27
+ # resource_name :foo if respond_to?(:resource_name)
28
+ #
29
+ # ### correct
30
+ # resource_name :foo
31
+ #
32
+ class RespondToResourceName < Base
33
+ extend AutoCorrector
34
+
35
+ MSG = 'respond_to?(:resource_name) in resources is no longer necessary in Chef Infra Client 12.5+'
36
+
37
+ def on_if(node)
38
+ if_respond_to_resource_name?(node) do
39
+ add_offense(node, severity: :refactor) do |corrector|
40
+ corrector.replace(node, node.children[1].source)
41
+ end
42
+ end
43
+ end
44
+
45
+ def_node_matcher :if_respond_to_resource_name?, <<~PATTERN
46
+ (if (send nil? :respond_to? ( :sym :resource_name ) ) ... )
47
+ PATTERN
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,53 +1,53 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright:: 2019, Chef Software, Inc.
4
- # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
- # The sc_windows resource from the sc cookbook allowed for the creation of windows services on legacy Chef Infra Client releases. Chef Infra Client 14.0 and later includes :create, :delete, and :configure actions without the need for additional cookbook dependencies. See the windows_service documentation at https://docs.chef.io/resources/windows_service for additional details on creating services with the windows_service resource.
23
- #
24
- # @example
25
- #
26
- # ### incorrect
27
- # sc_windows 'chef-client' do
28
- # path "C:\\opscode\\chef\\bin"
29
- # action :create
30
- # end
31
- #
32
- # ### correct
33
- # windows_service 'chef-client' do
34
- # action :create
35
- # binary_path_name "C:\\opscode\\chef\\bin"
36
- # end
37
- #
38
- class WindowsScResource < Cop
39
- extend TargetChefVersion
40
-
41
- minimum_target_chef_version '14.0'
42
-
43
- MSG = 'Chef Infra Client 14.0 and later includes :create, :delete, and :configure actions without the need for the sc cookbook dependency. See the windows_service documentation at https://docs.chef.io/resources/windows_service for additional details.'
44
- RESTRICT_ON_SEND = [:sc_windows].freeze
45
-
46
- def on_send(node)
47
- add_offense(node, severity: :refactor)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2019, Chef Software, Inc.
4
+ # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
+ # The sc_windows resource from the sc cookbook allowed for the creation of windows services on legacy Chef Infra Client releases. Chef Infra Client 14.0 and later includes :create, :delete, and :configure actions without the need for additional cookbook dependencies. See the windows_service documentation at https://docs.chef.io/resources/windows_service for additional details on creating services with the windows_service resource.
23
+ #
24
+ # @example
25
+ #
26
+ # ### incorrect
27
+ # sc_windows 'chef-client' do
28
+ # path "C:\\opscode\\chef\\bin"
29
+ # action :create
30
+ # end
31
+ #
32
+ # ### correct
33
+ # windows_service 'chef-client' do
34
+ # action :create
35
+ # binary_path_name "C:\\opscode\\chef\\bin"
36
+ # end
37
+ #
38
+ class WindowsScResource < Base
39
+ extend TargetChefVersion
40
+
41
+ minimum_target_chef_version '14.0'
42
+
43
+ MSG = 'Chef Infra Client 14.0 and later includes :create, :delete, and :configure actions without the need for the sc cookbook dependency. See the windows_service documentation at https://docs.chef.io/resources/windows_service for additional details.'
44
+ RESTRICT_ON_SEND = [:sc_windows].freeze
45
+
46
+ def on_send(node)
47
+ add_offense(node, severity: :refactor)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,46 +1,46 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright:: 2019, Chef Software Inc.
4
- # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
- # Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive
23
- #
24
- # @example
25
- #
26
- # ### incorrect
27
- # seven_zip_archive "C:\file.zip" do
28
- # path 'C:\expand_here'
29
- # end
30
- #
31
- class SevenZipArchiveResource < Base
32
- extend TargetChefVersion
33
-
34
- minimum_target_chef_version '15.0'
35
-
36
- MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive'
37
- RESTRICT_ON_SEND = [:seven_zip_archive].freeze
38
-
39
- def on_send(node)
40
- add_offense(node, severity: :refactor)
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2019, Chef Software Inc.
4
+ # Author:: Tim Smith (<tsmith84@gmail.com>)
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 Modernize
22
+ # Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive
23
+ #
24
+ # @example
25
+ #
26
+ # ### incorrect
27
+ # seven_zip_archive "C:\file.zip" do
28
+ # path 'C:\expand_here'
29
+ # end
30
+ #
31
+ class SevenZipArchiveResource < Base
32
+ extend TargetChefVersion
33
+
34
+ minimum_target_chef_version '15.0'
35
+
36
+ MSG = 'Use the archive_file resource built into Chef Infra Client 15+ instead of the seven_zip_archive'
37
+ RESTRICT_ON_SEND = [:seven_zip_archive].freeze
38
+
39
+ def on_send(node)
40
+ add_offense(node, severity: :refactor)
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end