rubocop 1.12.1 → 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 (395) 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 +2 -5
  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 +4 -10
  85. data/lib/rubocop/cop/layout/redundant_line_break.rb +125 -0
  86. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
  87. data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
  88. data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
  89. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
  90. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
  91. data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -6
  92. data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
  93. data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -2
  94. data/lib/rubocop/cop/layout/space_before_brackets.rb +1 -3
  95. data/lib/rubocop/cop/layout/space_before_comment.rb +1 -3
  96. data/lib/rubocop/cop/layout/space_before_first_arg.rb +5 -11
  97. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -4
  98. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -10
  99. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +2 -7
  100. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -10
  101. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -2
  102. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -2
  103. data/lib/rubocop/cop/legacy/corrections_proxy.rb +2 -8
  104. data/lib/rubocop/cop/legacy/corrector.rb +1 -3
  105. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -6
  106. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +14 -7
  107. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -2
  108. data/lib/rubocop/cop/lint/constant_resolution.rb +1 -2
  109. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +2 -4
  110. data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
  111. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +2 -5
  112. data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -2
  113. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
  114. data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -7
  115. data/lib/rubocop/cop/lint/else_layout.rb +1 -3
  116. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
  117. data/lib/rubocop/cop/lint/empty_file.rb +1 -3
  118. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
  119. data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
  120. data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -7
  121. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
  122. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +3 -6
  123. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -2
  124. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -2
  125. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -7
  126. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -2
  127. data/lib/rubocop/cop/lint/interpolation_check.rb +3 -11
  128. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +3 -6
  129. data/lib/rubocop/cop/lint/loop.rb +1 -2
  130. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +3 -7
  131. data/lib/rubocop/cop/lint/missing_super.rb +1 -2
  132. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -2
  133. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -2
  134. data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
  135. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -3
  136. data/lib/rubocop/cop/lint/number_conversion.rb +1 -2
  137. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
  138. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
  139. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
  140. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
  141. data/lib/rubocop/cop/lint/raise_exception.rb +1 -2
  142. data/lib/rubocop/cop/lint/rand_one.rb +1 -2
  143. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +8 -20
  144. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +1 -3
  145. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +3 -7
  146. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -2
  147. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -4
  148. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -4
  149. data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -3
  150. data/lib/rubocop/cop/lint/require_parentheses.rb +2 -4
  151. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -2
  152. data/lib/rubocop/cop/lint/rescue_type.rb +2 -7
  153. data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -2
  154. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -2
  155. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
  156. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -2
  157. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +2 -7
  158. data/lib/rubocop/cop/lint/shadowed_argument.rb +4 -11
  159. data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
  160. data/lib/rubocop/cop/lint/struct_new_override.rb +1 -2
  161. data/lib/rubocop/cop/lint/symbol_conversion.rb +2 -4
  162. data/lib/rubocop/cop/lint/syntax.rb +1 -3
  163. data/lib/rubocop/cop/lint/to_json.rb +1 -2
  164. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -3
  165. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -3
  166. data/lib/rubocop/cop/lint/unreachable_code.rb +2 -5
  167. data/lib/rubocop/cop/lint/unreachable_loop.rb +2 -5
  168. data/lib/rubocop/cop/lint/unused_block_argument.rb +4 -8
  169. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -2
  170. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -4
  171. data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
  172. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -3
  173. data/lib/rubocop/cop/lint/void.rb +4 -11
  174. data/lib/rubocop/cop/message_annotator.rb +1 -3
  175. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
  176. data/lib/rubocop/cop/metrics/class_length.rb +1 -3
  177. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
  178. data/lib/rubocop/cop/metrics/module_length.rb +2 -6
  179. data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -5
  180. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -2
  181. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4 -7
  182. data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +2 -7
  183. data/lib/rubocop/cop/migration/department_name.rb +3 -7
  184. data/lib/rubocop/cop/mixin/alignment.rb +2 -4
  185. data/lib/rubocop/cop/mixin/code_length.rb +1 -3
  186. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +2 -2
  187. data/lib/rubocop/cop/mixin/configurable_formatting.rb +3 -8
  188. data/lib/rubocop/cop/mixin/def_node.rb +2 -5
  189. data/lib/rubocop/cop/mixin/documentation_comment.rb +2 -5
  190. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -7
  191. data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -3
  192. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
  193. data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -6
  194. data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
  195. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -9
  196. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +3 -6
  197. data/lib/rubocop/cop/mixin/hash_transform_method.rb +7 -22
  198. data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
  199. data/lib/rubocop/cop/mixin/line_length_help.rb +2 -4
  200. data/lib/rubocop/cop/mixin/match_range.rb +2 -5
  201. data/lib/rubocop/cop/mixin/method_complexity.rb +1 -3
  202. data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
  203. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +1 -2
  204. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
  205. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -17
  206. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
  207. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -2
  208. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -4
  209. data/lib/rubocop/cop/mixin/percent_array.rb +1 -3
  210. data/lib/rubocop/cop/mixin/percent_literal.rb +0 -6
  211. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +5 -11
  212. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +3 -6
  213. data/lib/rubocop/cop/mixin/range_help.rb +10 -13
  214. data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
  215. data/lib/rubocop/cop/mixin/safe_assignment.rb +1 -2
  216. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
  217. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
  218. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
  219. data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
  220. data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
  221. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +3 -7
  222. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
  223. data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
  224. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -2
  225. data/lib/rubocop/cop/naming/file_name.rb +7 -16
  226. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -3
  227. data/lib/rubocop/cop/naming/method_name.rb +1 -2
  228. data/lib/rubocop/cop/naming/predicate_name.rb +1 -2
  229. data/lib/rubocop/cop/offense.rb +3 -8
  230. data/lib/rubocop/cop/registry.rb +3 -11
  231. data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -3
  232. data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
  233. data/lib/rubocop/cop/style/alias.rb +5 -12
  234. data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -3
  235. data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
  236. data/lib/rubocop/cop/style/attr.rb +1 -3
  237. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
  238. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -3
  239. data/lib/rubocop/cop/style/case_like_if.rb +1 -2
  240. data/lib/rubocop/cop/style/character_literal.rb +2 -4
  241. data/lib/rubocop/cop/style/class_and_module_children.rb +3 -6
  242. data/lib/rubocop/cop/style/class_methods.rb +1 -3
  243. data/lib/rubocop/cop/style/collection_compact.rb +1 -3
  244. data/lib/rubocop/cop/style/colon_method_call.rb +1 -3
  245. data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
  246. data/lib/rubocop/cop/style/command_literal.rb +3 -8
  247. data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
  248. data/lib/rubocop/cop/style/commented_keyword.rb +2 -8
  249. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -24
  250. data/lib/rubocop/cop/style/copyright.rb +3 -6
  251. data/lib/rubocop/cop/style/date_time.rb +2 -5
  252. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
  253. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -2
  254. data/lib/rubocop/cop/style/empty_case_condition.rb +2 -7
  255. data/lib/rubocop/cop/style/empty_else.rb +3 -9
  256. data/lib/rubocop/cop/style/empty_literal.rb +4 -8
  257. data/lib/rubocop/cop/style/empty_method.rb +3 -7
  258. data/lib/rubocop/cop/style/end_block.rb +1 -2
  259. data/lib/rubocop/cop/style/endless_method.rb +1 -3
  260. data/lib/rubocop/cop/style/eval_with_location.rb +2 -4
  261. data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -3
  262. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -4
  263. data/lib/rubocop/cop/style/format_string_token.rb +1 -4
  264. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -8
  265. data/lib/rubocop/cop/style/guard_clause.rb +3 -7
  266. data/lib/rubocop/cop/style/hash_conversion.rb +28 -3
  267. data/lib/rubocop/cop/style/hash_each_methods.rb +1 -2
  268. data/lib/rubocop/cop/style/hash_like_case.rb +1 -2
  269. data/lib/rubocop/cop/style/hash_syntax.rb +4 -9
  270. data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -3
  271. data/lib/rubocop/cop/style/if_unless_modifier.rb +41 -13
  272. data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
  273. data/lib/rubocop/cop/style/inverse_methods.rb +3 -7
  274. data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
  275. data/lib/rubocop/cop/style/lambda.rb +2 -4
  276. data/lib/rubocop/cop/style/lambda_call.rb +1 -2
  277. data/lib/rubocop/cop/style/line_end_concatenation.rb +5 -12
  278. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
  279. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +7 -13
  280. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -2
  281. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
  282. data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -8
  283. data/lib/rubocop/cop/style/min_max.rb +1 -2
  284. data/lib/rubocop/cop/style/missing_else.rb +2 -4
  285. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -2
  286. data/lib/rubocop/cop/style/mixin_grouping.rb +4 -10
  287. data/lib/rubocop/cop/style/mixin_usage.rb +1 -2
  288. data/lib/rubocop/cop/style/module_function.rb +3 -6
  289. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
  290. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -3
  291. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
  292. data/lib/rubocop/cop/style/multiple_comparison.rb +2 -4
  293. data/lib/rubocop/cop/style/mutable_constant.rb +4 -10
  294. data/lib/rubocop/cop/style/negated_if.rb +1 -2
  295. data/lib/rubocop/cop/style/negated_unless.rb +1 -2
  296. data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
  297. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
  298. data/lib/rubocop/cop/style/next.rb +4 -9
  299. data/lib/rubocop/cop/style/non_nil_check.rb +2 -5
  300. data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
  301. data/lib/rubocop/cop/style/numeric_predicate.rb +2 -7
  302. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
  303. data/lib/rubocop/cop/style/option_hash.rb +1 -3
  304. data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
  305. data/lib/rubocop/cop/style/or_assignment.rb +2 -6
  306. data/lib/rubocop/cop/style/parallel_assignment.rb +6 -9
  307. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -3
  308. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -2
  309. data/lib/rubocop/cop/style/perl_backrefs.rb +2 -9
  310. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -4
  311. data/lib/rubocop/cop/style/proc.rb +1 -2
  312. data/lib/rubocop/cop/style/raise_args.rb +4 -8
  313. data/lib/rubocop/cop/style/random_with_offset.rb +3 -8
  314. data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
  315. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -3
  316. data/lib/rubocop/cop/style/redundant_begin.rb +4 -4
  317. data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -2
  318. data/lib/rubocop/cop/style/redundant_condition.rb +2 -5
  319. data/lib/rubocop/cop/style/redundant_conditional.rb +3 -6
  320. data/lib/rubocop/cop/style/redundant_exception.rb +3 -6
  321. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
  322. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -2
  323. data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
  324. data/lib/rubocop/cop/style/redundant_parentheses.rb +8 -20
  325. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -2
  326. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -4
  327. data/lib/rubocop/cop/style/redundant_return.rb +3 -5
  328. data/lib/rubocop/cop/style/redundant_self.rb +2 -6
  329. data/lib/rubocop/cop/style/redundant_self_assignment.rb +2 -2
  330. data/lib/rubocop/cop/style/redundant_sort.rb +2 -5
  331. data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
  332. data/lib/rubocop/cop/style/rescue_modifier.rb +4 -0
  333. data/lib/rubocop/cop/style/rescue_standard_error.rb +3 -7
  334. data/lib/rubocop/cop/style/return_nil.rb +1 -2
  335. data/lib/rubocop/cop/style/safe_navigation.rb +10 -21
  336. data/lib/rubocop/cop/style/send.rb +1 -2
  337. data/lib/rubocop/cop/style/signal_exception.rb +3 -7
  338. data/lib/rubocop/cop/style/single_argument_dig.rb +1 -2
  339. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
  340. data/lib/rubocop/cop/style/single_line_methods.rb +15 -4
  341. data/lib/rubocop/cop/style/sole_nested_conditional.rb +1 -2
  342. data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
  343. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
  344. data/lib/rubocop/cop/style/stderr_puts.rb +2 -6
  345. data/lib/rubocop/cop/style/string_chars.rb +2 -1
  346. data/lib/rubocop/cop/style/string_concatenation.rb +8 -10
  347. data/lib/rubocop/cop/style/string_literals.rb +2 -5
  348. data/lib/rubocop/cop/style/struct_inheritance.rb +9 -1
  349. data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
  350. data/lib/rubocop/cop/style/symbol_proc.rb +4 -9
  351. data/lib/rubocop/cop/style/ternary_parentheses.rb +3 -6
  352. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -2
  353. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
  354. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
  355. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
  356. data/lib/rubocop/cop/style/trivial_accessors.rb +2 -4
  357. data/lib/rubocop/cop/style/unless_else.rb +1 -2
  358. data/lib/rubocop/cop/style/unless_logical_operators.rb +2 -2
  359. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  360. data/lib/rubocop/cop/style/when_then.rb +1 -3
  361. data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
  362. data/lib/rubocop/cop/style/word_array.rb +1 -2
  363. data/lib/rubocop/cop/style/yoda_condition.rb +3 -11
  364. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -2
  365. data/lib/rubocop/cop/team.rb +2 -5
  366. data/lib/rubocop/cop/util.rb +4 -10
  367. data/lib/rubocop/cop/utils/format_string.rb +1 -3
  368. data/lib/rubocop/cop/variable_force.rb +6 -15
  369. data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
  370. data/lib/rubocop/cop/variable_force/branch.rb +1 -2
  371. data/lib/rubocop/cop/variable_force/reference.rb +1 -3
  372. data/lib/rubocop/cop/variable_force/scope.rb +4 -8
  373. data/lib/rubocop/cop/variable_force/variable.rb +2 -4
  374. data/lib/rubocop/cops_documentation_generator.rb +7 -21
  375. data/lib/rubocop/file_finder.rb +1 -3
  376. data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
  377. data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
  378. data/lib/rubocop/formatter/html_formatter.rb +4 -10
  379. data/lib/rubocop/formatter/json_formatter.rb +1 -5
  380. data/lib/rubocop/formatter/junit_formatter.rb +3 -9
  381. data/lib/rubocop/formatter/progress_formatter.rb +1 -3
  382. data/lib/rubocop/options.rb +27 -41
  383. data/lib/rubocop/path_util.rb +1 -3
  384. data/lib/rubocop/rake_task.rb +3 -0
  385. data/lib/rubocop/remote_config.rb +4 -7
  386. data/lib/rubocop/result_cache.rb +5 -12
  387. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  388. data/lib/rubocop/rspec/expect_offense.rb +4 -9
  389. data/lib/rubocop/rspec/shared_contexts.rb +4 -15
  390. data/lib/rubocop/runner.rb +7 -14
  391. data/lib/rubocop/target_finder.rb +11 -16
  392. data/lib/rubocop/target_ruby.rb +4 -8
  393. data/lib/rubocop/version.rb +1 -1
  394. metadata +5 -5
  395. data/lib/rubocop/core_ext/hash.rb +0 -20
@@ -92,9 +92,7 @@ module RuboCop
92
92
  if node.setter_method?
93
93
  on_special_asgn(node)
94
94
  elsif regular_operator?(node)
95
- check_operator(:send,
96
- node.loc.selector,
97
- node.first_argument.source_range)
95
+ check_operator(:send, node.loc.selector, node.first_argument.source_range)
98
96
  end
99
97
  end
100
98
 
@@ -138,13 +136,11 @@ module RuboCop
138
136
  private
139
137
 
140
138
  def regular_operator?(send_node)
141
- !send_node.unary_operation? && !send_node.dot? &&
142
- operator_with_regular_syntax?(send_node)
139
+ !send_node.unary_operation? && !send_node.dot? && operator_with_regular_syntax?(send_node)
143
140
  end
144
141
 
145
142
  def operator_with_regular_syntax?(send_node)
146
- send_node.operator_method? &&
147
- !IRREGULAR_METHODS.include?(send_node.method_name)
143
+ send_node.operator_method? && !IRREGULAR_METHODS.include?(send_node.method_name)
148
144
  end
149
145
 
150
146
  def check_operator(type, operator, right_operand)
@@ -225,8 +221,7 @@ module RuboCop
225
221
  end
226
222
 
227
223
  def hash_table_style?
228
- align_hash_cop_config &&
229
- align_hash_cop_config['EnforcedHashRocketStyle'] == 'table'
224
+ align_hash_cop_config && align_hash_cop_config['EnforcedHashRocketStyle'] == 'table'
230
225
  end
231
226
 
232
227
  def space_around_exponent_operator?
@@ -136,8 +136,7 @@ module RuboCop
136
136
  end
137
137
 
138
138
  def conflict_with_block_delimiters?(node)
139
- block_delimiters_style == 'line_count_based' &&
140
- style == :no_space && node.multiline?
139
+ block_delimiters_style == 'line_count_based' && style == :no_space && node.multiline?
141
140
  end
142
141
 
143
142
  def block_delimiters_style
@@ -53,9 +53,7 @@ module RuboCop
53
53
  end
54
54
 
55
55
  def register_offense(range)
56
- add_offense(range) do |corrector|
57
- corrector.remove(range)
58
- end
56
+ add_offense(range) { |corrector| corrector.remove(range) }
59
57
  end
60
58
 
61
59
  def reference_variable_with_brackets?(node)
@@ -25,9 +25,7 @@ module RuboCop
25
25
 
26
26
  range = token2.pos
27
27
 
28
- add_offense(range) do |corrector|
29
- corrector.insert_before(range, ' ')
30
- end
28
+ add_offense(range) { |corrector| corrector.insert_before(range, ' ') }
31
29
  end
32
30
  end
33
31
  end
@@ -26,23 +26,18 @@ module RuboCop
26
26
  include RangeHelp
27
27
  extend AutoCorrector
28
28
 
29
- MSG = 'Put one space between the method name and ' \
30
- 'the first argument.'
29
+ MSG = 'Put one space between the method name and the first argument.'
31
30
 
32
31
  def on_send(node)
33
32
  return unless regular_method_call_with_arguments?(node)
34
33
 
35
34
  first_arg = node.first_argument.source_range
36
- first_arg_with_space = range_with_surrounding_space(range: first_arg,
37
- side: :left)
38
- space = range_between(first_arg_with_space.begin_pos,
39
- first_arg.begin_pos)
35
+ first_arg_with_space = range_with_surrounding_space(range: first_arg, side: :left)
36
+ space = range_between(first_arg_with_space.begin_pos, first_arg.begin_pos)
40
37
  return if space.length == 1
41
38
  return unless expect_params_after_method_name?(node)
42
39
 
43
- add_offense(space) do |corrector|
44
- corrector.replace(space, ' ')
45
- end
40
+ add_offense(space) { |corrector| corrector.replace(space, ' ') }
46
41
  end
47
42
  alias on_csend on_send
48
43
 
@@ -59,8 +54,7 @@ module RuboCop
59
54
  first_arg = node.first_argument
60
55
 
61
56
  same_line?(first_arg, node) &&
62
- !(allow_for_alignment? &&
63
- aligned_with_something?(first_arg.source_range))
57
+ !(allow_for_alignment? && aligned_with_something?(first_arg.source_range))
64
58
  end
65
59
 
66
60
  def no_space_between_method_name_and_first_argument?(node)
@@ -24,10 +24,8 @@ module RuboCop
24
24
  include RangeHelp
25
25
  extend AutoCorrector
26
26
 
27
- MSG_REQUIRE_SPACE = 'Use a space between `->` and ' \
28
- '`(` in lambda literals.'
29
- MSG_REQUIRE_NO_SPACE = 'Do not use spaces between `->` and ' \
30
- '`(` in lambda literals.'
27
+ MSG_REQUIRE_SPACE = 'Use a space between `->` and `(` in lambda literals.'
28
+ MSG_REQUIRE_NO_SPACE = 'Do not use spaces between `->` and `(` in lambda literals.'
31
29
 
32
30
  def on_send(node)
33
31
  return unless arrow_lambda_with_args?(node)
@@ -142,11 +142,9 @@ module RuboCop
142
142
  case style
143
143
  when :no_space
144
144
  start_ok = next_to_comment?(node, left)
145
- no_space_offenses(node, left, right, MSG, start_ok: start_ok,
146
- end_ok: end_ok)
145
+ no_space_offenses(node, left, right, MSG, start_ok: start_ok, end_ok: end_ok)
147
146
  when :space
148
- space_offenses(node, left, right, MSG, start_ok: start_ok,
149
- end_ok: end_ok)
147
+ space_offenses(node, left, right, MSG, start_ok: start_ok, end_ok: end_ok)
150
148
  else
151
149
  compact_offenses(node, left, right, start_ok, end_ok)
152
150
  end
@@ -160,21 +158,18 @@ module RuboCop
160
158
  if qualifies_for_compact?(node, left, side: :left)
161
159
  compact_offense(node, left, side: :left)
162
160
  elsif !multi_dimensional_array?(node, left, side: :left)
163
- space_offenses(node, left, nil, MSG, start_ok: start_ok,
164
- end_ok: true)
161
+ space_offenses(node, left, nil, MSG, start_ok: start_ok, end_ok: true)
165
162
  end
166
163
  if qualifies_for_compact?(node, right)
167
164
  compact_offense(node, right)
168
165
  elsif !multi_dimensional_array?(node, right)
169
- space_offenses(node, nil, right, MSG, start_ok: true,
170
- end_ok: end_ok)
166
+ space_offenses(node, nil, right, MSG, start_ok: true, end_ok: end_ok)
171
167
  end
172
168
  end
173
169
 
174
170
  def qualifies_for_compact?(node, token, side: :right)
175
171
  if side == :right
176
- multi_dimensional_array?(node, token) &&
177
- !next_to_bracket?(token)
172
+ multi_dimensional_array?(node, token) && !next_to_bracket?(token)
178
173
  else
179
174
  multi_dimensional_array?(node, token, side: :left) &&
180
175
  !next_to_bracket?(token, side: :left)
@@ -18,8 +18,7 @@ module RuboCop
18
18
  extend AutoCorrector
19
19
 
20
20
  MSG = 'Use only a single space inside array percent literal.'
21
- MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX =
22
- /(?:[\S&&[^\\]](?:\\ )*)( {2,})(?=\S)/.freeze
21
+ MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX = /(?:[\S&&[^\\]](?:\\ )*)( {2,})(?=\S)/.freeze
23
22
 
24
23
  def on_array(node)
25
24
  process(node, '%i', '%I', '%w', '%W')
@@ -36,11 +35,7 @@ module RuboCop
36
35
  private
37
36
 
38
37
  def each_unnecessary_space_match(node, &blk)
39
- each_match_range(
40
- contents_range(node),
41
- MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX,
42
- &blk
43
- )
38
+ each_match_range(contents_range(node), MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX, &blk)
44
39
  end
45
40
  end
46
41
  end
@@ -129,8 +129,7 @@ module RuboCop
129
129
  args_delimiter = node.arguments.loc.begin # Can be ( | or nil.
130
130
 
131
131
  check_left_brace(inner, node.loc.begin, args_delimiter)
132
- check_right_brace(inner, node.loc.begin, node.loc.end,
133
- node.single_line?)
132
+ check_right_brace(inner, node.loc.begin, node.loc.end, node.single_line?)
134
133
  end
135
134
 
136
135
  def check_left_brace(inner, left_brace, args_delimiter)
@@ -143,8 +142,7 @@ module RuboCop
143
142
 
144
143
  def check_right_brace(inner, left_brace, right_brace, single_line)
145
144
  if single_line && /\S$/.match?(inner)
146
- no_space(right_brace.begin_pos, right_brace.end_pos,
147
- 'Space missing inside }.')
145
+ no_space(right_brace.begin_pos, right_brace.end_pos, 'Space missing inside }.')
148
146
  else
149
147
  return if multiline_block?(left_brace, right_brace) &&
150
148
  aligned_braces?(left_brace, right_brace)
@@ -174,8 +172,7 @@ module RuboCop
174
172
  # We indicate the position after the left brace. Otherwise it's
175
173
  # difficult to distinguish between space missing to the left and to
176
174
  # the right of the brace in autocorrect.
177
- no_space(left_brace.end_pos, left_brace.end_pos + 1,
178
- 'Space missing inside {.')
175
+ no_space(left_brace.end_pos, left_brace.end_pos + 1, 'Space missing inside {.')
179
176
  end
180
177
  end
181
178
 
@@ -188,8 +185,7 @@ module RuboCop
188
185
  'Space between { and | detected.')
189
186
  end
190
187
  else
191
- brace_with_space = range_with_surrounding_space(range: left_brace,
192
- side: :right)
188
+ brace_with_space = range_with_surrounding_space(range: left_brace, side: :right)
193
189
  space(brace_with_space.begin_pos + 1, brace_with_space.end_pos,
194
190
  'Space inside { detected.')
195
191
  end
@@ -200,8 +196,7 @@ module RuboCop
200
196
  end
201
197
 
202
198
  def space_inside_right_brace(right_brace)
203
- brace_with_space = range_with_surrounding_space(range: right_brace,
204
- side: :left)
199
+ brace_with_space = range_with_surrounding_space(range: right_brace, side: :left)
205
200
  space(brace_with_space.begin_pos, brace_with_space.end_pos - 1,
206
201
  'Space inside } detected.')
207
202
  end
@@ -90,8 +90,7 @@ module RuboCop
90
90
  expect_space = expect_space?(token1, token2)
91
91
 
92
92
  if offense?(token1, expect_space)
93
- incorrect_style_detected(token1, token2,
94
- expect_space, is_empty_braces)
93
+ incorrect_style_detected(token1, token2, expect_space, is_empty_braces)
95
94
  else
96
95
  correct_style_detected
97
96
  end
@@ -107,8 +107,7 @@ module RuboCop
107
107
  current_token = tokens.reverse.find(&:left_ref_bracket?)
108
108
  previous_token = previous_token(current_token)
109
109
 
110
- if node.method?(:[]=) ||
111
- previous_token && !previous_token.right_bracket?
110
+ if node.method?(:[]=) || previous_token && !previous_token.right_bracket?
112
111
  tokens.find(&:left_ref_bracket?)
113
112
  else
114
113
  current_token
@@ -11,11 +11,7 @@ module RuboCop
11
11
  end
12
12
 
13
13
  def <<(callable)
14
- suppress_clobbering do
15
- @corrector.transaction do
16
- callable.call(@corrector)
17
- end
18
- end
14
+ suppress_clobbering { @corrector.transaction { callable.call(@corrector) } }
19
15
  end
20
16
 
21
17
  def empty?
@@ -24,9 +20,7 @@ module RuboCop
24
20
 
25
21
  def concat(corrections)
26
22
  if corrections.is_a?(CorrectionsProxy)
27
- suppress_clobbering do
28
- corrector.merge!(corrections.corrector)
29
- end
23
+ suppress_clobbering { corrector.merge!(corrections.corrector) }
30
24
  else
31
25
  corrections.each { |correction| self << correction }
32
26
  end
@@ -13,9 +13,7 @@ module RuboCop
13
13
  merge!(corr.send(:corrector))
14
14
  else
15
15
  # warn "Corrector.new with corrections is deprecated." unless corr.empty? TODO
16
- corr.each do |c|
17
- corrections << c
18
- end
16
+ corr.each { |c| corrections << c }
19
17
  end
20
18
  end
21
19
 
@@ -25,12 +25,7 @@ module RuboCop
25
25
 
26
26
  SIMPLE_ASSIGNMENT_TYPES = %i[lvasgn ivasgn cvasgn gvasgn casgn].freeze
27
27
 
28
- MISTAKES = {
29
- '=-' => '-=',
30
- '=+' => '+=',
31
- '=*' => '*=',
32
- '=!' => '!='
33
- }.freeze
28
+ MISTAKES = { '=-' => '-=', '=+' => '+=', '=*' => '*=', '=!' => '!=' }.freeze
34
29
 
35
30
  def on_asgn(node)
36
31
  return unless (rhs = rhs(node))
@@ -6,6 +6,8 @@ module RuboCop
6
6
  # This cop checks for ambiguous block association with method
7
7
  # when param passed without parentheses.
8
8
  #
9
+ # This cop can customize ignored methods with `IgnoredMethods`.
10
+ #
9
11
  # @example
10
12
  #
11
13
  # # bad
@@ -26,7 +28,14 @@ module RuboCop
26
28
  # # good
27
29
  # # Lambda arguments require no disambiguation
28
30
  # foo = ->(bar) { bar.baz }
31
+ #
32
+ # @example IgnoredMethods: [change]
33
+ #
34
+ # # good
35
+ # expect { do_something }.to change { object.attribute }
29
36
  class AmbiguousBlockAssociation < Base
37
+ include IgnoredMethods
38
+
30
39
  MSG = 'Parenthesize the param `%<param>s` to make sure that the ' \
31
40
  'block will be associated with the `%<method>s` method ' \
32
41
  'call.'
@@ -35,8 +44,7 @@ module RuboCop
35
44
  return unless node.arguments?
36
45
 
37
46
  return unless ambiguous_block_association?(node)
38
- return if node.parenthesized? ||
39
- node.last_argument.lambda? || allowed_method?(node)
47
+ return if node.parenthesized? || node.last_argument.lambda? || allowed_method?(node)
40
48
 
41
49
  message = message(node)
42
50
 
@@ -47,19 +55,18 @@ module RuboCop
47
55
  private
48
56
 
49
57
  def ambiguous_block_association?(send_node)
50
- send_node.last_argument.block_type? &&
51
- !send_node.last_argument.send_node.arguments?
58
+ send_node.last_argument.block_type? && !send_node.last_argument.send_node.arguments?
52
59
  end
53
60
 
54
61
  def allowed_method?(node)
55
- node.assignment? || node.operator_method? || node.method?(:[])
62
+ node.assignment? || node.operator_method? || node.method?(:[]) ||
63
+ ignored_method?(node.last_argument.send_node.source)
56
64
  end
57
65
 
58
66
  def message(send_node)
59
67
  block_param = send_node.last_argument
60
68
 
61
- format(MSG, param: block_param.source,
62
- method: block_param.send_node.source)
69
+ format(MSG, param: block_param.source, method: block_param.send_node.source)
63
70
  end
64
71
  end
65
72
  end
@@ -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