cookstyle 6.11.4 → 6.12.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -0
  3. data/bin/cookstyle +1 -0
  4. data/bin/cookstyle-profile +31 -0
  5. data/config/cookstyle.yml +27 -0
  6. data/config/disable_all.yml +12 -0
  7. data/config/upstream.yml +57 -6
  8. data/cookstyle.gemspec +1 -0
  9. data/lib/cookstyle.rb +1 -0
  10. data/lib/cookstyle/version.rb +3 -2
  11. data/lib/rubocop/chef.rb +1 -0
  12. data/lib/rubocop/chef/autocorrect_helpers.rb +1 -0
  13. data/lib/rubocop/chef/cookbook_helpers.rb +1 -0
  14. data/lib/rubocop/chef/platform_helpers.rb +1 -0
  15. data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +2 -1
  16. data/lib/rubocop/cop/chef/correctness/cb_depends_on_self.rb +2 -1
  17. data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +2 -1
  18. data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +2 -1
  19. data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +2 -1
  20. data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +2 -1
  21. data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +2 -1
  22. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +2 -1
  23. data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +2 -1
  24. data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +2 -1
  25. data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +2 -1
  26. data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +2 -1
  27. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +2 -1
  28. data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +2 -1
  29. data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +2 -1
  30. data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +2 -1
  31. data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +1 -0
  32. data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +2 -1
  33. data/lib/rubocop/cop/chef/correctness/node_normal.rb +2 -1
  34. data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +2 -1
  35. data/lib/rubocop/cop/chef/correctness/node_save.rb +2 -1
  36. data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +2 -1
  37. data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +2 -1
  38. data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +2 -1
  39. data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +2 -1
  40. data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +2 -1
  41. data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +2 -1
  42. data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +2 -1
  43. data/lib/rubocop/cop/chef/correctness/service_resource.rb +2 -1
  44. data/lib/rubocop/cop/chef/correctness/tmp_path.rb +2 -1
  45. data/lib/rubocop/cop/chef/deprecation/ use_automatic_resource_name.rb +52 -0
  46. data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +55 -0
  47. data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +2 -1
  48. data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +2 -1
  49. data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +2 -1
  50. data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +2 -1
  51. data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +60 -0
  52. data/lib/rubocop/cop/chef/deprecation/cheffile.rb +2 -1
  53. data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +2 -1
  54. data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +2 -1
  55. data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +2 -1
  56. data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +2 -1
  57. data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +2 -1
  58. data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +2 -1
  59. data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +2 -1
  60. data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +2 -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 +2 -1
  63. data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +2 -1
  64. data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +2 -1
  65. data/lib/rubocop/cop/chef/deprecation/easy_install.rb +2 -1
  66. data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +2 -1
  67. data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +2 -1
  68. data/lib/rubocop/cop/chef/deprecation/erl_call.rb +2 -1
  69. data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +2 -1
  70. data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +2 -1
  71. data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +2 -1
  72. data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +3 -2
  73. data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +2 -1
  74. data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +2 -1
  75. data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +2 -1
  76. data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +2 -1
  77. data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +8 -21
  78. data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +2 -1
  79. data/lib/rubocop/cop/chef/deprecation/node_set.rb +2 -1
  80. data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +2 -1
  81. data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +2 -1
  82. data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +2 -1
  83. data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +2 -1
  84. data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +2 -1
  85. data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +2 -1
  86. data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +2 -1
  87. data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +2 -1
  88. data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +2 -1
  89. data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +2 -1
  90. data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +2 -1
  91. data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +2 -1
  92. data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +2 -1
  93. data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +2 -1
  94. data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +2 -1
  95. data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +2 -1
  96. data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +2 -1
  97. data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +2 -1
  98. data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +2 -1
  99. data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +2 -1
  100. data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +2 -1
  101. data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +2 -1
  102. data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +2 -1
  103. data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +2 -1
  104. data/lib/rubocop/cop/chef/effortless/berksfile.rb +2 -1
  105. data/lib/rubocop/cop/chef/effortless/data_bags.rb +2 -1
  106. data/lib/rubocop/cop/chef/effortless/node_environment.rb +2 -1
  107. data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +2 -1
  108. data/lib/rubocop/cop/chef/effortless/node_roles.rb +2 -1
  109. data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +2 -1
  110. data/lib/rubocop/cop/chef/effortless/search_used.rb +2 -1
  111. data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +2 -1
  112. data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +2 -1
  113. data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +2 -1
  114. data/lib/rubocop/cop/chef/modernize/build_essential.rb +2 -1
  115. data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +2 -1
  116. data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +2 -1
  117. data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +2 -1
  118. data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +2 -1
  119. data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +2 -1
  120. data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +2 -1
  121. data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +2 -1
  122. data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +2 -1
  123. data/lib/rubocop/cop/chef/modernize/definitions.rb +2 -1
  124. data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +2 -1
  125. data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +2 -1
  126. data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +2 -1
  127. data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +3 -2
  128. data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +2 -1
  129. data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +2 -1
  130. data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +2 -1
  131. data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +2 -1
  132. data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +2 -1
  133. data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +2 -1
  134. data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +2 -1
  135. data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +2 -1
  136. data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +2 -1
  137. data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +2 -1
  138. data/lib/rubocop/cop/chef/modernize/node_init_package.rb +2 -1
  139. data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +2 -1
  140. data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +2 -1
  141. data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +2 -1
  142. data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +2 -1
  143. data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +2 -1
  144. data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +2 -1
  145. data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +2 -1
  146. data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +2 -1
  147. data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +2 -1
  148. data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +2 -1
  149. data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +2 -1
  150. data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +2 -1
  151. data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +2 -1
  152. data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +2 -1
  153. data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +2 -1
  154. data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +2 -1
  155. data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +2 -1
  156. data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +2 -1
  157. data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +2 -1
  158. data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +2 -1
  159. data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +2 -1
  160. data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +2 -1
  161. data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +2 -1
  162. data/lib/rubocop/cop/chef/modernize/systctl_param_resource.rb +2 -1
  163. data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +2 -1
  164. data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +2 -1
  165. data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +2 -1
  166. data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +2 -1
  167. data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +2 -1
  168. data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +2 -1
  169. data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +2 -1
  170. data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +2 -1
  171. data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +2 -1
  172. data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +2 -1
  173. data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +2 -1
  174. data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +2 -1
  175. data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +2 -1
  176. data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +2 -1
  177. data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +2 -1
  178. data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +2 -1
  179. data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +2 -1
  180. data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +2 -1
  181. data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +2 -1
  182. data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +2 -1
  183. data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +2 -1
  184. data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +2 -1
  185. data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +2 -1
  186. data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +2 -1
  187. data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +2 -1
  188. data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +2 -1
  189. data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +2 -1
  190. data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +2 -1
  191. data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +2 -1
  192. data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +2 -1
  193. data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +2 -1
  194. data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +2 -1
  195. data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +2 -1
  196. data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +2 -1
  197. data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +2 -1
  198. data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +2 -1
  199. data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +2 -1
  200. data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +2 -1
  201. data/lib/rubocop/cop/chef/style/attribute_keys.rb +2 -1
  202. data/lib/rubocop/cop/chef/style/chef_whaaat.rb +2 -1
  203. data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +2 -1
  204. data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +2 -1
  205. data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +2 -1
  206. data/lib/rubocop/cop/chef/style/comments_format.rb +2 -1
  207. data/lib/rubocop/cop/chef/style/file_mode.rb +2 -1
  208. data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +2 -1
  209. data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +2 -1
  210. data/lib/rubocop/cop/chef/style/negating_only_if.rb +2 -1
  211. data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +2 -1
  212. data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +2 -1
  213. data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +2 -1
  214. data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +3 -3
  215. data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +2 -1
  216. data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +3 -3
  217. data/lib/rubocop/monkey_patches/comment_config.rb +1 -0
  218. data/lib/rubocop/monkey_patches/cop.rb +1 -0
  219. data/lib/rubocop/monkey_patches/registry_cop.rb +1 -0
  220. metadata +8 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4593dcbd93b8d0d668e0fe5e5551147db850c38deabcccf698b3f8ea391c281d
4
- data.tar.gz: ef4557926f01a865f3ced43e0ad7a464659f597f4f6ffc8104c2f978d959324a
3
+ metadata.gz: f2a5a64113481754a334b8f95b80e976875672ca750c506dbdb586c2ccbab598
4
+ data.tar.gz: 0ff373380e2f388e723a25b6ce1fae3e2447487cfe4c3692f3151e81f412a67a
5
5
  SHA512:
6
- metadata.gz: e3d3b5ed0ccd193ae9aad8d8e44a03935010a841c3cf551ce070c557f2f27e93ba2ffa2082042741f481ccabb7abf68e83d958ed06e3c5751556b7f0528aa3ae
7
- data.tar.gz: e48e47c6d27316fe8054ecc45164aedf0385be8d8e8e1077781dd3ef9948ccb756864bb6adad422941f061232f0ca0d3c6c41679166bcf345dfa29fc71f79ed3
6
+ metadata.gz: e4b62f764012b0f77378a0fa3d7b97abc249ece2fcc464234ce8c0b68d3bc41692324ce0557652f084a3d923f834973f660aa060206ab9d520fb09bbe75bc3de
7
+ data.tar.gz: 6f3a5b63437a4dd752b211959915744fa6c6b7cce86c6da0711f950bcba8f1e3d8d40c3b661b19b4f2f5a871d3801316d12d39a29b367c097740852f704e78ee
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  source 'https://rubygems.org'
2
3
 
3
4
  # Specify your gem's dependencies in cookstyle.gemspec
@@ -15,6 +16,11 @@ group :docs do
15
16
  gem 'yard'
16
17
  end
17
18
 
19
+ group :profiling do
20
+ gem 'stackprof'
21
+ gem 'memory_profiler'
22
+ end
23
+
18
24
  group :development do
19
25
  gem 'adamantium'
20
26
  gem 'anima'
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- encoding: utf-8 -*-
3
+ # frozen_string_literal: true
3
4
 
4
5
  $LOAD_PATH.unshift File.join(File.dirname(__FILE__), %w(.. lib))
5
6
 
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ if ARGV.include?('-h') || ARGV.include?('--help')
5
+ puts 'Usage: same as main `cookstyle` command but gathers profiling info'
6
+ puts 'Additional option: `--memory` to print memory usage'
7
+ exit(0)
8
+ end
9
+ with_mem = ARGV.delete('--memory')
10
+
11
+ require 'stackprof'
12
+ if with_mem
13
+ require 'memory_profiler'
14
+ MemoryProfiler.start
15
+ end
16
+ StackProf.start
17
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
18
+ begin
19
+ load "#{__dir__}/cookstyle"
20
+ ensure
21
+ delta = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
22
+ puts "Finished in #{delta.round(1)} seconds"
23
+ StackProf.stop
24
+ if with_mem
25
+ puts 'Building memory report...'
26
+ report = MemoryProfiler.stop
27
+ end
28
+ Dir.mkdir('tmp') unless File.exist?('tmp')
29
+ StackProf.results('tmp/stackprof.dump')
30
+ report&.pretty_print(scale_bytes: true)
31
+ end
@@ -1020,6 +1020,33 @@ ChefDeprecations/ResourceUsesOnlyResourceName:
1020
1020
  - '**/libraries/*.rb'
1021
1021
  - '**/resources/*.rb'
1022
1022
 
1023
+ ChefDeprecations/ChefDKGenerators:
1024
+ Description: Chef Workstation 0.8 and later renamed the ChefDK module used when writing custom cookbook generators from ChefDK to ChefCLI. For compatibility with the latest Chef Workstation releases you'll need to reference the new class names.
1025
+ StyleGuide: '#chefdkgenerators'
1026
+ Enabled: true
1027
+ VersionAdded: '6.12.0'
1028
+ Exclude:
1029
+ - '**/metadata.rb'
1030
+ - '**/Berksfile'
1031
+
1032
+ ChefDeprecations/ChefHandlerRecipe:
1033
+ Description: There is no need to include the empty and deprecated chef_handler::default recipe in order to use the chef_handler resource.
1034
+ StyleGuide: '#chefhandlerrecipe'
1035
+ Enabled: true
1036
+ VersionAdded: '6.12.0'
1037
+ Exclude:
1038
+ - '**/metadata.rb'
1039
+ - '**/Berksfile'
1040
+
1041
+ ChefDeprecations/UseAutomaticResourceName:
1042
+ Description: The use_automatic_resource_name method was removed in Chef Infra Client 16. The resource name/provides should be set explicitly instead.
1043
+ StyleGuide: '#useautomaticresourcename'
1044
+ Enabled: true
1045
+ VersionAdded: '6.12.0'
1046
+ Include:
1047
+ - '**/libraries/*.rb'
1048
+ - '**/resources/*.rb'
1049
+
1023
1050
  ###############################
1024
1051
  # ChefModernize: Cleaning up legacy code and using new built-in resources
1025
1052
  ###############################
@@ -223,6 +223,8 @@ Lint/DisjunctiveAssignmentInConstructor:
223
223
  Enabled: false
224
224
  Lint/DuplicateCaseCondition:
225
225
  Enabled: false
226
+ Lint/DuplicateElsifCondition:
227
+ Enabled: false
226
228
  Lint/DuplicateHashKey:
227
229
  Enabled: false
228
230
  Lint/DuplicateMethods:
@@ -427,6 +429,8 @@ Style/Alias:
427
429
  Enabled: false
428
430
  Style/AndOr:
429
431
  Enabled: false
432
+ Style/ArrayCoercion:
433
+ Enabled: false
430
434
  Style/ArrayJoin:
431
435
  Enabled: false
432
436
  Style/AsciiComments:
@@ -447,6 +451,8 @@ Style/BlockDelimiters:
447
451
  Enabled: false
448
452
  Style/CaseEquality:
449
453
  Enabled: false
454
+ Style/CaseLikeIf:
455
+ Enabled: false
450
456
  Style/CharacterLiteral:
451
457
  Enabled: false
452
458
  Style/ClassAndModuleChildren:
@@ -533,8 +539,12 @@ Style/GlobalVars:
533
539
  Enabled: false
534
540
  Style/GuardClause:
535
541
  Enabled: false
542
+ Style/HashAsLastArrayItem:
543
+ Enabled: false
536
544
  Style/HashEachMethods:
537
545
  Enabled: false
546
+ Style/HashLikeCase:
547
+ Enabled: false
538
548
  Style/HashSyntax:
539
549
  Enabled: false
540
550
  Style/HashTransformKeys:
@@ -575,6 +585,8 @@ Style/RedundantAssignment:
575
585
  Enabled: false
576
586
  Style/RedundantFetchBlock:
577
587
  Enabled: false
588
+ Style/RedundantFileExtensionInRequire:
589
+ Enabled: false
578
590
  Style/MethodCalledOnDoEndBlock:
579
591
  Enabled: false
580
592
  Style/MethodDefParentheses:
@@ -1397,12 +1397,18 @@ Lint/DisjunctiveAssignmentInConstructor:
1397
1397
  Enabled: true
1398
1398
  Safe: false
1399
1399
  VersionAdded: '0.62'
1400
+ VersionChanged: '0.88'
1400
1401
 
1401
1402
  Lint/DuplicateCaseCondition:
1402
1403
  Description: 'Do not repeat values in case conditionals.'
1403
1404
  Enabled: true
1404
1405
  VersionAdded: '0.45'
1405
1406
 
1407
+ Lint/DuplicateElsifCondition:
1408
+ Description: 'Do not repeat conditions used in if `elsif`.'
1409
+ Enabled: 'pending'
1410
+ VersionAdded: '0.88'
1411
+
1406
1412
  Lint/DuplicateHashKey:
1407
1413
  Description: 'Check for duplicate keys in hash literals.'
1408
1414
  Enabled: true
@@ -2179,17 +2185,18 @@ Naming/MethodParameterName:
2179
2185
  AllowNamesEndingInNumbers: true
2180
2186
  # Allowed names that will not register an offense
2181
2187
  AllowedNames:
2182
- - io
2183
- - id
2184
- - to
2188
+ - at
2185
2189
  - by
2186
- - 'on'
2190
+ - db
2191
+ - id
2187
2192
  - in
2188
- - at
2193
+ - io
2189
2194
  - ip
2190
- - db
2195
+ - of
2196
+ - 'on'
2191
2197
  - os
2192
2198
  - pp
2199
+ - to
2193
2200
  # Forbidden names that will register an offense
2194
2201
  ForbiddenNames: []
2195
2202
 
@@ -2340,6 +2347,14 @@ Style/AndOr:
2340
2347
  - always
2341
2348
  - conditionals
2342
2349
 
2350
+ Style/ArrayCoercion:
2351
+ Description: >-
2352
+ Use Array() instead of explicit Array check or [*var], when dealing
2353
+ with a variable you want to treat as an Array, but you're not certain it's an array.
2354
+ StyleGuide: '#array-coercion'
2355
+ Enabled: 'pending'
2356
+ VersionAdded: '0.88'
2357
+
2343
2358
  Style/ArrayJoin:
2344
2359
  Description: 'Use Array#join instead of Array#*.'
2345
2360
  StyleGuide: '#array-join'
@@ -2522,6 +2537,12 @@ Style/CaseEquality:
2522
2537
  # String === "string"
2523
2538
  AllowOnConstant: false
2524
2539
 
2540
+ Style/CaseLikeIf:
2541
+ Description: 'This cop identifies places where `if-elsif` constructions can be replaced with `case-when`.'
2542
+ StyleGuide: '#case-vs-if-else'
2543
+ Enabled: 'pending'
2544
+ VersionAdded: '0.88'
2545
+
2525
2546
  Style/CharacterLiteral:
2526
2547
  Description: 'Checks for uses of character literals.'
2527
2548
  StyleGuide: '#no-character-literals'
@@ -2961,6 +2982,18 @@ Style/GuardClause:
2961
2982
  # needs to have to trigger this cop
2962
2983
  MinBodyLength: 1
2963
2984
 
2985
+ Style/HashAsLastArrayItem:
2986
+ Description: >-
2987
+ Checks for presence or absence of braces around hash literal as a last
2988
+ array item depending on configuration.
2989
+ StyleGuide: '#hash-literal-as-last-array-item'
2990
+ Enabled: 'pending'
2991
+ VersionAdded: '0.88'
2992
+ EnforcedStyle: braces
2993
+ SupportedStyles:
2994
+ - braces
2995
+ - no_braces
2996
+
2964
2997
  Style/HashEachMethods:
2965
2998
  Description: 'Use Hash#each_key and Hash#each_value.'
2966
2999
  StyleGuide: '#hash-each'
@@ -2968,6 +3001,16 @@ Style/HashEachMethods:
2968
3001
  VersionAdded: '0.80'
2969
3002
  Safe: false
2970
3003
 
3004
+ Style/HashLikeCase:
3005
+ Description: >-
3006
+ Checks for places where `case-when` represents a simple 1:1
3007
+ mapping and can be replaced with a hash lookup.
3008
+ Enabled: 'pending'
3009
+ VersionAdded: '0.88'
3010
+ # `MinBranchesCount` defines the number of branches `case` needs to have
3011
+ # to trigger this cop
3012
+ MinBranchesCount: 3
3013
+
2971
3014
  Style/HashSyntax:
2972
3015
  Description: >-
2973
3016
  Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
@@ -3665,6 +3708,14 @@ Style/RedundantFetchBlock:
3665
3708
  SafeForConstants: false
3666
3709
  VersionAdded: '0.86'
3667
3710
 
3711
+ Style/RedundantFileExtensionInRequire:
3712
+ Description: >-
3713
+ Checks for the presence of superfluous `.rb` extension in
3714
+ the filename provided to `require` and `require_relative`.
3715
+ StyleGuide: '#no-explicit-rb-to-require'
3716
+ Enabled: 'pending'
3717
+ VersionAdded: '0.88'
3718
+
3668
3719
  Style/RedundantFreeze:
3669
3720
  Description: "Checks usages of Object#freeze on immutable objects."
3670
3721
  Enabled: true
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'cookstyle/version'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'cookstyle/version'
2
3
 
3
4
  require 'pathname'
@@ -1,4 +1,5 @@
1
+ # frozen_string_literal: true
1
2
  module Cookstyle
2
- VERSION = "6.11.4".freeze # rubocop: disable Style/StringLiterals
3
- RUBOCOP_VERSION = '0.87.1'.freeze
3
+ VERSION = "6.12.6" # rubocop: disable Style/StringLiterals
4
+ RUBOCOP_VERSION = '0.88.0'
4
5
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module RuboCop
2
3
  # RuboCop Chef project namespace
3
4
  module Chef
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019-2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -37,7 +38,7 @@ module RuboCop
37
38
  # end
38
39
  #
39
40
  class BlockGuardWithOnlyString < Cop
40
- MSG = 'A resource guard (not_if/only_if) that is a string should not be wrapped in {}. Wrapping a guard string in {} causes it be executed as Ruby code which will always returns true instead of a shell command that will actually run.'.freeze
41
+ MSG = 'A resource guard (not_if/only_if) that is a string should not be wrapped in {}. Wrapping a guard string in {} causes it be executed as Ruby code which will always returns true instead of a shell command that will actually run.'
41
42
 
42
43
  def_node_matcher :block_guard_with_only_string?, <<-PATTERN
43
44
  (block (send nil? ${:not_if :only_if}) (args) (str $_) )
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: 2019, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -33,7 +34,7 @@ module RuboCop
33
34
  class CookbooksDependsOnSelf < Cop
34
35
  include RangeHelp
35
36
 
36
- MSG = 'A cookbook cannot depend on itself. This will fail on Chef Infra Client 13+'.freeze
37
+ MSG = 'A cookbook cannot depend on itself. This will fail on Chef Infra Client 13+'
37
38
 
38
39
  def_node_search :dependencies, '(send nil? :depends str ...)'
39
40
  def_node_matcher :cb_name?, '(send nil? :name str ...)'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -29,7 +30,7 @@ module RuboCop
29
30
  # raise "Something horrible happened!"
30
31
  #
31
32
  class ChefApplicationFatal < Cop
32
- MSG = 'Use raise to force Chef Infra Client to fail instead of using Chef::Application.fatal'.freeze
33
+ MSG = 'Use raise to force Chef Infra Client to fail instead of using Chef::Application.fatal'
33
34
 
34
35
  def_node_matcher :application_fatal?, <<-PATTERN
35
36
  (send
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: 2020, Chef Software, Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -41,7 +42,7 @@ module RuboCop
41
42
  #
42
43
  class ConditionalRubyShellout < Cop
43
44
  include RuboCop::Chef::CookbookHelpers
44
- MSG = "Don't use Ruby to shellout in an only_if / not_if conditional when you can shellout directly by wrapping the command in quotes.".freeze
45
+ MSG = "Don't use Ruby to shellout in an only_if / not_if conditional when you can shellout directly by wrapping the command in quotes."
45
46
 
46
47
  def_node_matcher :conditional_shellout?, <<-PATTERN
47
48
  (block
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019-2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -37,7 +38,7 @@ module RuboCop
37
38
  include RangeHelp
38
39
  include RuboCop::Chef::CookbookHelpers
39
40
 
40
- MSG = 'dnf_package does not support the allow_downgrades property'.freeze
41
+ MSG = 'dnf_package does not support the allow_downgrades property'
41
42
 
42
43
  def on_block(node)
43
44
  match_property_in_resource?(:dnf_package, :allow_downgrades, node) do |prop|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019-2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -32,7 +33,7 @@ module RuboCop
32
33
  # ::Chef::DSL::Recipe.send(:include, Filebeat::Helpers) # covers previous Recipe & Provider classes
33
34
  #
34
35
  class IncorrectLibraryInjection < Cop
35
- MSG = 'Libraries should be injected into the Chef::DSL::Recipe class and not Chef::Recipe or Chef::Provider classes directly.'.freeze
36
+ MSG = 'Libraries should be injected into the Chef::DSL::Recipe class and not Chef::Recipe or Chef::Provider classes directly.'
36
37
 
37
38
  def_node_matcher :legacy_class_sends?, <<-PATTERN
38
39
  (send (const (const (cbase) :Chef) {:Recipe :Provider}) :send (sym :include) ... )
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: 2019, Chef Software, Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -35,7 +36,7 @@ module RuboCop
35
36
  # end
36
37
  #
37
38
  class InvalidNotificationTiming < Cop
38
- MSG = 'Valid notification timings are :immediately, :immediate (alias for :immediately), :delayed, and :before.'.freeze
39
+ MSG = 'Valid notification timings are :immediately, :immediate (alias for :immediately), :delayed, and :before.'
39
40
 
40
41
  def_node_matcher :notification_with_timing?, <<-PATTERN
41
42
  (send nil? {:notifies :subscribes} (sym _) (...) $(sym _))
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2019, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -33,7 +34,7 @@ module RuboCop
33
34
  class InvalidPlatformFamilyHelper < Cop
34
35
  include ::RuboCop::Chef::PlatformHelpers
35
36
 
36
- MSG = 'Pass valid platform families to the platform_family? helper.'.freeze
37
+ MSG = 'Pass valid platform families to the platform_family? helper.'
37
38
 
38
39
  def_node_matcher :platform_family_helper?, <<-PATTERN
39
40
  (send nil? :platform_family? $str*)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Copyright:: Copyright 2020, Chef Software Inc.
3
4
  # Author:: Tim Smith (<tsmith@chef.io>)
@@ -32,7 +33,7 @@ module RuboCop
32
33
  include RangeHelp
33
34
  include ::RuboCop::Chef::PlatformHelpers
34
35
 
35
- MSG = 'Use valid platform family values in case statements.'.freeze
36
+ MSG = 'Use valid platform family values in case statements.'
36
37
 
37
38
  def_node_matcher :node_platform_family?, <<-PATTERN
38
39
  (send (send nil? :node) :[] (str "platform_family") )