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
@@ -51,12 +51,8 @@ module RuboCop
51
51
  method_def = node.each_descendant(:def, :defs).first
52
52
  expr = node.source_range
53
53
 
54
- line_start = range_between(expr.begin_pos,
55
- method_def.loc.keyword.end_pos)
56
- align_with = {
57
- def: method_def.loc.keyword,
58
- start_of_line: line_start
59
- }
54
+ line_start = range_between(expr.begin_pos, method_def.loc.keyword.end_pos)
55
+ align_with = { def: method_def.loc.keyword, start_of_line: line_start }
60
56
 
61
57
  check_end_kw_alignment(method_def, align_with)
62
58
  ignore_node(method_def) # Don't check the same `end` again.
@@ -35,9 +35,7 @@ module RuboCop
35
35
  dot = node.loc.dot
36
36
  message = message(dot)
37
37
 
38
- add_offense(dot, message: message) do |corrector|
39
- autocorrect(corrector, dot, node)
40
- end
38
+ add_offense(dot, message: message) { |corrector| autocorrect(corrector, dot, node) }
41
39
  end
42
40
  alias on_csend on_send
43
41
 
@@ -63,9 +63,7 @@ module RuboCop
63
63
  def on_case_match(node)
64
64
  return unless node.else?
65
65
 
66
- check_alignment(
67
- node.in_pattern_branches.last.loc.keyword, node.loc.else
68
- )
66
+ check_alignment(node.in_pattern_branches.last.loc.keyword, node.loc.else)
69
67
  end
70
68
 
71
69
  private
@@ -75,9 +75,7 @@ module RuboCop
75
75
  processed_source.comments.each do |comment|
76
76
  next unless empty_comment_only?(comment_text(comment))
77
77
 
78
- add_offense(comment) do |corrector|
79
- autocorrect(corrector, comment)
80
- end
78
+ add_offense(comment) { |corrector| autocorrect(corrector, comment) }
81
79
  end
82
80
  end
83
81
  end
@@ -99,19 +97,16 @@ module RuboCop
99
97
  def autocorrect(corrector, node)
100
98
  previous_token = previous_token(node)
101
99
  range = if previous_token && node.loc.line == previous_token.line
102
- range_with_surrounding_space(range: node.loc.expression,
103
- newlines: false)
100
+ range_with_surrounding_space(range: node.loc.expression, newlines: false)
104
101
  else
105
- range_by_whole_lines(node.loc.expression,
106
- include_final_newline: true)
102
+ range_by_whole_lines(node.loc.expression, include_final_newline: true)
107
103
  end
108
104
 
109
105
  corrector.remove(range)
110
106
  end
111
107
 
112
108
  def concat_consecutive_comments(comments)
113
- consecutive_comments =
114
- comments.chunk_while { |i, j| i.loc.line.succ == j.loc.line }
109
+ consecutive_comments = comments.chunk_while { |i, j| i.loc.line.succ == j.loc.line }
115
110
 
116
111
  consecutive_comments.map do |chunk|
117
112
  joined_text = chunk.map { |c| comment_text(c) }.join
@@ -142,9 +137,7 @@ module RuboCop
142
137
  end
143
138
 
144
139
  def current_token(comment)
145
- processed_source.find_token do |token|
146
- token.pos == comment.loc.expression
147
- end
140
+ processed_source.find_token { |token| token.pos == comment.loc.expression }
148
141
  end
149
142
 
150
143
  def previous_token(node)
@@ -47,18 +47,15 @@ module RuboCop
47
47
 
48
48
  if node.modifier_form? && last_argument_is_heredoc?(node)
49
49
  heredoc_node = last_heredoc_argument(node)
50
-
51
- return if next_line_empty?(heredoc_line(node, heredoc_node))
50
+ return if next_line_empty_or_enable_directive_comment?(heredoc_line(node, heredoc_node))
52
51
 
53
52
  add_offense(heredoc_node.loc.heredoc_end) do |corrector|
54
53
  autocorrect(corrector, heredoc_node)
55
54
  end
56
55
  else
57
- return if next_line_empty?(node.last_line)
56
+ return if next_line_empty_or_enable_directive_comment?(node.last_line)
58
57
 
59
- add_offense(offense_location(node)) do |corrector|
60
- autocorrect(corrector, node)
61
- end
58
+ add_offense(offense_location(node)) { |corrector| autocorrect(corrector, node) }
62
59
  end
63
60
  end
64
61
 
@@ -71,6 +68,11 @@ module RuboCop
71
68
  range_by_whole_lines(node.source_range)
72
69
  end
73
70
 
71
+ next_line = node_range.last_line + 1
72
+ if next_line_enable_directive_comment?(next_line)
73
+ node_range = processed_source.comment_at_line(next_line)
74
+ end
75
+
74
76
  corrector.insert_after(node_range, "\n")
75
77
  end
76
78
 
@@ -85,10 +87,23 @@ module RuboCop
85
87
  node.if_branch&.guard_clause?
86
88
  end
87
89
 
90
+ def next_line_empty_or_enable_directive_comment?(line)
91
+ return true if next_line_empty?(line)
92
+
93
+ next_line = line + 1
94
+ next_line_enable_directive_comment?(next_line) && next_line_empty?(next_line)
95
+ end
96
+
88
97
  def next_line_empty?(line)
89
98
  processed_source[line].blank?
90
99
  end
91
100
 
101
+ def next_line_enable_directive_comment?(line)
102
+ return false unless (comment = processed_source.comment_at_line(line))
103
+
104
+ DirectiveComment.new(comment).enabled?
105
+ end
106
+
92
107
  def next_line_rescue_or_ensure?(node)
93
108
  parent = node.parent
94
109
  parent.nil? || parent.rescue_type? || parent.ensure_type?
@@ -137,8 +152,7 @@ module RuboCop
137
152
 
138
153
  def heredoc_line(node, heredoc_node)
139
154
  heredoc_body = heredoc_node.loc.heredoc_body
140
- num_of_heredoc_lines =
141
- heredoc_body.last_line - heredoc_body.first_line
155
+ num_of_heredoc_lines = heredoc_body.last_line - heredoc_body.first_line
142
156
 
143
157
  node.last_line + num_of_heredoc_lines + END_OF_HEREDOC_LINE
144
158
  end
@@ -111,8 +111,7 @@ module RuboCop
111
111
 
112
112
  return if line_count_allowed?(count)
113
113
  return if multiple_blank_lines_groups?(*nodes)
114
- return if nodes.all?(&:single_line?) &&
115
- cop_config['AllowAdjacentOneLineDefs']
114
+ return if nodes.all?(&:single_line?) && cop_config['AllowAdjacentOneLineDefs']
116
115
 
117
116
  correction_node = nodes.last
118
117
  location = correction_node.loc.keyword.join(correction_node.loc.name)
@@ -160,10 +159,7 @@ module RuboCop
160
159
  def message(node, count: nil)
161
160
  type = node_type(node)
162
161
 
163
- format(MSG,
164
- type: type,
165
- expected: expected_lines,
166
- actual: count)
162
+ format(MSG, type: type, expected: expected_lines, actual: count)
167
163
  end
168
164
 
169
165
  def expected_lines
@@ -29,9 +29,7 @@ module RuboCop
29
29
  return if processed_source.tokens.empty?
30
30
 
31
31
  lines = Set.new
32
- processed_source.each_token do |token|
33
- lines << token.line
34
- end
32
+ processed_source.each_token { |token| lines << token.line }
35
33
 
36
34
  each_extra_empty_line(lines.sort) do |range|
37
35
  add_offense(range) do |corrector|
@@ -46,8 +46,7 @@ module RuboCop
46
46
  extend AutoCorrector
47
47
 
48
48
  MSG_AFTER = 'Keep a blank line after `%<modifier>s`.'
49
- MSG_BEFORE_AND_AFTER = 'Keep a blank line before and after ' \
50
- '`%<modifier>s`.'
49
+ MSG_BEFORE_AND_AFTER = 'Keep a blank line before and after `%<modifier>s`.'
51
50
 
52
51
  MSG_BEFORE_FOR_ONLY_BEFORE = 'Keep a blank line before `%<modifier>s`.'
53
52
  MSG_AFTER_FOR_ONLY_BEFORE = 'Remove a blank line after `%<modifier>s`.'
@@ -73,10 +72,8 @@ module RuboCop
73
72
  end
74
73
 
75
74
  def on_sclass(node)
76
- @class_or_module_def_first_line =
77
- node.identifier.source_range.first_line
78
- @class_or_module_def_last_line =
79
- node.source_range.last_line
75
+ @class_or_module_def_first_line = node.identifier.source_range.first_line
76
+ @class_or_module_def_last_line = node.source_range.last_line
80
77
  end
81
78
 
82
79
  def on_block(node)
@@ -133,19 +130,14 @@ module RuboCop
133
130
  end
134
131
 
135
132
  def previous_line_ignoring_comments(processed_source, send_line)
136
- processed_source[0..send_line - 2].reverse.find do |line|
137
- !comment_line?(line)
138
- end
133
+ processed_source[0..send_line - 2].reverse.find { |line| !comment_line?(line) }
139
134
  end
140
135
 
141
136
  def previous_line_empty?(send_line)
142
- previous_line = previous_line_ignoring_comments(processed_source,
143
- send_line)
137
+ previous_line = previous_line_ignoring_comments(processed_source, send_line)
144
138
  return true unless previous_line
145
139
 
146
- block_start?(send_line) ||
147
- class_def?(send_line) ||
148
- previous_line.blank?
140
+ block_start?(send_line) || class_def?(send_line) || previous_line.blank?
149
141
  end
150
142
 
151
143
  def next_line_empty?(last_send_line)
@@ -155,8 +147,7 @@ module RuboCop
155
147
  end
156
148
 
157
149
  def empty_lines_around?(node)
158
- previous_line_empty?(node.first_line) &&
159
- next_line_empty?(node.last_line)
150
+ previous_line_empty?(node.first_line) && next_line_empty?(node.last_line)
160
151
  end
161
152
 
162
153
  def class_def?(line)
@@ -193,8 +184,7 @@ module RuboCop
193
184
  def message_for_around_style(node)
194
185
  send_line = node.first_line
195
186
 
196
- if block_start?(send_line) ||
197
- class_def?(send_line)
187
+ if block_start?(send_line) || class_def?(send_line)
198
188
  format(MSG_AFTER, modifier: node.loc.selector.source)
199
189
  else
200
190
  format(MSG_BEFORE_AND_AFTER, modifier: node.loc.selector.source)
@@ -84,10 +84,7 @@ module RuboCop
84
84
  # below the keyword
85
85
  check_line(style, line, message('after', keyword), &:empty?)
86
86
  # above the keyword
87
- check_line(style,
88
- line - 2,
89
- message('before', keyword),
90
- &:empty?)
87
+ check_line(style, line - 2, message('before', keyword), &:empty?)
91
88
  end
92
89
  end
93
90
 
@@ -113,10 +110,7 @@ module RuboCop
113
110
  end
114
111
 
115
112
  def keyword_locations_in_rescue(node)
116
- [
117
- node.loc.else,
118
- *node.resbody_branches.map { |body| body.loc.keyword }
119
- ].compact
113
+ [node.loc.else, *node.resbody_branches.map { |body| body.loc.keyword }].compact
120
114
  end
121
115
 
122
116
  def keyword_locations_in_ensure(node)
@@ -168,8 +168,7 @@ module RuboCop
168
168
  return node.parent if node.case_type? && node.argument?
169
169
 
170
170
  assignment = node.ancestors.find(&:assignment_or_similar?)
171
- if assignment && !line_break_before_keyword?(assignment.source_range,
172
- node)
171
+ if assignment && !line_break_before_keyword?(assignment.source_range, node)
173
172
  assignment
174
173
  else
175
174
  # Fall back to 'keyword' style if this node is not on the RHS of an
@@ -65,7 +65,7 @@ module RuboCop
65
65
 
66
66
  # If there is no LF on the last line, we don't care if there's no CR.
67
67
  def unimportant_missing_cr?(index, last_line, line)
68
- style == :crlf && index == last_line - 1 && !/\n$/.match?(line)
68
+ style == :crlf && index == last_line - 1 && !line.end_with?("\n")
69
69
  end
70
70
 
71
71
  def offense_message(line)
@@ -34,8 +34,7 @@ module RuboCop
34
34
  include RangeHelp
35
35
 
36
36
  MSG_UNNECESSARY = 'Unnecessary spacing detected.'
37
- MSG_UNALIGNED_ASGN = '`=` is not aligned with the %<location>s ' \
38
- 'assignment.'
37
+ MSG_UNALIGNED_ASGN = '`=` is not aligned with the %<location>s assignment.'
39
38
 
40
39
  def on_new_investigation
41
40
  return if processed_source.blank?
@@ -81,15 +80,12 @@ module RuboCop
81
80
  end
82
81
 
83
82
  def check_other(token1, token2, ast)
84
- return false if allow_for_trailing_comments? &&
85
- token2.text.start_with?('#')
83
+ return false if allow_for_trailing_comments? && token2.text.start_with?('#')
86
84
 
87
85
  extra_space_range(token1, token2) do |range|
88
86
  next if ignored_range?(ast, range.begin_pos)
89
87
 
90
- add_offense(range, message: MSG_UNNECESSARY) do |corrector|
91
- corrector.remove(range)
92
- end
88
+ add_offense(range, message: MSG_UNNECESSARY) { |corrector| corrector.remove(range) }
93
89
  end
94
90
  end
95
91
 
@@ -120,8 +120,7 @@ module RuboCop
120
120
  check_first(first_elem, left_bracket, left_parenthesis, 0)
121
121
  end
122
122
 
123
- check_right_bracket(array_node.loc.end, left_bracket,
124
- left_parenthesis)
123
+ check_right_bracket(array_node.loc.end, left_bracket, left_parenthesis)
125
124
  end
126
125
 
127
126
  def check_right_bracket(right_bracket, left_bracket, left_parenthesis)
@@ -21,8 +21,7 @@ module RuboCop
21
21
  include FirstElementLineBreak
22
22
  extend AutoCorrector
23
23
 
24
- MSG = 'Add a line break before the first element of a ' \
25
- 'multi-line array.'
24
+ MSG = 'Add a line break before the first element of a multi-line array.'
26
25
 
27
26
  def on_array(node)
28
27
  return if !node.loc.begin && !assignment_on_same_line?(node)
@@ -117,8 +117,7 @@ module RuboCop
117
117
  return if first_pair.first_line == left_brace.line
118
118
 
119
119
  if separator_style?(first_pair)
120
- check_based_on_longest_key(hash_node, left_brace,
121
- left_parenthesis)
120
+ check_based_on_longest_key(hash_node, left_brace, left_parenthesis)
122
121
  else
123
122
  check_first(first_pair, left_brace, left_parenthesis, 0)
124
123
  end
@@ -148,9 +147,7 @@ module RuboCop
148
147
  end
149
148
 
150
149
  def check_based_on_longest_key(hash_node, left_brace, left_parenthesis)
151
- key_lengths = hash_node.keys.map do |key|
152
- key.source_range.length
153
- end
150
+ key_lengths = hash_node.keys.map { |key| key.source_range.length }
154
151
  check_first(hash_node.pairs.first, left_brace, left_parenthesis,
155
152
  key_lengths.max - key_lengths.first)
156
153
  end
@@ -20,8 +20,7 @@ module RuboCop
20
20
  include FirstElementLineBreak
21
21
  extend AutoCorrector
22
22
 
23
- MSG = 'Add a line break before the first element of a ' \
24
- 'multi-line hash.'
23
+ MSG = 'Add a line break before the first element of a multi-line hash.'
25
24
 
26
25
  def on_hash(node)
27
26
  # node.loc.begin tells us whether the hash opens with a {
@@ -24,8 +24,7 @@ module RuboCop
24
24
  include FirstElementLineBreak
25
25
  extend AutoCorrector
26
26
 
27
- MSG = 'Add a line break before the first argument of a ' \
28
- 'multi-line method argument list.'
27
+ MSG = 'Add a line break before the first argument of a multi-line method argument list.'
29
28
 
30
29
  def on_send(node)
31
30
  args = node.arguments.dup
@@ -30,8 +30,7 @@ module RuboCop
30
30
  include FirstElementLineBreak
31
31
  extend AutoCorrector
32
32
 
33
- MSG = 'Add a line break before the first parameter of a ' \
34
- 'multi-line method parameter list.'
33
+ MSG = 'Add a line break before the first parameter of a multi-line method parameter list.'
35
34
 
36
35
  def on_def(node)
37
36
  check_method_line_break(node, node.arguments)
@@ -193,8 +193,7 @@ module RuboCop
193
193
 
194
194
  last_argument = node.last_argument
195
195
 
196
- return unless last_argument.hash_type? &&
197
- ignore_hash_argument?(last_argument)
196
+ return unless last_argument.hash_type? && ignore_hash_argument?(last_argument)
198
197
 
199
198
  ignore_node(last_argument)
200
199
  end
@@ -282,13 +281,11 @@ module RuboCop
282
281
  end
283
282
 
284
283
  def alignment_for_hash_rockets
285
- @alignment_for_hash_rockets ||=
286
- new_alignment('EnforcedHashRocketStyle')
284
+ @alignment_for_hash_rockets ||= new_alignment('EnforcedHashRocketStyle')
287
285
  end
288
286
 
289
287
  def alignment_for_colons
290
- @alignment_for_colons ||=
291
- new_alignment('EnforcedColonStyle')
288
+ @alignment_for_colons ||= new_alignment('EnforcedColonStyle')
292
289
  end
293
290
 
294
291
  def correct_node(corrector, node, delta)
@@ -132,9 +132,7 @@ module RuboCop
132
132
  end
133
133
 
134
134
  def extract_heredoc_argument(node)
135
- node.arguments.find do |arg_node|
136
- extract_heredoc(arg_node)
137
- end
135
+ node.arguments.find { |arg_node| extract_heredoc(arg_node) }
138
136
  end
139
137
 
140
138
  def extract_heredoc(node)
@@ -234,12 +232,7 @@ module RuboCop
234
232
  def remove_internal_trailing_comma(node, corrector)
235
233
  offset = internal_trailing_comma_offset_from_last_arg(node)
236
234
  last_arg_end_pos = node.children.last.source_range.end_pos
237
- corrector.remove(
238
- range_between(
239
- last_arg_end_pos,
240
- last_arg_end_pos + offset
241
- )
242
- )
235
+ corrector.remove(range_between(last_arg_end_pos, last_arg_end_pos + offset))
243
236
  end
244
237
 
245
238
  def internal_trailing_comma?(node)