rubocop 1.12.0 → 1.13.0

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 (401) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/config/default.yml +10 -0
  4. data/exe/rubocop +1 -3
  5. data/lib/rubocop.rb +1 -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 +42 -8
  23. data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -4
  24. data/lib/rubocop/cop/commissioner.rb +2 -8
  25. data/lib/rubocop/cop/cop.rb +4 -18
  26. data/lib/rubocop/cop/corrector.rb +1 -4
  27. data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -6
  28. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +2 -4
  29. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -2
  30. data/lib/rubocop/cop/correctors/line_break_corrector.rb +3 -6
  31. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -3
  32. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -3
  33. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -8
  34. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -2
  35. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -4
  36. data/lib/rubocop/cop/generator.rb +1 -4
  37. data/lib/rubocop/cop/generator/configuration_injector.rb +1 -2
  38. data/lib/rubocop/cop/generator/require_file_injector.rb +2 -5
  39. data/lib/rubocop/cop/internal_affairs/example_description.rb +6 -4
  40. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +2 -5
  41. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -3
  42. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -3
  43. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -2
  44. data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +1 -2
  45. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +1 -3
  46. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -2
  47. data/lib/rubocop/cop/layout/argument_alignment.rb +2 -4
  48. data/lib/rubocop/cop/layout/assignment_indentation.rb +2 -4
  49. data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -4
  50. data/lib/rubocop/cop/layout/block_alignment.rb +7 -19
  51. data/lib/rubocop/cop/layout/case_indentation.rb +1 -3
  52. data/lib/rubocop/cop/layout/class_structure.rb +4 -10
  53. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +4 -15
  54. data/lib/rubocop/cop/layout/comment_indentation.rb +1 -5
  55. data/lib/rubocop/cop/layout/def_end_alignment.rb +2 -6
  56. data/lib/rubocop/cop/layout/dot_position.rb +1 -3
  57. data/lib/rubocop/cop/layout/else_alignment.rb +1 -3
  58. data/lib/rubocop/cop/layout/empty_comment.rb +5 -12
  59. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -8
  60. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -6
  61. data/lib/rubocop/cop/layout/empty_lines.rb +1 -3
  62. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +8 -18
  63. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -8
  64. data/lib/rubocop/cop/layout/end_alignment.rb +1 -2
  65. data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
  66. data/lib/rubocop/cop/layout/extra_spacing.rb +3 -7
  67. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -2
  68. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -2
  69. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +2 -5
  70. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -2
  71. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -2
  72. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -2
  73. data/lib/rubocop/cop/layout/hash_alignment.rb +3 -6
  74. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -9
  75. data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -6
  76. data/lib/rubocop/cop/layout/indentation_style.rb +1 -3
  77. data/lib/rubocop/cop/layout/indentation_width.rb +1 -2
  78. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -4
  79. data/lib/rubocop/cop/layout/line_length.rb +4 -15
  80. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -2
  81. data/lib/rubocop/cop/layout/multiline_block_layout.rb +7 -15
  82. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -2
  83. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -2
  84. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +16 -10
  85. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +4 -0
  86. data/lib/rubocop/cop/layout/redundant_line_break.rb +125 -0
  87. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
  88. data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
  89. data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
  90. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
  91. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
  92. data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -6
  93. data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
  94. data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -2
  95. data/lib/rubocop/cop/layout/space_before_brackets.rb +1 -3
  96. data/lib/rubocop/cop/layout/space_before_comment.rb +1 -3
  97. data/lib/rubocop/cop/layout/space_before_first_arg.rb +5 -11
  98. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -4
  99. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -10
  100. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +2 -7
  101. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -10
  102. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -2
  103. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -2
  104. data/lib/rubocop/cop/legacy/corrections_proxy.rb +2 -8
  105. data/lib/rubocop/cop/legacy/corrector.rb +1 -3
  106. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -6
  107. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +14 -7
  108. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -2
  109. data/lib/rubocop/cop/lint/constant_resolution.rb +1 -2
  110. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +2 -4
  111. data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
  112. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +2 -5
  113. data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -2
  114. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
  115. data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -7
  116. data/lib/rubocop/cop/lint/else_layout.rb +1 -3
  117. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
  118. data/lib/rubocop/cop/lint/empty_file.rb +1 -3
  119. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
  120. data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
  121. data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -7
  122. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
  123. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +3 -6
  124. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -2
  125. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -2
  126. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -7
  127. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -2
  128. data/lib/rubocop/cop/lint/interpolation_check.rb +3 -11
  129. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +3 -6
  130. data/lib/rubocop/cop/lint/loop.rb +1 -2
  131. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +3 -7
  132. data/lib/rubocop/cop/lint/missing_super.rb +1 -2
  133. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -2
  134. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -2
  135. data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
  136. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -3
  137. data/lib/rubocop/cop/lint/number_conversion.rb +3 -4
  138. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
  139. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
  140. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
  141. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
  142. data/lib/rubocop/cop/lint/raise_exception.rb +1 -2
  143. data/lib/rubocop/cop/lint/rand_one.rb +1 -2
  144. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +8 -20
  145. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +1 -3
  146. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +3 -7
  147. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -2
  148. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -4
  149. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -4
  150. data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -3
  151. data/lib/rubocop/cop/lint/require_parentheses.rb +2 -4
  152. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -2
  153. data/lib/rubocop/cop/lint/rescue_type.rb +2 -7
  154. data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -2
  155. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -2
  156. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
  157. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -2
  158. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +2 -7
  159. data/lib/rubocop/cop/lint/shadowed_argument.rb +4 -11
  160. data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
  161. data/lib/rubocop/cop/lint/struct_new_override.rb +1 -2
  162. data/lib/rubocop/cop/lint/symbol_conversion.rb +2 -4
  163. data/lib/rubocop/cop/lint/syntax.rb +1 -3
  164. data/lib/rubocop/cop/lint/to_json.rb +1 -2
  165. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -3
  166. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -3
  167. data/lib/rubocop/cop/lint/unreachable_code.rb +2 -5
  168. data/lib/rubocop/cop/lint/unreachable_loop.rb +2 -5
  169. data/lib/rubocop/cop/lint/unused_block_argument.rb +4 -8
  170. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -2
  171. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -4
  172. data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
  173. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -3
  174. data/lib/rubocop/cop/lint/void.rb +4 -11
  175. data/lib/rubocop/cop/message_annotator.rb +1 -3
  176. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
  177. data/lib/rubocop/cop/metrics/class_length.rb +1 -3
  178. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
  179. data/lib/rubocop/cop/metrics/module_length.rb +2 -6
  180. data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -5
  181. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -2
  182. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4 -7
  183. data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +2 -7
  184. data/lib/rubocop/cop/migration/department_name.rb +3 -7
  185. data/lib/rubocop/cop/mixin/alignment.rb +2 -4
  186. data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
  187. data/lib/rubocop/cop/mixin/code_length.rb +1 -3
  188. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +2 -2
  189. data/lib/rubocop/cop/mixin/configurable_formatting.rb +3 -8
  190. data/lib/rubocop/cop/mixin/def_node.rb +2 -5
  191. data/lib/rubocop/cop/mixin/documentation_comment.rb +2 -5
  192. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -7
  193. data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -3
  194. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
  195. data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -6
  196. data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
  197. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -9
  198. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +3 -6
  199. data/lib/rubocop/cop/mixin/hash_transform_method.rb +7 -22
  200. data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
  201. data/lib/rubocop/cop/mixin/line_length_help.rb +2 -4
  202. data/lib/rubocop/cop/mixin/match_range.rb +2 -5
  203. data/lib/rubocop/cop/mixin/method_complexity.rb +1 -3
  204. data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
  205. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +1 -2
  206. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
  207. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -37
  208. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
  209. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -2
  210. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -4
  211. data/lib/rubocop/cop/mixin/percent_array.rb +1 -3
  212. data/lib/rubocop/cop/mixin/percent_literal.rb +0 -6
  213. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +5 -11
  214. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +3 -6
  215. data/lib/rubocop/cop/mixin/range_help.rb +10 -13
  216. data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
  217. data/lib/rubocop/cop/mixin/safe_assignment.rb +1 -2
  218. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
  219. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
  220. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
  221. data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
  222. data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
  223. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +3 -7
  224. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
  225. data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
  226. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -2
  227. data/lib/rubocop/cop/naming/file_name.rb +7 -16
  228. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -3
  229. data/lib/rubocop/cop/naming/method_name.rb +1 -2
  230. data/lib/rubocop/cop/naming/predicate_name.rb +1 -2
  231. data/lib/rubocop/cop/offense.rb +3 -8
  232. data/lib/rubocop/cop/registry.rb +3 -11
  233. data/lib/rubocop/cop/style/access_modifier_declarations.rb +2 -4
  234. data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
  235. data/lib/rubocop/cop/style/alias.rb +5 -12
  236. data/lib/rubocop/cop/style/and_or.rb +3 -1
  237. data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -3
  238. data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
  239. data/lib/rubocop/cop/style/attr.rb +1 -3
  240. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
  241. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -3
  242. data/lib/rubocop/cop/style/case_like_if.rb +1 -2
  243. data/lib/rubocop/cop/style/character_literal.rb +2 -4
  244. data/lib/rubocop/cop/style/class_and_module_children.rb +3 -6
  245. data/lib/rubocop/cop/style/class_methods.rb +1 -3
  246. data/lib/rubocop/cop/style/collection_compact.rb +1 -3
  247. data/lib/rubocop/cop/style/colon_method_call.rb +1 -3
  248. data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
  249. data/lib/rubocop/cop/style/command_literal.rb +3 -8
  250. data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
  251. data/lib/rubocop/cop/style/commented_keyword.rb +7 -13
  252. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -24
  253. data/lib/rubocop/cop/style/copyright.rb +3 -6
  254. data/lib/rubocop/cop/style/date_time.rb +2 -5
  255. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
  256. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -2
  257. data/lib/rubocop/cop/style/empty_case_condition.rb +2 -7
  258. data/lib/rubocop/cop/style/empty_else.rb +3 -9
  259. data/lib/rubocop/cop/style/empty_literal.rb +4 -8
  260. data/lib/rubocop/cop/style/empty_method.rb +3 -7
  261. data/lib/rubocop/cop/style/end_block.rb +1 -2
  262. data/lib/rubocop/cop/style/endless_method.rb +1 -3
  263. data/lib/rubocop/cop/style/eval_with_location.rb +2 -4
  264. data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -3
  265. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -4
  266. data/lib/rubocop/cop/style/format_string_token.rb +1 -4
  267. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -11
  268. data/lib/rubocop/cop/style/guard_clause.rb +3 -7
  269. data/lib/rubocop/cop/style/hash_conversion.rb +31 -3
  270. data/lib/rubocop/cop/style/hash_each_methods.rb +1 -2
  271. data/lib/rubocop/cop/style/hash_like_case.rb +1 -2
  272. data/lib/rubocop/cop/style/hash_syntax.rb +4 -9
  273. data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -3
  274. data/lib/rubocop/cop/style/if_unless_modifier.rb +41 -13
  275. data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
  276. data/lib/rubocop/cop/style/inverse_methods.rb +3 -7
  277. data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
  278. data/lib/rubocop/cop/style/lambda.rb +2 -4
  279. data/lib/rubocop/cop/style/lambda_call.rb +1 -2
  280. data/lib/rubocop/cop/style/line_end_concatenation.rb +5 -12
  281. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +7 -3
  282. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +10 -18
  283. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -2
  284. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
  285. data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -8
  286. data/lib/rubocop/cop/style/min_max.rb +1 -2
  287. data/lib/rubocop/cop/style/missing_else.rb +2 -4
  288. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -2
  289. data/lib/rubocop/cop/style/mixin_grouping.rb +4 -10
  290. data/lib/rubocop/cop/style/mixin_usage.rb +1 -2
  291. data/lib/rubocop/cop/style/module_function.rb +3 -6
  292. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
  293. data/lib/rubocop/cop/style/multiline_method_signature.rb +11 -6
  294. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
  295. data/lib/rubocop/cop/style/multiple_comparison.rb +2 -4
  296. data/lib/rubocop/cop/style/mutable_constant.rb +4 -10
  297. data/lib/rubocop/cop/style/negated_if.rb +1 -2
  298. data/lib/rubocop/cop/style/negated_unless.rb +1 -2
  299. data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
  300. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
  301. data/lib/rubocop/cop/style/next.rb +4 -9
  302. data/lib/rubocop/cop/style/non_nil_check.rb +2 -5
  303. data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
  304. data/lib/rubocop/cop/style/numeric_predicate.rb +2 -7
  305. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
  306. data/lib/rubocop/cop/style/option_hash.rb +1 -3
  307. data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
  308. data/lib/rubocop/cop/style/or_assignment.rb +2 -6
  309. data/lib/rubocop/cop/style/parallel_assignment.rb +6 -9
  310. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -3
  311. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -2
  312. data/lib/rubocop/cop/style/perl_backrefs.rb +2 -9
  313. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -4
  314. data/lib/rubocop/cop/style/proc.rb +1 -2
  315. data/lib/rubocop/cop/style/raise_args.rb +4 -8
  316. data/lib/rubocop/cop/style/random_with_offset.rb +3 -8
  317. data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
  318. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -3
  319. data/lib/rubocop/cop/style/redundant_begin.rb +15 -4
  320. data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -2
  321. data/lib/rubocop/cop/style/redundant_condition.rb +2 -5
  322. data/lib/rubocop/cop/style/redundant_conditional.rb +3 -6
  323. data/lib/rubocop/cop/style/redundant_exception.rb +3 -6
  324. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
  325. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -2
  326. data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
  327. data/lib/rubocop/cop/style/redundant_parentheses.rb +8 -20
  328. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -2
  329. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -4
  330. data/lib/rubocop/cop/style/redundant_return.rb +3 -5
  331. data/lib/rubocop/cop/style/redundant_self.rb +2 -6
  332. data/lib/rubocop/cop/style/redundant_self_assignment.rb +2 -2
  333. data/lib/rubocop/cop/style/redundant_sort.rb +2 -5
  334. data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
  335. data/lib/rubocop/cop/style/rescue_modifier.rb +4 -0
  336. data/lib/rubocop/cop/style/rescue_standard_error.rb +3 -7
  337. data/lib/rubocop/cop/style/return_nil.rb +1 -2
  338. data/lib/rubocop/cop/style/safe_navigation.rb +10 -21
  339. data/lib/rubocop/cop/style/send.rb +1 -2
  340. data/lib/rubocop/cop/style/signal_exception.rb +3 -7
  341. data/lib/rubocop/cop/style/single_argument_dig.rb +1 -2
  342. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
  343. data/lib/rubocop/cop/style/single_line_methods.rb +16 -4
  344. data/lib/rubocop/cop/style/sole_nested_conditional.rb +1 -2
  345. data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
  346. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
  347. data/lib/rubocop/cop/style/stderr_puts.rb +2 -6
  348. data/lib/rubocop/cop/style/string_chars.rb +2 -1
  349. data/lib/rubocop/cop/style/string_concatenation.rb +8 -10
  350. data/lib/rubocop/cop/style/string_literals.rb +2 -5
  351. data/lib/rubocop/cop/style/struct_inheritance.rb +9 -1
  352. data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
  353. data/lib/rubocop/cop/style/symbol_proc.rb +4 -9
  354. data/lib/rubocop/cop/style/ternary_parentheses.rb +3 -6
  355. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -2
  356. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
  357. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
  358. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
  359. data/lib/rubocop/cop/style/trivial_accessors.rb +2 -4
  360. data/lib/rubocop/cop/style/unless_else.rb +1 -2
  361. data/lib/rubocop/cop/style/unless_logical_operators.rb +2 -2
  362. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  363. data/lib/rubocop/cop/style/when_then.rb +1 -3
  364. data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
  365. data/lib/rubocop/cop/style/word_array.rb +1 -2
  366. data/lib/rubocop/cop/style/yoda_condition.rb +3 -11
  367. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -2
  368. data/lib/rubocop/cop/team.rb +2 -5
  369. data/lib/rubocop/cop/util.rb +8 -11
  370. data/lib/rubocop/cop/utils/format_string.rb +1 -3
  371. data/lib/rubocop/cop/variable_force.rb +6 -15
  372. data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
  373. data/lib/rubocop/cop/variable_force/branch.rb +1 -2
  374. data/lib/rubocop/cop/variable_force/reference.rb +1 -3
  375. data/lib/rubocop/cop/variable_force/scope.rb +4 -8
  376. data/lib/rubocop/cop/variable_force/variable.rb +2 -4
  377. data/lib/rubocop/cops_documentation_generator.rb +7 -21
  378. data/lib/rubocop/directive_comment.rb +5 -0
  379. data/lib/rubocop/file_finder.rb +1 -3
  380. data/lib/rubocop/formatter/clang_style_formatter.rb +4 -2
  381. data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
  382. data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
  383. data/lib/rubocop/formatter/html_formatter.rb +4 -10
  384. data/lib/rubocop/formatter/json_formatter.rb +1 -5
  385. data/lib/rubocop/formatter/junit_formatter.rb +3 -9
  386. data/lib/rubocop/formatter/progress_formatter.rb +1 -3
  387. data/lib/rubocop/formatter/tap_formatter.rb +4 -2
  388. data/lib/rubocop/options.rb +27 -41
  389. data/lib/rubocop/path_util.rb +1 -3
  390. data/lib/rubocop/rake_task.rb +3 -0
  391. data/lib/rubocop/remote_config.rb +4 -7
  392. data/lib/rubocop/result_cache.rb +5 -12
  393. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  394. data/lib/rubocop/rspec/expect_offense.rb +4 -9
  395. data/lib/rubocop/rspec/shared_contexts.rb +4 -15
  396. data/lib/rubocop/runner.rb +7 -14
  397. data/lib/rubocop/target_finder.rb +11 -16
  398. data/lib/rubocop/target_ruby.rb +4 -8
  399. data/lib/rubocop/version.rb +1 -1
  400. metadata +5 -5
  401. data/lib/rubocop/core_ext/hash.rb +0 -20
@@ -24,8 +24,7 @@ module RuboCop
24
24
  class BooleanSymbol < Base
25
25
  extend AutoCorrector
26
26
 
27
- MSG = 'Symbol with a boolean name - ' \
28
- 'you probably meant to use `%<boolean>s`.'
27
+ MSG = 'Symbol with a boolean name - you probably meant to use `%<boolean>s`.'
29
28
 
30
29
  # @!method boolean_symbol?(node)
31
30
  def_node_matcher :boolean_symbol?, '(sym {:true :false})'
@@ -73,8 +73,7 @@ module RuboCop
73
73
 
74
74
  def const_name?(name)
75
75
  name = name.to_s
76
- (allowed_names.empty? || allowed_names.include?(name)) &&
77
- !ignored_names.include?(name)
76
+ (allowed_names.empty? || allowed_names.include?(name)) && !ignored_names.include?(name)
78
77
  end
79
78
 
80
79
  def allowed_names
@@ -58,8 +58,7 @@ module RuboCop
58
58
  DeprecatedClassMethod.new(deprecated: :exists?,
59
59
  replacement: :exist?,
60
60
  class_constant: :Dir),
61
- DeprecatedClassMethod.new(deprecated: :iterator?,
62
- replacement: :block_given?)
61
+ DeprecatedClassMethod.new(deprecated: :iterator?, replacement: :block_given?)
63
62
  ].freeze
64
63
 
65
64
  RESTRICT_ON_SEND = DEPRECATED_METHODS_OBJECT.map(&:deprecated_method).freeze
@@ -96,8 +95,7 @@ module RuboCop
96
95
 
97
96
  def method_call(class_constant, method)
98
97
  if class_constant
99
- format('%<constant>s.%<method>s', constant: class_constant,
100
- method: method)
98
+ format('%<constant>s.%<method>s', constant: class_constant, method: method)
101
99
  else
102
100
  format('%<method>s', method: method)
103
101
  end
@@ -42,7 +42,7 @@ module RuboCop
42
42
  # Maybe further investigation of RuboCop AST will lead to an essential solution.
43
43
  return unless node.loc
44
44
 
45
- constant = node.absolute? ? consntant_name(node, node.short_name.to_s) : node.source
45
+ constant = node.absolute? ? constant_name(node, node.short_name.to_s) : node.source
46
46
  return unless (deprecated_constant = deprecated_constants[constant])
47
47
 
48
48
  alternative = deprecated_constant['Alternative']
@@ -55,10 +55,10 @@ module RuboCop
55
55
 
56
56
  private
57
57
 
58
- def consntant_name(node, nested_constant_name)
58
+ def constant_name(node, nested_constant_name)
59
59
  return nested_constant_name unless node.namespace.const_type?
60
60
 
61
- consntant_name(node.namespace, "#{node.namespace.short_name}::#{nested_constant_name}")
61
+ constant_name(node.namespace, "#{node.namespace.short_name}::#{nested_constant_name}")
62
62
  end
63
63
 
64
64
  def message(good, bad, deprecated_version)
@@ -41,8 +41,7 @@ module RuboCop
41
41
  include RangeHelp
42
42
  extend AutoCorrector
43
43
 
44
- MSG = 'Use `%<constant>s.%<method>s(%<replacement_args>s)`' \
45
- ' instead of `%<original>s`.'
44
+ MSG = 'Use `%<constant>s.%<method>s(%<replacement_args>s)` instead of `%<original>s`.'
46
45
 
47
46
  NO_ARG_ALGORITHM = %w[BF DES IDEA RC4].freeze
48
47
 
@@ -62,9 +61,7 @@ module RuboCop
62
61
 
63
62
  message = message(node)
64
63
 
65
- add_offense(node, message: message) do |corrector|
66
- autocorrect(corrector, node)
67
- end
64
+ add_offense(node, message: message) { |corrector| autocorrect(corrector, node) }
68
65
  end
69
66
 
70
67
  private
@@ -104,8 +104,7 @@ module RuboCop
104
104
  def offense_range(duplicate_branch)
105
105
  parent = duplicate_branch.parent
106
106
 
107
- if parent.respond_to?(:else_branch) &&
108
- parent.else_branch.equal?(duplicate_branch)
107
+ if parent.respond_to?(:else_branch) && parent.else_branch.equal?(duplicate_branch)
109
108
  if parent.if_type? && parent.ternary?
110
109
  duplicate_branch.source_range
111
110
  else
@@ -28,9 +28,7 @@ module RuboCop
28
28
 
29
29
  return unless duplicates?(keys)
30
30
 
31
- consecutive_duplicates(keys).each do |key|
32
- add_offense(key)
33
- end
31
+ consecutive_duplicates(keys).each { |key| add_offense(key) }
34
32
  end
35
33
  end
36
34
  end
@@ -50,11 +50,9 @@ module RuboCop
50
50
  #
51
51
  # alias bar foo
52
52
  class DuplicateMethods < Base
53
- MSG = 'Method `%<method>s` is defined at both %<defined>s and ' \
54
- '%<current>s.'
53
+ MSG = 'Method `%<method>s` is defined at both %<defined>s and %<current>s.'
55
54
 
56
- RESTRICT_ON_SEND = %i[alias_method attr_reader attr_writer
57
- attr_accessor attr].freeze
55
+ RESTRICT_ON_SEND = %i[alias_method attr_reader attr_writer attr_accessor attr].freeze
58
56
 
59
57
  def initialize(config = nil, options = nil)
60
58
  super
@@ -192,9 +190,7 @@ module RuboCop
192
190
  namespace, mod_name = *ancestor.defined_module
193
191
  loop do
194
192
  if mod_name == const_name
195
- return qualified_name(ancestor.parent_module_name,
196
- namespace,
197
- mod_name)
193
+ return qualified_name(ancestor.parent_module_name, namespace, mod_name)
198
194
  end
199
195
 
200
196
  break if namespace.nil?
@@ -74,9 +74,7 @@ module RuboCop
74
74
  return unless first_else
75
75
  return unless first_else.source_range.line == node.loc.else.line
76
76
 
77
- add_offense(first_else) do |corrector|
78
- autocorrect(corrector, node, first_else)
79
- end
77
+ add_offense(first_else) { |corrector| autocorrect(corrector, node, first_else) }
80
78
  end
81
79
 
82
80
  def autocorrect(corrector, node, first_else)
@@ -50,9 +50,7 @@ module RuboCop
50
50
  def on_ensure(node)
51
51
  return if node.body
52
52
 
53
- add_offense(node.loc.keyword) do |corrector|
54
- corrector.remove(node.loc.keyword)
55
- end
53
+ add_offense(node.loc.keyword) { |corrector| corrector.remove(node.loc.keyword) }
56
54
  end
57
55
  end
58
56
  end
@@ -40,9 +40,7 @@ module RuboCop
40
40
  end
41
41
 
42
42
  def contains_only_comments?
43
- processed_source.lines.all? do |line|
44
- line.blank? || comment_line?(line)
45
- end
43
+ processed_source.lines.all? { |line| line.blank? || comment_line?(line) }
46
44
  end
47
45
  end
48
46
  end
@@ -25,9 +25,7 @@ module RuboCop
25
25
  def on_interpolation(begin_node)
26
26
  return unless begin_node.children.empty?
27
27
 
28
- add_offense(begin_node) do |corrector|
29
- corrector.remove(begin_node.loc.expression)
30
- end
28
+ add_offense(begin_node) { |corrector| corrector.remove(begin_node.loc.expression) }
31
29
  end
32
30
  end
33
31
  end
@@ -51,9 +51,7 @@ module RuboCop
51
51
  MSG = 'Do not return from an `ensure` block.'
52
52
 
53
53
  def on_ensure(node)
54
- node.body&.each_node(:return) do |return_node|
55
- add_offense(return_node)
56
- end
54
+ node.body&.each_node(:return) { |return_node| add_offense(return_node) }
57
55
  end
58
56
  end
59
57
  end
@@ -112,16 +112,13 @@ module RuboCop
112
112
  kwargs = build_kwargs(node)
113
113
  overridden_kwargs = override_by_legacy_args(kwargs, node)
114
114
 
115
- good_arguments = [
116
- str_arg, overridden_kwargs
117
- ].flatten.compact.join(', ')
115
+ good_arguments = [str_arg, overridden_kwargs].flatten.compact.join(', ')
118
116
 
119
117
  corrector.replace(arguments_range(node), good_arguments)
120
118
  end
121
119
 
122
120
  def correct_arguments?(arguments)
123
- arguments.size == 1 ||
124
- arguments.size == 2 && arguments[1].hash_type?
121
+ arguments.size == 1 || arguments.size == 2 && arguments[1].hash_type?
125
122
  end
126
123
 
127
124
  def build_kwargs(node)
@@ -157,8 +154,7 @@ module RuboCop
157
154
  def arguments_range(node)
158
155
  arguments = node.arguments
159
156
 
160
- range_between(arguments.first.source_range.begin_pos,
161
- arguments.last.source_range.end_pos)
157
+ range_between(arguments.first.source_range.begin_pos, arguments.last.source_range.end_pos)
162
158
  end
163
159
  end
164
160
  end
@@ -24,8 +24,7 @@ module RuboCop
24
24
  def on_float(node)
25
25
  value, = *node
26
26
 
27
- return unless value.infinite? ||
28
- value.zero? && /[1-9]/.match?(node.source)
27
+ return unless value.infinite? || value.zero? && /[1-9]/.match?(node.source)
29
28
 
30
29
  add_offense(node)
31
30
  end
@@ -140,8 +140,7 @@ module RuboCop
140
140
  end
141
141
 
142
142
  def format_method?(name, node)
143
- return false if node.const_receiver? &&
144
- !node.receiver.loc.name.is?(KERNEL)
143
+ return false if node.const_receiver? && !node.receiver.loc.name.is?(KERNEL)
145
144
  return false unless node.method?(name)
146
145
 
147
146
  node.arguments.size > 1 && node.first_argument.str_type?
@@ -174,11 +173,9 @@ module RuboCop
174
173
  receiver = node.receiver
175
174
 
176
175
  percent = node.method?(:%) &&
177
- (STRING_TYPES.include?(receiver.type) ||
178
- node.first_argument.array_type?)
176
+ (STRING_TYPES.include?(receiver.type) || node.first_argument.array_type?)
179
177
 
180
- return false if percent && STRING_TYPES.include?(receiver.type) &&
181
- heredoc?(node)
178
+ return false if percent && STRING_TYPES.include?(receiver.type) && heredoc?(node)
182
179
 
183
180
  percent
184
181
  end
@@ -34,8 +34,7 @@ module RuboCop
34
34
  include RangeHelp
35
35
  extend AutoCorrector
36
36
 
37
- MSG = 'Put a method call with a HEREDOC receiver on the ' \
38
- 'same line as the HEREDOC opening.'
37
+ MSG = 'Put a method call with a HEREDOC receiver on the same line as the HEREDOC opening.'
39
38
 
40
39
  def on_send(node)
41
40
  heredoc = heredoc_node_descendent_receiver(node)
@@ -73,8 +73,7 @@ module RuboCop
73
73
  end
74
74
 
75
75
  def string_literal?(node)
76
- node.str_type? ||
77
- (node.dstr_type? && node.children.all? { |c| string_literal?(c) })
76
+ node.str_type? || (node.dstr_type? && node.children.all? { |c| string_literal?(c) })
78
77
  end
79
78
 
80
79
  def string_literals?(node1, node2)
@@ -48,10 +48,8 @@ module RuboCop
48
48
  class IneffectiveAccessModifier < Base
49
49
  MSG = '`%<modifier>s` (on line %<line>d) does not make singleton ' \
50
50
  'methods %<modifier>s. Use %<alternative>s instead.'
51
- ALTERNATIVE_PRIVATE = '`private_class_method` or `private` inside a ' \
52
- '`class << self` block'
53
- ALTERNATIVE_PROTECTED = '`protected` inside a `class << self` ' \
54
- 'block'
51
+ ALTERNATIVE_PRIVATE = '`private_class_method` or `private` inside a `class << self` block'
52
+ ALTERNATIVE_PROTECTED = '`protected` inside a `class << self` block'
55
53
 
56
54
  # @!method private_class_methods(node)
57
55
  def_node_search :private_class_methods, <<~PATTERN
@@ -74,9 +72,7 @@ module RuboCop
74
72
  end
75
73
 
76
74
  def private_class_method_names(node)
77
- private_class_methods(node).to_a.flatten
78
- .select(&:basic_literal?)
79
- .map(&:value)
75
+ private_class_methods(node).to_a.flatten.select(&:basic_literal?).map(&:value)
80
76
  end
81
77
 
82
78
  def format_message(modifier)
@@ -66,8 +66,7 @@ module RuboCop
66
66
  PATTERN
67
67
 
68
68
  def on_class(node)
69
- return unless node.parent_class &&
70
- illegal_class_name?(node.parent_class)
69
+ return unless node.parent_class && illegal_class_name?(node.parent_class)
71
70
 
72
71
  message = message(node.parent_class)
73
72
 
@@ -23,23 +23,16 @@ module RuboCop
23
23
  'Use double quoted strings if you need interpolation.'
24
24
 
25
25
  def on_str(node)
26
- return unless node
27
- return if string_or_regex?(node.parent)
26
+ return if node.parent&.regexp_type?
28
27
  return unless /(?<!\\)#\{.*\}/.match?(node.source)
29
28
  return if heredoc?(node)
30
29
  return unless node.loc.begin && node.loc.end
31
30
 
32
- add_offense(node) do |corrector|
33
- autocorrect(corrector, node)
34
- end
31
+ add_offense(node) { |corrector| autocorrect(corrector, node) }
35
32
  end
36
33
 
37
34
  private
38
35
 
39
- def string_or_regex?(node)
40
- node&.dstr_type? || node&.regexp_type?
41
- end
42
-
43
36
  def autocorrect(corrector, node)
44
37
  starting_token, ending_token = if node.source.include?('"')
45
38
  ['%{', '}']
@@ -52,8 +45,7 @@ module RuboCop
52
45
  end
53
46
 
54
47
  def heredoc?(node)
55
- node.loc.is_a?(Parser::Source::Map::Heredoc) ||
56
- (node.parent && heredoc?(node.parent))
48
+ node.loc.is_a?(Parser::Source::Map::Heredoc) || (node.parent && heredoc?(node.parent))
57
49
  end
58
50
  end
59
51
  end
@@ -34,8 +34,7 @@ module RuboCop
34
34
  # interpolation should not be removed if the expanded value
35
35
  # contains a space character.
36
36
  expanded_value = autocorrected_value(final_node)
37
- return if in_array_percent_literal?(begin_node) &&
38
- /\s/.match?(expanded_value)
37
+ return if in_array_percent_literal?(begin_node) && /\s/.match?(expanded_value)
39
38
 
40
39
  add_offense(final_node) do |corrector|
41
40
  return if final_node.dstr_type? # nested, fixed in next iteration
@@ -56,8 +55,7 @@ module RuboCop
56
55
 
57
56
  def special_keyword?(node)
58
57
  # handle strings like __FILE__
59
- (node.str_type? && !node.loc.respond_to?(:begin)) ||
60
- node.source_range.is?('__LINE__')
58
+ (node.str_type? && !node.loc.respond_to?(:begin)) || node.source_range.is?('__LINE__')
61
59
  end
62
60
 
63
61
  def autocorrected_value(node)
@@ -101,8 +99,7 @@ module RuboCop
101
99
  # Does node print its own source when converted to a string?
102
100
  def prints_as_self?(node)
103
101
  node.basic_literal? ||
104
- (COMPOSITE.include?(node.type) &&
105
- node.children.all? { |child| prints_as_self?(child) })
102
+ (COMPOSITE.include?(node.type) && node.children.all? { |child| prints_as_self?(child) })
106
103
  end
107
104
 
108
105
  def space_literal?(node)
@@ -49,8 +49,7 @@ module RuboCop
49
49
  class Loop < Base
50
50
  extend AutoCorrector
51
51
 
52
- MSG = 'Use `Kernel#loop` with `break` rather than ' \
53
- '`begin/end/until`(or `while`).'
52
+ MSG = 'Use `Kernel#loop` with `break` rather than `begin/end/until`(or `while`).'
54
53
 
55
54
  def on_while_post(node)
56
55
  register_offense(node)
@@ -45,10 +45,8 @@ module RuboCop
45
45
  class MissingCopEnableDirective < Base
46
46
  include RangeHelp
47
47
 
48
- MSG = 'Re-enable %<cop>s cop with `# rubocop:enable` after ' \
49
- 'disabling it.'
50
- MSG_BOUND = 'Re-enable %<cop>s cop within %<max_range>s lines after ' \
51
- 'disabling it.'
48
+ MSG = 'Re-enable %<cop>s cop with `# rubocop:enable` after disabling it.'
49
+ MSG_BOUND = 'Re-enable %<cop>s cop within %<max_range>s lines after disabling it.'
52
50
 
53
51
  # rubocop:disable Metrics/AbcSize
54
52
  def on_new_investigation
@@ -59,9 +57,7 @@ module RuboCop
59
57
  # the case when max_range is Float::INFINITY
60
58
  next if line_range.max - line_range.min < max_range + 2
61
59
 
62
- range = source_range(processed_source.buffer,
63
- line_range.min,
64
- (0..0))
60
+ range = source_range(processed_source.buffer, line_range.min, (0..0))
65
61
 
66
62
  add_offense(range, message: message(max_range: max_range, cop: cop))
67
63
  end
@@ -53,8 +53,7 @@ module RuboCop
53
53
  singleton_method_added singleton_method_removed
54
54
  singleton_method_undefined].freeze
55
55
 
56
- CALLBACKS = (CLASS_LIFECYCLE_CALLBACKS +
57
- METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
56
+ CALLBACKS = (CLASS_LIFECYCLE_CALLBACKS + METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
58
57
 
59
58
  def on_def(node)
60
59
  return unless offender?(node)
@@ -21,8 +21,7 @@ module RuboCop
21
21
  # /(FOO)(BAR)/
22
22
  #
23
23
  class MixedRegexpCaptureTypes < Base
24
- MSG = 'Do not mix named captures and numbered captures ' \
25
- 'in a Regexp literal.'
24
+ MSG = 'Do not mix named captures and numbered captures in a Regexp literal.'
26
25
 
27
26
  def on_regexp(node)
28
27
  return if node.interpolation?
@@ -55,8 +55,7 @@ module RuboCop
55
55
  # end
56
56
  # end
57
57
  class NestedMethodDefinition < Base
58
- MSG = 'Method definitions must not be nested. ' \
59
- 'Use `lambda` instead.'
58
+ MSG = 'Method definitions must not be nested. Use `lambda` instead.'
60
59
 
61
60
  def on_def(node)
62
61
  subject, = *node