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
@@ -32,10 +32,7 @@ module RuboCop
32
32
  return unless discount_repeated_attributes
33
33
 
34
34
  self_attributes = {} # Share hash for `(send nil? :foo)` and `(send (self) :foo)`
35
- @known_attributes = {
36
- s(:self) => self_attributes,
37
- nil => self_attributes
38
- }
35
+ @known_attributes = { s(:self) => self_attributes, nil => self_attributes }
39
36
  # example after running `obj = foo.bar; obj.baz.qux`
40
37
  # { nil => {foo: {bar: {}}},
41
38
  # s(self) => same hash ^,
@@ -114,9 +111,7 @@ module RuboCop
114
111
  return yield nil
115
112
  end
116
113
 
117
- calls.fetch(value) do
118
- yield [calls, value]
119
- end
114
+ calls.fetch(value) { yield [calls, value] }
120
115
  end
121
116
 
122
117
  VAR_SETTER_TO_GETTER = {
@@ -11,8 +11,7 @@ module RuboCop
11
11
 
12
12
  MSG = 'Department name is missing.'
13
13
 
14
- DISABLE_COMMENT_FORMAT =
15
- /\A(# *rubocop *: *((dis|en)able|todo) +)(.*)/.freeze
14
+ DISABLE_COMMENT_FORMAT = /\A(# *rubocop *: *((dis|en)able|todo) +)(.*)/.freeze
16
15
 
17
16
  # The token that makes up a disable comment.
18
17
  # The allowed specification for comments after `# rubocop: disable` is
@@ -62,8 +61,7 @@ module RuboCop
62
61
  end
63
62
 
64
63
  def valid_content_token?(content_token)
65
- /\W+/.match?(content_token) ||
66
- DISABLING_COPS_CONTENT_TOKEN.match?(content_token)
64
+ /\W+/.match?(content_token) || DISABLING_COPS_CONTENT_TOKEN.match?(content_token)
67
65
  end
68
66
 
69
67
  def contain_unexpected_character_for_department_name?(name)
@@ -73,9 +71,7 @@ module RuboCop
73
71
  def qualified_legacy_cop_name(cop_name)
74
72
  legacy_cop_names = RuboCop::ConfigObsoletion.legacy_cop_names
75
73
 
76
- legacy_cop_names.detect do |legacy_cop_name|
77
- legacy_cop_name.split('/')[1] == cop_name
78
- end
74
+ legacy_cop_names.detect { |legacy_cop_name| legacy_cop_name.split('/')[1] == cop_name }
79
75
  end
80
76
  end
81
77
  end
@@ -12,8 +12,7 @@ module RuboCop
12
12
  attr_reader :column_delta
13
13
 
14
14
  def configured_indentation_width
15
- cop_config['IndentationWidth'] ||
16
- config.for_cop('Layout/IndentationWidth')['Width']
15
+ cop_config['IndentationWidth'] || config.for_cop('Layout/IndentationWidth')['Width']
17
16
  end
18
17
 
19
18
  def indentation(node)
@@ -46,8 +45,7 @@ module RuboCop
46
45
  def each_bad_alignment(items, base_column)
47
46
  prev_line = -1
48
47
  items.each do |current|
49
- if current.loc.line > prev_line &&
50
- begins_its_line?(current.source_range)
48
+ if current.loc.line > prev_line && begins_its_line?(current.source_range)
51
49
  @column_delta = base_column - display_column(current.source_range)
52
50
 
53
51
  yield current if @column_delta.nonzero?
@@ -83,7 +83,7 @@ module RuboCop
83
83
 
84
84
  # @api private
85
85
  def within_column_limit?(element, max, line)
86
- element && element.loc.column < max && element.loc.line == line
86
+ element && element.loc.column <= max && element.loc.line == line
87
87
  end
88
88
 
89
89
  # @api private
@@ -38,9 +38,7 @@ module RuboCop
38
38
 
39
39
  location = node.casgn_type? ? node.loc.name : node.loc.expression
40
40
 
41
- add_offense(location, message: message(length, max_length)) do
42
- self.max = length
43
- end
41
+ add_offense(location, message: message(length, max_length)) { self.max = length }
44
42
  end
45
43
 
46
44
  # Returns true for lines that shall not be included in the count.
@@ -75,9 +75,9 @@ module RuboCop
75
75
 
76
76
  def alternative_style
77
77
  if supported_styles.size != 2
78
- raise 'alternative_style can only be used when there are exactly ' \
79
- '2 SupportedStyles'
78
+ raise 'alternative_style can only be used when there are exactly 2 SupportedStyles'
80
79
  end
80
+
81
81
  alternative_styles.first
82
82
  end
83
83
 
@@ -10,9 +10,7 @@ module RuboCop
10
10
  if valid_name?(node, name)
11
11
  correct_style_detected
12
12
  else
13
- add_offense(name_range, message: message(style)) do
14
- report_opposing_styles(node, name)
15
- end
13
+ add_offense(name_range, message: message(style)) { report_opposing_styles(node, name) }
16
14
  end
17
15
  end
18
16
 
@@ -23,8 +21,7 @@ module RuboCop
23
21
  end
24
22
 
25
23
  def valid_name?(node, name, given_style = style)
26
- name.match?(self.class::FORMATS.fetch(given_style)) ||
27
- class_emitter_method?(node, name)
24
+ name.match?(self.class::FORMATS.fetch(given_style)) || class_emitter_method?(node, name)
28
25
  end
29
26
 
30
27
  # A class emitter method is a singleton method in a class/module, where
@@ -36,9 +33,7 @@ module RuboCop
36
33
  # `def self.extended`, etc.
37
34
  node = node.parent while node.parent.defs_type?
38
35
 
39
- node.parent.each_child_node(:class).any? do |c|
40
- c.loc.name.is?(name.to_s)
41
- end
36
+ node.parent.each_child_node(:class).any? { |c| c.loc.name.is?(name.to_s) }
42
37
  end
43
38
  end
44
39
  end
@@ -11,14 +11,11 @@ module RuboCop
11
11
  private
12
12
 
13
13
  def non_public?(node)
14
- non_public_modifier?(node.parent) ||
15
- preceding_non_public_modifier?(node)
14
+ non_public_modifier?(node.parent) || preceding_non_public_modifier?(node)
16
15
  end
17
16
 
18
17
  def preceding_non_public_modifier?(node)
19
- stripped_source_upto(node.first_line).any? do |line|
20
- NON_PUBLIC_MODIFIERS.include?(line)
21
- end
18
+ stripped_source_upto(node.first_line).any? { |line| NON_PUBLIC_MODIFIERS.include?(line) }
22
19
  end
23
20
 
24
21
  def stripped_source_upto(index)
@@ -24,8 +24,7 @@ module RuboCop
24
24
  # The args node1 & node2 may represent a RuboCop::AST::Node
25
25
  # or a Parser::Source::Comment. Both respond to #loc.
26
26
  def preceding_comment?(node1, node2)
27
- node1 && node2 && precede?(node2, node1) &&
28
- comment_line?(node2.loc.expression.source)
27
+ node1 && node2 && precede?(node2, node1) && comment_line?(node2.loc.expression.source)
29
28
  end
30
29
 
31
30
  # The args node1 & node2 may represent a RuboCop::AST::Node
@@ -35,9 +34,7 @@ module RuboCop
35
34
  end
36
35
 
37
36
  def preceding_lines(node)
38
- processed_source.ast_with_comments[node].select do |line|
39
- line.loc.line < node.loc.line
40
- end
37
+ processed_source.ast_with_comments[node].select { |line| line.loc.line < node.loc.line }
41
38
  end
42
39
 
43
40
  def interpreter_directive_comment?(comment)
@@ -10,11 +10,9 @@ module RuboCop
10
10
  include ConfigurableEnforcedStyle
11
11
  include RangeHelp
12
12
 
13
- MSG_EXTRA = 'Extra empty line detected at %<kind>s body ' \
14
- '%<location>s.'
13
+ MSG_EXTRA = 'Extra empty line detected at %<kind>s body %<location>s.'
15
14
  MSG_MISSING = 'Empty line missing at %<kind>s body %<location>s.'
16
- MSG_DEFERRED = 'Empty line missing before first %<type>s ' \
17
- 'definition'
15
+ MSG_DEFERRED = 'Empty line missing before first %<type>s definition'
18
16
 
19
17
  private
20
18
 
@@ -93,9 +91,7 @@ module RuboCop
93
91
  when :no_empty_lines
94
92
  check_line(style, line_no, message(MSG_EXTRA, desc), &:empty?)
95
93
  when :empty_lines
96
- check_line(style, line_no, message(MSG_MISSING, desc)) do |line|
97
- !line.empty?
98
- end
94
+ check_line(style, line_no, message(MSG_MISSING, desc)) { |line| !line.empty? }
99
95
  end
100
96
  end
101
97
 
@@ -17,9 +17,7 @@ module RuboCop
17
17
  empty_arguments?(node) do |args|
18
18
  return if args.empty_and_without_delimiters?
19
19
 
20
- add_offense(args) do |corrector|
21
- autocorrect(corrector, args)
22
- end
20
+ add_offense(args) { |corrector| autocorrect(corrector, args) }
23
21
  end
24
22
  end
25
23
  end
@@ -55,9 +55,7 @@ module RuboCop
55
55
  source: align_with.source,
56
56
  align_line: align_with.line,
57
57
  align_col: align_with.column)
58
- add_offense(end_loc, message: msg) do |corrector|
59
- autocorrect(corrector, node)
60
- end
58
+ add_offense(end_loc, message: msg) { |corrector| autocorrect(corrector, node) }
61
59
  end
62
60
 
63
61
  def accept_end_kw_alignment?(end_loc)
@@ -27,15 +27,11 @@ module RuboCop
27
27
  end
28
28
 
29
29
  def on_class(node)
30
- class_definition(node) do
31
- add_offense(node.children[1])
32
- end
30
+ class_definition(node) { add_offense(node.children[1]) }
33
31
  end
34
32
 
35
33
  def on_send(node)
36
- class_new_definition(node) do
37
- add_offense(node.children.last)
38
- end
34
+ class_new_definition(node) { add_offense(node.children.last) }
39
35
  end
40
36
  end
41
37
  end
@@ -31,9 +31,7 @@ module RuboCop
31
31
  max = last_by_line(children)
32
32
  return if line == max.last_line
33
33
 
34
- add_offense(min) do |corrector|
35
- EmptyLineCorrector.insert_before(corrector, min)
36
- end
34
+ add_offense(min) { |corrector| EmptyLineCorrector.insert_before(corrector, min) }
37
35
  end
38
36
 
39
37
  def first_by_line(nodes)
@@ -11,9 +11,7 @@ module RuboCop
11
11
  FROZEN_STRING_LITERAL_TYPES = %i[str dstr].freeze
12
12
 
13
13
  def frozen_string_literal_comment_exists?
14
- leading_comment_lines.any? do |line|
15
- MagicComment.parse(line).valid_literal_value?
16
- end
14
+ leading_comment_lines.any? { |line| MagicComment.parse(line).valid_literal_value? }
17
15
  end
18
16
 
19
17
  private
@@ -34,9 +32,7 @@ module RuboCop
34
32
  # And the above `ruby_version >= 3.1` is undecided whether it will be
35
33
  # Ruby 3.1, 3.2, 4.0 or others.
36
34
  # See https://bugs.ruby-lang.org/issues/8976#note-41 for details.
37
- leading_comment_lines.any? do |line|
38
- MagicComment.parse(line).frozen_string_literal?
39
- end
35
+ leading_comment_lines.any? { |line| MagicComment.parse(line).frozen_string_literal? }
40
36
  end
41
37
 
42
38
  def frozen_string_literal_specified?
@@ -46,9 +42,7 @@ module RuboCop
46
42
  end
47
43
 
48
44
  def leading_comment_lines
49
- first_non_comment_token = processed_source.tokens.find do |token|
50
- !token.comment?
51
- end
45
+ first_non_comment_token = processed_source.tokens.find { |token| !token.comment? }
52
46
 
53
47
  if first_non_comment_token
54
48
  # `line` is 1-indexed so we need to subtract 1 to get the array index
@@ -60,10 +60,8 @@ module RuboCop
60
60
 
61
61
  def deltas(first_pair, current_pair)
62
62
  key_delta = key_delta(first_pair, current_pair)
63
- separator_delta = separator_delta(first_pair, current_pair,
64
- key_delta)
65
- value_delta = value_delta(first_pair, current_pair) -
66
- key_delta - separator_delta
63
+ separator_delta = separator_delta(first_pair, current_pair, key_delta)
64
+ value_delta = value_delta(first_pair, current_pair) - key_delta - separator_delta
67
65
 
68
66
  { key: key_delta, separator: separator_delta, value: value_delta }
69
67
  end
@@ -106,8 +104,7 @@ module RuboCop
106
104
  end
107
105
 
108
106
  def hash_rocket_delta(first_pair, current_pair)
109
- first_pair.loc.column + max_key_width + 1 -
110
- current_pair.loc.operator.column
107
+ first_pair.loc.column + max_key_width + 1 - current_pair.loc.operator.column
111
108
  end
112
109
 
113
110
  def value_delta(first_pair, current_pair)
@@ -4,7 +4,7 @@ module RuboCop
4
4
  module Cop
5
5
  # Common functionality for Style/HashTransformKeys and
6
6
  # Style/HashTransformValues
7
- module HashTransformMethod # rubocop:disable Metrics/ModuleLength
7
+ module HashTransformMethod
8
8
  extend NodePattern::Macros
9
9
 
10
10
  RESTRICT_ON_SEND = %i[[] to_h].freeze
@@ -21,24 +21,18 @@ module RuboCop
21
21
 
22
22
  return if target_ruby_version < 2.6
23
23
 
24
- on_bad_to_h(node) do |*match|
25
- handle_possible_offense(node, match, 'to_h {...}')
26
- end
24
+ on_bad_to_h(node) { |*match| handle_possible_offense(node, match, 'to_h {...}') }
27
25
  end
28
26
 
29
27
  def on_send(node)
30
28
  on_bad_hash_brackets_map(node) do |*match|
31
29
  handle_possible_offense(node, match, 'Hash[_.map {...}]')
32
30
  end
33
- on_bad_map_to_h(node) do |*match|
34
- handle_possible_offense(node, match, 'map {...}.to_h')
35
- end
31
+ on_bad_map_to_h(node) { |*match| handle_possible_offense(node, match, 'map {...}.to_h') }
36
32
  end
37
33
 
38
34
  def on_csend(node)
39
- on_bad_map_to_h(node) do |*match|
40
- handle_possible_offense(node, match, 'map {...}.to_h')
41
- end
35
+ on_bad_map_to_h(node) { |*match| handle_possible_offense(node, match, 'map {...}.to_h') }
42
36
  end
43
37
 
44
38
  private
@@ -115,10 +109,7 @@ module RuboCop
115
109
 
116
110
  captures = extract_captures(correction.match)
117
111
  correction.set_new_arg_name(captures.transformed_argname, corrector)
118
- correction.set_new_body_expression(
119
- captures.transforming_body_expr,
120
- corrector
121
- )
112
+ correction.set_new_body_expression(captures.transforming_body_expr, corrector)
122
113
  end
123
114
 
124
115
  # Internal helper class to hold match data
@@ -180,17 +171,11 @@ module RuboCop
180
171
  end
181
172
 
182
173
  def set_new_arg_name(transformed_argname, corrector)
183
- corrector.replace(
184
- block_node.arguments.loc.expression,
185
- "|#{transformed_argname}|"
186
- )
174
+ corrector.replace(block_node.arguments.loc.expression, "|#{transformed_argname}|")
187
175
  end
188
176
 
189
177
  def set_new_body_expression(transforming_body_expr, corrector)
190
- corrector.replace(
191
- block_node.body,
192
- transforming_body_expr.loc.expression.source
193
- )
178
+ corrector.replace(block_node.body, transforming_body_expr.loc.expression.source)
194
179
  end
195
180
  end
196
181
  end
@@ -15,9 +15,7 @@ module RuboCop
15
15
  alias on_regexp on_dstr
16
16
 
17
17
  def on_node_with_interpolations(node)
18
- node.each_child_node(:begin) do |begin_node|
19
- on_interpolation(begin_node)
20
- end
18
+ node.each_child_node(:begin) { |begin_node| on_interpolation(begin_node) }
21
19
  end
22
20
 
23
21
  # @!method on_interpolation(begin_node)
@@ -46,8 +46,7 @@ module RuboCop
46
46
  end_position += match.offset(0).last
47
47
  end
48
48
 
49
- return nil if begin_position < max_line_length &&
50
- end_position < max_line_length
49
+ return nil if begin_position < max_line_length && end_position < max_line_length
51
50
 
52
51
  begin_position...end_position
53
52
  end
@@ -73,8 +72,7 @@ module RuboCop
73
72
 
74
73
  def uri_regexp
75
74
  @uri_regexp ||=
76
- URI::DEFAULT_PARSER
77
- .make_regexp(config.for_cop('Layout/LineLength')['URISchemes'])
75
+ URI::DEFAULT_PARSER.make_regexp(config.for_cop('Layout/LineLength')['URISchemes'])
78
76
  end
79
77
 
80
78
  def valid_uri?(uri_ish_string)
@@ -11,15 +11,12 @@ module RuboCop
11
11
  # Return a new `Range` covering the first matching group number for each
12
12
  # match of `regex` inside `range`
13
13
  def each_match_range(range, regex)
14
- range.source.scan(regex) do
15
- yield match_range(range, Regexp.last_match)
16
- end
14
+ range.source.scan(regex) { yield match_range(range, Regexp.last_match) }
17
15
  end
18
16
 
19
17
  # For a `match` inside `range`, return a new `Range` covering the match
20
18
  def match_range(range, match)
21
- range_between(range.begin_pos + match.begin(1),
22
- range.begin_pos + match.end(1))
19
+ range_between(range.begin_pos + match.begin(1), range.begin_pos + match.end(1))
23
20
  end
24
21
  end
25
22
  end
@@ -60,9 +60,7 @@ module RuboCop
60
60
  abc_vector: abc_vector,
61
61
  max: max)
62
62
 
63
- add_offense(node, message: msg) do
64
- self.max = complexity.ceil
65
- end
63
+ add_offense(node, message: msg) { self.max = complexity.ceil }
66
64
  end
67
65
 
68
66
  def complexity(body)