rubocop 1.12.1 → 1.16.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 (412) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -2
  3. data/config/default.yml +78 -8
  4. data/exe/rubocop +1 -3
  5. data/lib/rubocop.rb +10 -1
  6. data/lib/rubocop/cached_data.rb +1 -3
  7. data/lib/rubocop/cli.rb +4 -6
  8. data/lib/rubocop/cli/command/auto_genenerate_config.rb +9 -19
  9. data/lib/rubocop/cli/command/init_dotfile.rb +1 -3
  10. data/lib/rubocop/cli/command/show_cops.rb +1 -4
  11. data/lib/rubocop/comment_config.rb +2 -7
  12. data/lib/rubocop/config.rb +11 -26
  13. data/lib/rubocop/config_loader.rb +5 -11
  14. data/lib/rubocop/config_loader_resolver.rb +22 -14
  15. data/lib/rubocop/config_obsoletion/cop_rule.rb +1 -2
  16. data/lib/rubocop/config_store.rb +1 -2
  17. data/lib/rubocop/config_validator.rb +5 -10
  18. data/lib/rubocop/cop/autocorrect_logic.rb +3 -8
  19. data/lib/rubocop/cop/badge.rb +1 -2
  20. data/lib/rubocop/cop/base.rb +8 -6
  21. data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -2
  22. data/lib/rubocop/cop/bundler/gem_comment.rb +43 -11
  23. data/lib/rubocop/cop/bundler/gem_version.rb +99 -0
  24. data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -4
  25. data/lib/rubocop/cop/commissioner.rb +2 -8
  26. data/lib/rubocop/cop/cop.rb +4 -18
  27. data/lib/rubocop/cop/corrector.rb +1 -4
  28. data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -6
  29. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +2 -4
  30. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -2
  31. data/lib/rubocop/cop/correctors/line_break_corrector.rb +3 -6
  32. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -3
  33. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -3
  34. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -8
  35. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -2
  36. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -4
  37. data/lib/rubocop/cop/generator.rb +1 -4
  38. data/lib/rubocop/cop/generator/configuration_injector.rb +1 -2
  39. data/lib/rubocop/cop/generator/require_file_injector.rb +2 -5
  40. data/lib/rubocop/cop/internal_affairs/example_description.rb +7 -5
  41. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +2 -5
  42. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -3
  43. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -3
  44. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -2
  45. data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +1 -2
  46. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +1 -3
  47. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -2
  48. data/lib/rubocop/cop/layout/argument_alignment.rb +30 -14
  49. data/lib/rubocop/cop/layout/assignment_indentation.rb +2 -4
  50. data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -4
  51. data/lib/rubocop/cop/layout/block_alignment.rb +7 -19
  52. data/lib/rubocop/cop/layout/case_indentation.rb +57 -11
  53. data/lib/rubocop/cop/layout/class_structure.rb +4 -10
  54. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +4 -15
  55. data/lib/rubocop/cop/layout/comment_indentation.rb +1 -5
  56. data/lib/rubocop/cop/layout/def_end_alignment.rb +2 -6
  57. data/lib/rubocop/cop/layout/dot_position.rb +1 -3
  58. data/lib/rubocop/cop/layout/else_alignment.rb +1 -3
  59. data/lib/rubocop/cop/layout/empty_comment.rb +5 -12
  60. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +2 -5
  61. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -6
  62. data/lib/rubocop/cop/layout/empty_lines.rb +1 -3
  63. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +8 -18
  64. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -8
  65. data/lib/rubocop/cop/layout/end_alignment.rb +1 -2
  66. data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
  67. data/lib/rubocop/cop/layout/extra_spacing.rb +3 -7
  68. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -2
  69. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -2
  70. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +14 -5
  71. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -2
  72. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -2
  73. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -2
  74. data/lib/rubocop/cop/layout/hash_alignment.rb +36 -15
  75. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -9
  76. data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -6
  77. data/lib/rubocop/cop/layout/indentation_style.rb +1 -3
  78. data/lib/rubocop/cop/layout/indentation_width.rb +6 -4
  79. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -4
  80. data/lib/rubocop/cop/layout/line_length.rb +4 -15
  81. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -2
  82. data/lib/rubocop/cop/layout/multiline_block_layout.rb +7 -15
  83. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -2
  84. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -2
  85. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +4 -10
  86. data/lib/rubocop/cop/layout/redundant_line_break.rb +137 -0
  87. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
  88. data/lib/rubocop/cop/layout/single_line_block_chain.rb +53 -0
  89. data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
  90. data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
  91. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
  92. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
  93. data/lib/rubocop/cop/layout/space_around_keyword.rb +19 -6
  94. data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
  95. data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -2
  96. data/lib/rubocop/cop/layout/space_before_brackets.rb +1 -3
  97. data/lib/rubocop/cop/layout/space_before_comment.rb +1 -3
  98. data/lib/rubocop/cop/layout/space_before_first_arg.rb +5 -11
  99. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -4
  100. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -10
  101. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +2 -7
  102. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -10
  103. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -2
  104. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -2
  105. data/lib/rubocop/cop/legacy/corrections_proxy.rb +2 -8
  106. data/lib/rubocop/cop/legacy/corrector.rb +1 -3
  107. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -6
  108. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +14 -7
  109. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -2
  110. data/lib/rubocop/cop/lint/constant_resolution.rb +1 -2
  111. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +83 -41
  112. data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
  113. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +2 -5
  114. data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -2
  115. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
  116. data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -7
  117. data/lib/rubocop/cop/lint/else_layout.rb +1 -3
  118. data/lib/rubocop/cop/lint/empty_block.rb +18 -2
  119. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
  120. data/lib/rubocop/cop/lint/empty_file.rb +1 -3
  121. data/lib/rubocop/cop/lint/empty_in_pattern.rb +62 -0
  122. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
  123. data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
  124. data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -7
  125. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
  126. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +3 -6
  127. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -2
  128. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -2
  129. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -7
  130. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -2
  131. data/lib/rubocop/cop/lint/interpolation_check.rb +3 -11
  132. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +3 -6
  133. data/lib/rubocop/cop/lint/loop.rb +1 -2
  134. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +3 -7
  135. data/lib/rubocop/cop/lint/missing_super.rb +1 -2
  136. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -2
  137. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -2
  138. data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
  139. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -3
  140. data/lib/rubocop/cop/lint/number_conversion.rb +2 -3
  141. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
  142. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
  143. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
  144. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
  145. data/lib/rubocop/cop/lint/raise_exception.rb +1 -2
  146. data/lib/rubocop/cop/lint/rand_one.rb +1 -2
  147. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +18 -27
  148. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +1 -3
  149. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +3 -7
  150. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -2
  151. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -4
  152. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -4
  153. data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -3
  154. data/lib/rubocop/cop/lint/require_parentheses.rb +2 -4
  155. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -2
  156. data/lib/rubocop/cop/lint/rescue_type.rb +2 -7
  157. data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -2
  158. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -2
  159. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
  160. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -2
  161. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +2 -7
  162. data/lib/rubocop/cop/lint/shadowed_argument.rb +4 -11
  163. data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
  164. data/lib/rubocop/cop/lint/struct_new_override.rb +1 -2
  165. data/lib/rubocop/cop/lint/symbol_conversion.rb +4 -16
  166. data/lib/rubocop/cop/lint/syntax.rb +1 -3
  167. data/lib/rubocop/cop/lint/to_json.rb +1 -2
  168. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -3
  169. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -3
  170. data/lib/rubocop/cop/lint/unreachable_code.rb +2 -5
  171. data/lib/rubocop/cop/lint/unreachable_loop.rb +14 -7
  172. data/lib/rubocop/cop/lint/unused_block_argument.rb +9 -7
  173. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -2
  174. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -4
  175. data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
  176. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -3
  177. data/lib/rubocop/cop/lint/void.rb +5 -12
  178. data/lib/rubocop/cop/message_annotator.rb +1 -3
  179. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
  180. data/lib/rubocop/cop/metrics/class_length.rb +1 -3
  181. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
  182. data/lib/rubocop/cop/metrics/module_length.rb +2 -6
  183. data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -5
  184. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -2
  185. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4 -7
  186. data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +2 -7
  187. data/lib/rubocop/cop/migration/department_name.rb +3 -7
  188. data/lib/rubocop/cop/mixin/alignment.rb +2 -4
  189. data/lib/rubocop/cop/mixin/check_line_breakable.rb +19 -3
  190. data/lib/rubocop/cop/mixin/code_length.rb +1 -3
  191. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +2 -2
  192. data/lib/rubocop/cop/mixin/configurable_formatting.rb +3 -8
  193. data/lib/rubocop/cop/mixin/def_node.rb +2 -5
  194. data/lib/rubocop/cop/mixin/documentation_comment.rb +2 -5
  195. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -7
  196. data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -3
  197. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
  198. data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -6
  199. data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
  200. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +7 -7
  201. data/lib/rubocop/cop/mixin/gem_declaration.rb +13 -0
  202. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +17 -9
  203. data/lib/rubocop/cop/mixin/hash_transform_method.rb +7 -22
  204. data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
  205. data/lib/rubocop/cop/mixin/line_length_help.rb +2 -4
  206. data/lib/rubocop/cop/mixin/match_range.rb +2 -5
  207. data/lib/rubocop/cop/mixin/method_complexity.rb +1 -3
  208. data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
  209. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +1 -2
  210. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
  211. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -17
  212. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
  213. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -2
  214. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -4
  215. data/lib/rubocop/cop/mixin/percent_array.rb +1 -3
  216. data/lib/rubocop/cop/mixin/percent_literal.rb +0 -6
  217. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +5 -11
  218. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +3 -6
  219. data/lib/rubocop/cop/mixin/range_help.rb +10 -13
  220. data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
  221. data/lib/rubocop/cop/mixin/safe_assignment.rb +1 -2
  222. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
  223. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
  224. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
  225. data/lib/rubocop/cop/mixin/string_literals_help.rb +3 -5
  226. data/lib/rubocop/cop/mixin/symbol_help.rb +13 -0
  227. data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
  228. data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
  229. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +3 -7
  230. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
  231. data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
  232. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -2
  233. data/lib/rubocop/cop/naming/file_name.rb +7 -16
  234. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -3
  235. data/lib/rubocop/cop/naming/method_name.rb +1 -2
  236. data/lib/rubocop/cop/naming/predicate_name.rb +1 -2
  237. data/lib/rubocop/cop/offense.rb +3 -8
  238. data/lib/rubocop/cop/registry.rb +3 -11
  239. data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -3
  240. data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
  241. data/lib/rubocop/cop/style/alias.rb +5 -12
  242. data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -3
  243. data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
  244. data/lib/rubocop/cop/style/attr.rb +1 -3
  245. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
  246. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -3
  247. data/lib/rubocop/cop/style/case_like_if.rb +1 -2
  248. data/lib/rubocop/cop/style/character_literal.rb +2 -4
  249. data/lib/rubocop/cop/style/class_and_module_children.rb +19 -10
  250. data/lib/rubocop/cop/style/class_methods.rb +1 -3
  251. data/lib/rubocop/cop/style/collection_compact.rb +1 -3
  252. data/lib/rubocop/cop/style/colon_method_call.rb +1 -3
  253. data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
  254. data/lib/rubocop/cop/style/command_literal.rb +3 -8
  255. data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
  256. data/lib/rubocop/cop/style/commented_keyword.rb +2 -8
  257. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -24
  258. data/lib/rubocop/cop/style/copyright.rb +3 -6
  259. data/lib/rubocop/cop/style/date_time.rb +2 -5
  260. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
  261. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -2
  262. data/lib/rubocop/cop/style/empty_case_condition.rb +2 -7
  263. data/lib/rubocop/cop/style/empty_else.rb +3 -9
  264. data/lib/rubocop/cop/style/empty_literal.rb +12 -9
  265. data/lib/rubocop/cop/style/empty_method.rb +3 -7
  266. data/lib/rubocop/cop/style/end_block.rb +1 -2
  267. data/lib/rubocop/cop/style/endless_method.rb +1 -3
  268. data/lib/rubocop/cop/style/eval_with_location.rb +2 -4
  269. data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -3
  270. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -4
  271. data/lib/rubocop/cop/style/format_string_token.rb +1 -4
  272. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -8
  273. data/lib/rubocop/cop/style/guard_clause.rb +3 -7
  274. data/lib/rubocop/cop/style/hash_conversion.rb +28 -3
  275. data/lib/rubocop/cop/style/hash_each_methods.rb +19 -3
  276. data/lib/rubocop/cop/style/hash_like_case.rb +1 -2
  277. data/lib/rubocop/cop/style/hash_syntax.rb +4 -9
  278. data/lib/rubocop/cop/style/identical_conditional_branches.rb +27 -8
  279. data/lib/rubocop/cop/style/if_unless_modifier.rb +40 -13
  280. data/lib/rubocop/cop/style/in_pattern_then.rb +56 -0
  281. data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
  282. data/lib/rubocop/cop/style/inverse_methods.rb +3 -7
  283. data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
  284. data/lib/rubocop/cop/style/lambda.rb +2 -4
  285. data/lib/rubocop/cop/style/lambda_call.rb +1 -2
  286. data/lib/rubocop/cop/style/line_end_concatenation.rb +5 -12
  287. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
  288. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +7 -12
  289. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -2
  290. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
  291. data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -8
  292. data/lib/rubocop/cop/style/min_max.rb +1 -2
  293. data/lib/rubocop/cop/style/missing_else.rb +2 -4
  294. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -2
  295. data/lib/rubocop/cop/style/mixin_grouping.rb +4 -10
  296. data/lib/rubocop/cop/style/mixin_usage.rb +1 -2
  297. data/lib/rubocop/cop/style/module_function.rb +3 -6
  298. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
  299. data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +62 -0
  300. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -3
  301. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
  302. data/lib/rubocop/cop/style/multiline_when_then.rb +2 -11
  303. data/lib/rubocop/cop/style/multiple_comparison.rb +2 -4
  304. data/lib/rubocop/cop/style/mutable_constant.rb +4 -10
  305. data/lib/rubocop/cop/style/negated_if.rb +1 -2
  306. data/lib/rubocop/cop/style/negated_if_else_condition.rb +17 -9
  307. data/lib/rubocop/cop/style/negated_unless.rb +1 -2
  308. data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
  309. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
  310. data/lib/rubocop/cop/style/next.rb +4 -9
  311. data/lib/rubocop/cop/style/nil_lambda.rb +29 -12
  312. data/lib/rubocop/cop/style/non_nil_check.rb +2 -5
  313. data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
  314. data/lib/rubocop/cop/style/numeric_predicate.rb +2 -7
  315. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
  316. data/lib/rubocop/cop/style/option_hash.rb +1 -3
  317. data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
  318. data/lib/rubocop/cop/style/or_assignment.rb +2 -6
  319. data/lib/rubocop/cop/style/parallel_assignment.rb +6 -9
  320. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -3
  321. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -2
  322. data/lib/rubocop/cop/style/perl_backrefs.rb +2 -9
  323. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -4
  324. data/lib/rubocop/cop/style/proc.rb +1 -2
  325. data/lib/rubocop/cop/style/quoted_symbols.rb +110 -0
  326. data/lib/rubocop/cop/style/raise_args.rb +4 -8
  327. data/lib/rubocop/cop/style/random_with_offset.rb +3 -8
  328. data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
  329. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -3
  330. data/lib/rubocop/cop/style/redundant_begin.rb +4 -4
  331. data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -2
  332. data/lib/rubocop/cop/style/redundant_condition.rb +2 -5
  333. data/lib/rubocop/cop/style/redundant_conditional.rb +3 -6
  334. data/lib/rubocop/cop/style/redundant_exception.rb +3 -6
  335. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
  336. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -2
  337. data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
  338. data/lib/rubocop/cop/style/redundant_parentheses.rb +8 -20
  339. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -2
  340. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -4
  341. data/lib/rubocop/cop/style/redundant_return.rb +3 -5
  342. data/lib/rubocop/cop/style/redundant_self.rb +25 -7
  343. data/lib/rubocop/cop/style/redundant_self_assignment.rb +2 -2
  344. data/lib/rubocop/cop/style/redundant_sort.rb +2 -5
  345. data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
  346. data/lib/rubocop/cop/style/rescue_modifier.rb +4 -0
  347. data/lib/rubocop/cop/style/rescue_standard_error.rb +3 -7
  348. data/lib/rubocop/cop/style/return_nil.rb +1 -2
  349. data/lib/rubocop/cop/style/safe_navigation.rb +10 -21
  350. data/lib/rubocop/cop/style/send.rb +1 -2
  351. data/lib/rubocop/cop/style/signal_exception.rb +3 -7
  352. data/lib/rubocop/cop/style/single_argument_dig.rb +1 -2
  353. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
  354. data/lib/rubocop/cop/style/single_line_methods.rb +20 -4
  355. data/lib/rubocop/cop/style/sole_nested_conditional.rb +15 -7
  356. data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
  357. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
  358. data/lib/rubocop/cop/style/stderr_puts.rb +2 -6
  359. data/lib/rubocop/cop/style/string_chars.rb +2 -1
  360. data/lib/rubocop/cop/style/string_concatenation.rb +8 -10
  361. data/lib/rubocop/cop/style/string_literals.rb +3 -5
  362. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +1 -0
  363. data/lib/rubocop/cop/style/struct_inheritance.rb +9 -1
  364. data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
  365. data/lib/rubocop/cop/style/symbol_proc.rb +4 -9
  366. data/lib/rubocop/cop/style/ternary_parentheses.rb +3 -6
  367. data/lib/rubocop/cop/style/top_level_method_definition.rb +83 -0
  368. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -2
  369. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
  370. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
  371. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
  372. data/lib/rubocop/cop/style/trivial_accessors.rb +67 -4
  373. data/lib/rubocop/cop/style/unless_else.rb +1 -2
  374. data/lib/rubocop/cop/style/unless_logical_operators.rb +2 -2
  375. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  376. data/lib/rubocop/cop/style/when_then.rb +4 -2
  377. data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
  378. data/lib/rubocop/cop/style/word_array.rb +1 -2
  379. data/lib/rubocop/cop/style/yoda_condition.rb +3 -11
  380. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -2
  381. data/lib/rubocop/cop/team.rb +2 -5
  382. data/lib/rubocop/cop/util.rb +4 -10
  383. data/lib/rubocop/cop/utils/format_string.rb +1 -3
  384. data/lib/rubocop/cop/variable_force.rb +6 -15
  385. data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
  386. data/lib/rubocop/cop/variable_force/branch.rb +16 -2
  387. data/lib/rubocop/cop/variable_force/reference.rb +1 -3
  388. data/lib/rubocop/cop/variable_force/scope.rb +4 -8
  389. data/lib/rubocop/cop/variable_force/variable.rb +2 -4
  390. data/lib/rubocop/cops_documentation_generator.rb +7 -21
  391. data/lib/rubocop/directive_comment.rb +5 -1
  392. data/lib/rubocop/file_finder.rb +1 -3
  393. data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
  394. data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
  395. data/lib/rubocop/formatter/html_formatter.rb +4 -10
  396. data/lib/rubocop/formatter/json_formatter.rb +1 -5
  397. data/lib/rubocop/formatter/junit_formatter.rb +23 -14
  398. data/lib/rubocop/formatter/progress_formatter.rb +1 -3
  399. data/lib/rubocop/options.rb +30 -50
  400. data/lib/rubocop/path_util.rb +1 -3
  401. data/lib/rubocop/rake_task.rb +3 -0
  402. data/lib/rubocop/remote_config.rb +4 -7
  403. data/lib/rubocop/result_cache.rb +5 -12
  404. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  405. data/lib/rubocop/rspec/expect_offense.rb +4 -9
  406. data/lib/rubocop/rspec/shared_contexts.rb +8 -15
  407. data/lib/rubocop/runner.rb +7 -14
  408. data/lib/rubocop/target_finder.rb +18 -16
  409. data/lib/rubocop/target_ruby.rb +4 -8
  410. data/lib/rubocop/version.rb +1 -1
  411. metadata +16 -7
  412. data/lib/rubocop/core_ext/hash.rb +0 -20
@@ -53,9 +53,7 @@ module RuboCop
53
53
  return if respond_to_nil_specific_method?(node)
54
54
 
55
55
  range = range_between(node.loc.dot.begin_pos, node.source_range.end_pos)
56
- add_offense(range) do |corrector|
57
- corrector.replace(node.loc.dot, '.')
58
- end
56
+ add_offense(range) { |corrector| corrector.replace(node.loc.dot, '.') }
59
57
  end
60
58
 
61
59
  private
@@ -94,8 +94,7 @@ module RuboCop
94
94
 
95
95
  def on_splat(node)
96
96
  redundant_splat_expansion(node) do
97
- if array_splat?(node) &&
98
- (method_argument?(node) || part_of_an_array?(node))
97
+ if array_splat?(node) && (method_argument?(node) || part_of_an_array?(node))
99
98
  return if allow_percent_literal_array_argument? &&
100
99
  use_percent_literal_array_argument?(node)
101
100
 
@@ -103,9 +102,7 @@ module RuboCop
103
102
  autocorrect(corrector, node)
104
103
  end
105
104
  else
106
- add_offense(node) do |corrector|
107
- autocorrect(corrector, node)
108
- end
105
+ add_offense(node) { |corrector| autocorrect(corrector, node) }
109
106
  end
110
107
  end
111
108
  end
@@ -124,8 +121,7 @@ module RuboCop
124
121
  return if array_new_inside_array_literal?(expanded_item)
125
122
 
126
123
  grandparent = node.parent.parent
127
- return if grandparent &&
128
- !ASSIGNMENT_TYPES.include?(grandparent.type)
124
+ return if grandparent && !ASSIGNMENT_TYPES.include?(grandparent.type)
129
125
  end
130
126
 
131
127
  yield
@@ -22,8 +22,7 @@ module RuboCop
22
22
  extend AutoCorrector
23
23
 
24
24
  MSG_DEFAULT = 'Redundant use of `Object#to_s` in interpolation.'
25
- MSG_SELF = 'Use `self` instead of `Object#to_s` in ' \
26
- 'interpolation.'
25
+ MSG_SELF = 'Use `self` instead of `Object#to_s` in interpolation.'
27
26
 
28
27
  # @!method to_s_without_args?(node)
29
28
  def_node_matcher :to_s_without_args?, '(send _ :to_s)'
@@ -69,10 +69,7 @@ module RuboCop
69
69
  end
70
70
 
71
71
  def with_index_range(send)
72
- range_between(
73
- send.loc.selector.begin_pos,
74
- send.loc.expression.end_pos
75
- )
72
+ range_between(send.loc.selector.begin_pos, send.loc.expression.end_pos)
76
73
  end
77
74
  end
78
75
  end
@@ -70,10 +70,7 @@ module RuboCop
70
70
  end
71
71
 
72
72
  def with_object_range(send)
73
- range_between(
74
- send.loc.selector.begin_pos,
75
- send.loc.expression.end_pos
76
- )
73
+ range_between(send.loc.selector.begin_pos, send.loc.expression.end_pos)
77
74
  end
78
75
  end
79
76
  end
@@ -23,9 +23,7 @@ module RuboCop
23
23
  ' The regexp literal matches `$_` implicitly.'
24
24
 
25
25
  def on_match_current_line(node)
26
- add_offense(node) do |corrector|
27
- corrector.replace(node, "#{node.source} =~ $_")
28
- end
26
+ add_offense(node) { |corrector| corrector.replace(node, "#{node.source} =~ $_") }
29
27
  end
30
28
  end
31
29
  end
@@ -30,8 +30,7 @@ module RuboCop
30
30
  class RequireParentheses < Base
31
31
  include RangeHelp
32
32
 
33
- MSG = 'Use parentheses in the method call to avoid confusion about ' \
34
- 'precedence.'
33
+ MSG = 'Use parentheses in the method call to avoid confusion about precedence.'
35
34
 
36
35
  def on_send(node)
37
36
  return if !node.arguments? || node.parenthesized?
@@ -49,8 +48,7 @@ module RuboCop
49
48
  def check_ternary(ternary, node)
50
49
  return unless ternary.condition.operator_keyword?
51
50
 
52
- range = range_between(node.source_range.begin_pos,
53
- ternary.condition.source_range.end_pos)
51
+ range = range_between(node.source_range.begin_pos, ternary.condition.source_range.end_pos)
54
52
 
55
53
  add_offense(range)
56
54
  end
@@ -25,8 +25,7 @@ module RuboCop
25
25
  # handle_exception
26
26
  # end
27
27
  class RescueException < Base
28
- MSG = 'Avoid rescuing the `Exception` class. ' \
29
- 'Perhaps you meant to rescue `StandardError`?'
28
+ MSG = 'Avoid rescuing the `Exception` class. Perhaps you meant to rescue `StandardError`?'
30
29
 
31
30
  def on_resbody(node)
32
31
  return unless node.children.first
@@ -51,10 +51,7 @@ module RuboCop
51
51
 
52
52
  add_offense(
53
53
  node.loc.keyword.join(rescued.loc.expression),
54
- message: format(
55
- MSG, invalid_exceptions: invalid_exceptions.map(&:source)
56
- .join(', ')
57
- )
54
+ message: format(MSG, invalid_exceptions: invalid_exceptions.map(&:source).join(', '))
58
55
  ) do |corrector|
59
56
  autocorrect(corrector, node)
60
57
  end
@@ -83,9 +80,7 @@ module RuboCop
83
80
  end
84
81
 
85
82
  def invalid_exceptions(exceptions)
86
- exceptions.select do |exception|
87
- INVALID_TYPES.include?(exception.type)
88
- end
83
+ exceptions.select { |exception| INVALID_TYPES.include?(exception.type) }
89
84
  end
90
85
  end
91
86
  end
@@ -63,8 +63,7 @@ module RuboCop
63
63
  end
64
64
 
65
65
  def setter_method?(method_name)
66
- method_name.to_s.end_with?('=') &&
67
- !AST::Node::COMPARISON_OPERATORS.include?(method_name)
66
+ method_name.to_s.end_with?('=') && !AST::Node::COMPARISON_OPERATORS.include?(method_name)
68
67
  end
69
68
  end
70
69
  end
@@ -26,8 +26,7 @@ module RuboCop
26
26
  class SafeNavigationChain < Base
27
27
  include NilMethods
28
28
 
29
- MSG = 'Do not chain ordinary method call' \
30
- ' after safe navigation operator.'
29
+ MSG = 'Do not chain ordinary method call after safe navigation operator.'
31
30
 
32
31
  # @!method bad_method?(node)
33
32
  def_node_matcher :bad_method?, <<~PATTERN
@@ -31,8 +31,7 @@ module RuboCop
31
31
  include NilMethods
32
32
  extend AutoCorrector
33
33
 
34
- MSG = 'Ensure that safe navigation is used consistently ' \
35
- 'inside of `&&` and `||`.'
34
+ MSG = 'Ensure that safe navigation is used consistently inside of `&&` and `||`.'
36
35
 
37
36
  def on_csend(node)
38
37
  return unless node.parent&.operator_keyword?
@@ -46,15 +45,12 @@ module RuboCop
46
45
  safe_nav_receiver = node.receiver
47
46
 
48
47
  method_calls = conditions.select(&:send_type?)
49
- unsafe_method_calls =
50
- unsafe_method_calls(method_calls, safe_nav_receiver)
48
+ unsafe_method_calls = unsafe_method_calls(method_calls, safe_nav_receiver)
51
49
 
52
50
  unsafe_method_calls.each do |unsafe_method_call|
53
51
  location = location(node, unsafe_method_call)
54
52
 
55
- add_offense(location) do |corrector|
56
- autocorrect(corrector, unsafe_method_call)
57
- end
53
+ add_offense(location) { |corrector| autocorrect(corrector, unsafe_method_call) }
58
54
 
59
55
  ignore_node(unsafe_method_call)
60
56
  end
@@ -76,9 +72,7 @@ module RuboCop
76
72
  parent = node.parent
77
73
  unless parent &&
78
74
  (parent.operator_keyword? ||
79
- (parent.begin_type? &&
80
- parent.parent &&
81
- parent.parent.operator_keyword?))
75
+ (parent.begin_type? && parent.parent && parent.parent.operator_keyword?))
82
76
  return node
83
77
  end
84
78
 
@@ -22,8 +22,7 @@ module RuboCop
22
22
  class SafeNavigationWithEmpty < Base
23
23
  extend AutoCorrector
24
24
 
25
- MSG = 'Avoid calling `empty?` with the safe navigation operator ' \
26
- 'in conditionals.'
25
+ MSG = 'Avoid calling `empty?` with the safe navigation operator in conditionals.'
27
26
 
28
27
  # @!method safe_navigation_empty_in_conditional?(node)
29
28
  def_node_matcher :safe_navigation_empty_in_conditional?, <<~PATTERN
@@ -53,9 +53,7 @@ module RuboCop
53
53
 
54
54
  def on_send(node)
55
55
  send_with_mixin_argument?(node) do |method, module_name|
56
- message = message(
57
- method, module_name.source, bad_location(node).source
58
- )
56
+ message = message(method, module_name.source, bad_location(node).source)
59
57
 
60
58
  bad_location = bad_location(node)
61
59
  add_offense(bad_location, message: message) do |corrector|
@@ -73,10 +71,7 @@ module RuboCop
73
71
  end
74
72
 
75
73
  def message(method, module_name, bad_method)
76
- format(
77
- MSG,
78
- method: method, module_name: module_name, bad_method: bad_method
79
- )
74
+ format(MSG, method: method, module_name: module_name, bad_method: bad_method)
80
75
  end
81
76
 
82
77
  def mixin_method?(node)
@@ -64,8 +64,7 @@ module RuboCop
64
64
  # end
65
65
  #
66
66
  class ShadowedArgument < Base
67
- MSG = 'Argument `%<argument>s` was shadowed by a local variable ' \
68
- 'before it was used.'
67
+ MSG = 'Argument `%<argument>s` was shadowed by a local variable before it was used.'
69
68
 
70
69
  # @!method uses_var?(node)
71
70
  def_node_search :uses_var?, '(lvar %)'
@@ -75,9 +74,7 @@ module RuboCop
75
74
  end
76
75
 
77
76
  def after_leaving_scope(scope, _variable_table)
78
- scope.variables.each_value do |variable|
79
- check_argument(variable)
80
- end
77
+ scope.variables.each_value { |variable| check_argument(variable) }
81
78
  end
82
79
 
83
80
  private
@@ -128,8 +125,7 @@ module RuboCop
128
125
  next false if assignment_node.shorthand_asgn?
129
126
 
130
127
  node_within_block_or_conditional =
131
- node_within_block_or_conditional?(assignment_node.parent,
132
- argument.scope.node)
128
+ node_within_block_or_conditional?(assignment_node.parent, argument.scope.node)
133
129
 
134
130
  unless uses_var?(assignment_node, argument.name)
135
131
  # It's impossible to decide whether a branch or block is executed,
@@ -162,10 +158,7 @@ module RuboCop
162
158
  # Get argument references without assignments' references
163
159
  #
164
160
  def argument_references(argument)
165
- assignment_references = argument
166
- .assignments
167
- .flat_map(&:references)
168
- .map(&:source_range)
161
+ assignment_references = argument.assignments.flat_map(&:references).map(&:source_range)
169
162
 
170
163
  argument.references.reject do |ref|
171
164
  next false unless ref.explicit?
@@ -59,8 +59,7 @@ module RuboCop
59
59
  contains_multiple_levels_of_exceptions?(group)
60
60
  end
61
61
 
62
- return if !rescue_group_rescues_multiple_levels &&
63
- sorted?(rescued_groups)
62
+ return if !rescue_group_rescues_multiple_levels && sorted?(rescued_groups)
64
63
 
65
64
  add_offense(offense_range(rescues))
66
65
  end
@@ -74,18 +73,14 @@ module RuboCop
74
73
  end
75
74
 
76
75
  def rescued_groups_for(rescues)
77
- rescues.map do |group|
78
- evaluate_exceptions(group)
79
- end
76
+ rescues.map { |group| evaluate_exceptions(group) }
80
77
  end
81
78
 
82
79
  def contains_multiple_levels_of_exceptions?(group)
83
80
  # Always treat `Exception` as the highest level exception.
84
81
  return true if group.size > 1 && group.include?(Exception)
85
82
 
86
- group.combination(2).any? do |a, b|
87
- compare_exceptions(a, b)
88
- end
83
+ group.combination(2).any? { |a, b| compare_exceptions(a, b) }
89
84
  end
90
85
 
91
86
  def compare_exceptions(exception, other_exception)
@@ -111,6 +106,9 @@ module RuboCop
111
106
 
112
107
  if rescued_exceptions.any?
113
108
  rescued_exceptions.each_with_object([]) do |exception, converted|
109
+ # FIXME: Workaround `rubocop:disable` comment for JRuby.
110
+ # https://github.com/jruby/jruby/issues/6642
111
+ # rubocop:disable Style/RedundantBegin
114
112
  begin
115
113
  RuboCop::Util.silence_warnings do
116
114
  # Avoid printing deprecation warnings about constants
@@ -119,6 +117,7 @@ module RuboCop
119
117
  rescue NameError
120
118
  converted << nil
121
119
  end
120
+ # rubocop:enable Style/RedundantBegin
122
121
  end
123
122
  else
124
123
  # treat an empty `rescue` as `rescue StandardError`
@@ -48,8 +48,7 @@ module RuboCop
48
48
 
49
49
  next unless STRUCT_METHOD_NAMES.include?(member_name.to_sym)
50
50
 
51
- message = format(MSG, member_name: member_name.inspect,
52
- method_name: member_name.to_s)
51
+ message = format(MSG, member_name: member_name.inspect, method_name: member_name.to_s)
53
52
  add_offense(arg, message: message)
54
53
  end
55
54
  end
@@ -66,6 +66,7 @@ module RuboCop
66
66
  class SymbolConversion < Base
67
67
  extend AutoCorrector
68
68
  include ConfigurableEnforcedStyle
69
+ include SymbolHelp
69
70
 
70
71
  MSG = 'Unnecessary symbol conversion; use `%<correction>s` instead.'
71
72
  MSG_CONSISTENCY = 'Symbol hash key should be quoted for consistency; ' \
@@ -114,9 +115,7 @@ module RuboCop
114
115
  private
115
116
 
116
117
  def register_offense(node, correction:, message: format(MSG, correction: correction))
117
- add_offense(node, message: message) do |corrector|
118
- corrector.replace(node, correction)
119
- end
118
+ add_offense(node, message: message) { |corrector| corrector.replace(node, correction) }
120
119
  end
121
120
 
122
121
  def properly_quoted?(source, value)
@@ -140,10 +139,6 @@ module RuboCop
140
139
  node.parent&.array_type? && node.parent&.percent_literal?
141
140
  end
142
141
 
143
- def hash_key?(node)
144
- node.parent&.pair_type? && node == node.parent.child_nodes.first
145
- end
146
-
147
142
  def correct_hash_key(node)
148
143
  # Although some operators can be converted to symbols normally
149
144
  # (ie. `:==`), these are not accepted as hash keys and will
@@ -152,7 +147,7 @@ module RuboCop
152
147
  # will be ignored.
153
148
  return unless node.value.to_s.match?(/\A[a-z0-9_]/i)
154
149
 
155
- correction = node.value.inspect.gsub(/\A:/, '')
150
+ correction = node.value.inspect.delete_prefix(':')
156
151
  return if properly_quoted?(node.source, correction)
157
152
 
158
153
  register_offense(
@@ -169,7 +164,7 @@ module RuboCop
169
164
  next if requires_quotes?(key)
170
165
  next if properly_quoted?(key.source, %("#{key.value}"))
171
166
 
172
- correction = "#{quote_type}#{key.value}#{quote_type}"
167
+ correction = %("#{key.value}")
173
168
  register_offense(
174
169
  key,
175
170
  correction: correction,
@@ -177,13 +172,6 @@ module RuboCop
177
172
  )
178
173
  end
179
174
  end
180
-
181
- def quote_type
182
- # Use the `Style/StringLiterals` configuration for quoting symbols
183
- return '"' unless config.for_cop('Style/StringLiterals')['Enabled']
184
-
185
- config.for_cop('Style/StringLiterals')['EnforcedStyle'] == 'single_quotes' ? "'" : '"'
186
- end
187
175
  end
188
176
  end
189
177
  end
@@ -21,9 +21,7 @@ module RuboCop
21
21
  message =
22
22
  "#{diagnostic.message}\n(Using Ruby #{ruby_version} parser; " \
23
23
  'configure using `TargetRubyVersion` parameter, under `AllCops`)'
24
- add_offense(diagnostic.location,
25
- message: message,
26
- severity: diagnostic.level)
24
+ add_offense(diagnostic.location, message: message, severity: diagnostic.level)
27
25
  end
28
26
 
29
27
  def add_offense_from_error(error)
@@ -31,8 +31,7 @@ module RuboCop
31
31
  class ToJSON < Base
32
32
  extend AutoCorrector
33
33
 
34
- MSG = '`#to_json` requires an optional argument to be parsable ' \
35
- 'via JSON.generate(obj).'
34
+ MSG = '`#to_json` requires an optional argument to be parsable via JSON.generate(obj).'
36
35
 
37
36
  def on_def(node)
38
37
  return unless node.method?(:to_json) && node.arguments.empty?
@@ -38,9 +38,7 @@ module RuboCop
38
38
 
39
39
  trailing_comma = trailing_comma_range(node)
40
40
 
41
- add_offense(trailing_comma) do |corrector|
42
- corrector.remove(trailing_comma)
43
- end
41
+ add_offense(trailing_comma) { |corrector| corrector.remove(trailing_comma) }
44
42
  end
45
43
 
46
44
  private
@@ -48,9 +48,7 @@ module RuboCop
48
48
  end
49
49
 
50
50
  def after_leaving_scope(scope, _variable_table)
51
- scope.variables.each_value do |variable|
52
- check_variable(variable)
53
- end
51
+ scope.variables.each_value { |variable| check_variable(variable) }
54
52
  end
55
53
 
56
54
  def check_variable(variable)