rubocop 1.31.1 → 1.51.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 (462) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +5 -5
  4. data/config/default.yml +342 -52
  5. data/config/obsoletion.yml +23 -1
  6. data/exe/rubocop +1 -1
  7. data/lib/rubocop/arguments_env.rb +17 -0
  8. data/lib/rubocop/arguments_file.rb +17 -0
  9. data/lib/rubocop/cache_config.rb +29 -0
  10. data/lib/rubocop/cli/command/{auto_genenerate_config.rb → auto_generate_config.rb} +9 -2
  11. data/lib/rubocop/cli/command/execute_runner.rb +14 -9
  12. data/lib/rubocop/cli/command/init_dotfile.rb +1 -1
  13. data/lib/rubocop/cli/command/suggest_extensions.rb +61 -16
  14. data/lib/rubocop/cli.rb +56 -9
  15. data/lib/rubocop/comment_config.rb +60 -1
  16. data/lib/rubocop/config.rb +48 -20
  17. data/lib/rubocop/config_finder.rb +68 -0
  18. data/lib/rubocop/config_loader.rb +46 -68
  19. data/lib/rubocop/config_loader_resolver.rb +11 -12
  20. data/lib/rubocop/config_obsoletion/changed_parameter.rb +5 -0
  21. data/lib/rubocop/config_obsoletion/parameter_rule.rb +4 -0
  22. data/lib/rubocop/config_obsoletion.rb +9 -4
  23. data/lib/rubocop/config_validator.rb +1 -1
  24. data/lib/rubocop/cop/autocorrect_logic.rb +29 -13
  25. data/lib/rubocop/cop/badge.rb +9 -4
  26. data/lib/rubocop/cop/base.rb +115 -83
  27. data/lib/rubocop/cop/bundler/gem_comment.rb +1 -1
  28. data/lib/rubocop/cop/commissioner.rb +19 -6
  29. data/lib/rubocop/cop/cop.rb +54 -34
  30. data/lib/rubocop/cop/corrector.rb +31 -11
  31. data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -3
  32. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +3 -3
  33. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +3 -3
  34. data/lib/rubocop/cop/correctors/line_break_corrector.rb +1 -1
  35. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +23 -7
  36. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +2 -7
  37. data/lib/rubocop/cop/correctors/parentheses_corrector.rb +58 -0
  38. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -2
  39. data/lib/rubocop/cop/gemspec/dependency_version.rb +17 -19
  40. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +1 -1
  41. data/lib/rubocop/cop/gemspec/development_dependencies.rb +107 -0
  42. data/lib/rubocop/cop/gemspec/require_mfa.rb +1 -1
  43. data/lib/rubocop/cop/generator/require_file_injector.rb +2 -2
  44. data/lib/rubocop/cop/generator.rb +5 -2
  45. data/lib/rubocop/cop/internal_affairs/cop_description.rb +8 -6
  46. data/lib/rubocop/cop/internal_affairs/create_empty_file.rb +37 -0
  47. data/lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +111 -0
  48. data/lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb +1 -1
  49. data/lib/rubocop/cop/internal_affairs/lambda_or_proc.rb +46 -0
  50. data/lib/rubocop/cop/internal_affairs/location_expression.rb +37 -0
  51. data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +3 -3
  52. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -1
  53. data/lib/rubocop/cop/internal_affairs/numblock_handler.rb +69 -0
  54. data/lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb +42 -0
  55. data/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +11 -3
  56. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
  57. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
  58. data/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +66 -0
  59. data/lib/rubocop/cop/internal_affairs/single_line_comparison.rb +62 -0
  60. data/lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb +60 -0
  61. data/lib/rubocop/cop/internal_affairs.rb +9 -0
  62. data/lib/rubocop/cop/layout/array_alignment.rb +1 -1
  63. data/lib/rubocop/cop/layout/block_alignment.rb +16 -12
  64. data/lib/rubocop/cop/layout/block_end_newline.rb +31 -9
  65. data/lib/rubocop/cop/layout/class_structure.rb +37 -27
  66. data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +1 -1
  67. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +2 -6
  68. data/lib/rubocop/cop/layout/comment_indentation.rb +3 -1
  69. data/lib/rubocop/cop/layout/empty_comment.rb +3 -3
  70. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +1 -1
  71. data/lib/rubocop/cop/layout/empty_lines.rb +3 -1
  72. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +7 -2
  73. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +2 -0
  74. data/lib/rubocop/cop/layout/end_alignment.rb +9 -1
  75. data/lib/rubocop/cop/layout/end_of_line.rb +4 -4
  76. data/lib/rubocop/cop/layout/extra_spacing.rb +15 -6
  77. data/lib/rubocop/cop/layout/first_argument_indentation.rb +15 -4
  78. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +6 -5
  79. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +35 -8
  80. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +5 -5
  81. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +36 -1
  82. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +57 -8
  83. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +52 -19
  84. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +10 -4
  85. data/lib/rubocop/cop/layout/heredoc_indentation.rb +8 -11
  86. data/lib/rubocop/cop/layout/indentation_style.rb +7 -2
  87. data/lib/rubocop/cop/layout/indentation_width.rb +6 -2
  88. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -1
  89. data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
  90. data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +80 -12
  91. data/lib/rubocop/cop/layout/line_continuation_spacing.rb +18 -8
  92. data/lib/rubocop/cop/layout/line_length.rb +8 -1
  93. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +31 -1
  94. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +1 -1
  95. data/lib/rubocop/cop/layout/multiline_block_layout.rb +3 -1
  96. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +29 -1
  97. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +39 -2
  98. data/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +77 -0
  99. data/lib/rubocop/cop/layout/redundant_line_break.rb +9 -10
  100. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -2
  101. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +1 -1
  102. data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -3
  103. data/lib/rubocop/cop/layout/space_around_operators.rb +1 -1
  104. data/lib/rubocop/cop/layout/space_before_block_braces.rb +2 -0
  105. data/lib/rubocop/cop/layout/space_before_first_arg.rb +1 -1
  106. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -2
  107. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +22 -20
  108. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +3 -0
  109. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +27 -9
  110. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +30 -3
  111. data/lib/rubocop/cop/layout/space_inside_parens.rb +2 -2
  112. data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +34 -0
  113. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +10 -6
  114. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +5 -4
  115. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +1 -1
  116. data/lib/rubocop/cop/layout/trailing_whitespace.rb +12 -5
  117. data/lib/rubocop/cop/legacy/corrections_proxy.rb +1 -1
  118. data/lib/rubocop/cop/legacy/corrector.rb +1 -1
  119. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +39 -8
  120. data/lib/rubocop/cop/lint/ambiguous_operator.rb +4 -0
  121. data/lib/rubocop/cop/lint/assignment_in_condition.rb +11 -1
  122. data/lib/rubocop/cop/lint/constant_resolution.rb +5 -1
  123. data/lib/rubocop/cop/lint/debugger.rb +27 -31
  124. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +66 -110
  125. data/lib/rubocop/cop/lint/deprecated_constants.rb +8 -1
  126. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +1 -1
  127. data/lib/rubocop/cop/lint/duplicate_branch.rb +0 -2
  128. data/lib/rubocop/cop/lint/duplicate_magic_comment.rb +73 -0
  129. data/lib/rubocop/cop/lint/duplicate_match_pattern.rb +122 -0
  130. data/lib/rubocop/cop/lint/duplicate_methods.rb +48 -18
  131. data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +26 -9
  132. data/lib/rubocop/cop/lint/duplicate_require.rb +1 -1
  133. data/lib/rubocop/cop/lint/else_layout.rb +3 -7
  134. data/lib/rubocop/cop/lint/empty_block.rb +3 -7
  135. data/lib/rubocop/cop/lint/empty_class.rb +3 -1
  136. data/lib/rubocop/cop/lint/empty_conditional_body.rb +110 -2
  137. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
  138. data/lib/rubocop/cop/lint/erb_new_arguments.rb +11 -11
  139. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +14 -7
  140. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +15 -17
  141. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -1
  142. data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +5 -2
  143. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
  144. data/lib/rubocop/cop/lint/interpolation_check.rb +4 -3
  145. data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +1 -1
  146. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +48 -2
  147. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +18 -3
  148. data/lib/rubocop/cop/lint/missing_super.rb +31 -2
  149. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -0
  150. data/lib/rubocop/cop/lint/nested_method_definition.rb +53 -9
  151. data/lib/rubocop/cop/lint/next_without_accumulator.rb +25 -6
  152. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +68 -28
  153. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +12 -0
  154. data/lib/rubocop/cop/lint/number_conversion.rb +28 -6
  155. data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +2 -2
  156. data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +2 -0
  157. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +4 -5
  158. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +17 -2
  159. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +5 -0
  160. data/lib/rubocop/cop/lint/percent_string_array.rb +1 -1
  161. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -1
  162. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +49 -9
  163. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +6 -6
  164. data/lib/rubocop/cop/lint/redundant_dir_glob_sort.rb +7 -0
  165. data/lib/rubocop/cop/lint/redundant_require_statement.rb +48 -10
  166. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +13 -0
  167. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +1 -1
  168. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +35 -15
  169. data/lib/rubocop/cop/lint/redundant_with_index.rb +14 -11
  170. data/lib/rubocop/cop/lint/redundant_with_object.rb +13 -12
  171. data/lib/rubocop/cop/lint/refinement_import_methods.rb +2 -1
  172. data/lib/rubocop/cop/lint/regexp_as_condition.rb +6 -0
  173. data/lib/rubocop/cop/lint/require_parentheses.rb +3 -1
  174. data/lib/rubocop/cop/lint/require_range_parentheses.rb +57 -0
  175. data/lib/rubocop/cop/lint/rescue_type.rb +3 -3
  176. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +41 -8
  177. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +1 -1
  178. data/lib/rubocop/cop/lint/script_permission.rb +1 -1
  179. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +5 -4
  180. data/lib/rubocop/cop/lint/shadowed_exception.rb +16 -11
  181. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +28 -3
  182. data/lib/rubocop/cop/lint/suppressed_exception.rb +1 -1
  183. data/lib/rubocop/cop/lint/syntax.rb +4 -0
  184. data/lib/rubocop/cop/lint/to_enum_arguments.rb +13 -3
  185. data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +23 -9
  186. data/lib/rubocop/cop/lint/unreachable_loop.rb +12 -6
  187. data/lib/rubocop/cop/lint/unused_method_argument.rb +6 -1
  188. data/lib/rubocop/cop/lint/useless_access_modifier.rb +17 -12
  189. data/lib/rubocop/cop/lint/useless_assignment.rb +56 -1
  190. data/lib/rubocop/cop/lint/useless_method_definition.rb +12 -4
  191. data/lib/rubocop/cop/lint/useless_rescue.rb +89 -0
  192. data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +15 -5
  193. data/lib/rubocop/cop/lint/useless_times.rb +1 -1
  194. data/lib/rubocop/cop/lint/void.rb +92 -21
  195. data/lib/rubocop/cop/metrics/abc_size.rb +4 -2
  196. data/lib/rubocop/cop/metrics/block_length.rb +16 -11
  197. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -2
  198. data/lib/rubocop/cop/metrics/class_length.rb +11 -5
  199. data/lib/rubocop/cop/metrics/collection_literal_length.rb +76 -0
  200. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -1
  201. data/lib/rubocop/cop/metrics/method_length.rb +17 -11
  202. data/lib/rubocop/cop/metrics/module_length.rb +10 -5
  203. data/lib/rubocop/cop/metrics/parameter_lists.rb +27 -0
  204. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -1
  205. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +3 -6
  206. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +9 -6
  207. data/lib/rubocop/cop/migration/department_name.rb +1 -1
  208. data/lib/rubocop/cop/mixin/alignment.rb +2 -2
  209. data/lib/rubocop/cop/mixin/allowed_identifiers.rb +2 -2
  210. data/lib/rubocop/cop/mixin/allowed_methods.rb +23 -2
  211. data/lib/rubocop/cop/mixin/allowed_pattern.rb +17 -1
  212. data/lib/rubocop/cop/mixin/annotation_comment.rb +14 -7
  213. data/lib/rubocop/cop/mixin/check_line_breakable.rb +5 -1
  214. data/lib/rubocop/cop/mixin/code_length.rb +1 -1
  215. data/lib/rubocop/cop/mixin/comments_help.rb +29 -7
  216. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +21 -9
  217. data/lib/rubocop/cop/mixin/def_node.rb +2 -7
  218. data/lib/rubocop/cop/mixin/documentation_comment.rb +1 -1
  219. data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -1
  220. data/lib/rubocop/cop/mixin/first_element_line_break.rb +11 -7
  221. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +4 -0
  222. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +1 -1
  223. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +152 -12
  224. data/lib/rubocop/cop/mixin/hash_transform_method.rb +13 -9
  225. data/lib/rubocop/cop/mixin/line_length_help.rb +11 -2
  226. data/lib/rubocop/cop/mixin/method_complexity.rb +13 -16
  227. data/lib/rubocop/cop/mixin/min_branches_count.rb +40 -0
  228. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +7 -14
  229. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +5 -6
  230. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -1
  231. data/lib/rubocop/cop/mixin/percent_array.rb +58 -1
  232. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +1 -1
  233. data/lib/rubocop/cop/mixin/range_help.rb +22 -5
  234. data/lib/rubocop/cop/mixin/require_library.rb +2 -0
  235. data/lib/rubocop/cop/mixin/rescue_node.rb +5 -3
  236. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +1 -1
  237. data/lib/rubocop/cop/mixin/statement_modifier.rb +18 -3
  238. data/lib/rubocop/cop/mixin/surrounding_space.rb +13 -11
  239. data/lib/rubocop/cop/mixin/trailing_comma.rb +2 -2
  240. data/lib/rubocop/cop/mixin/visibility_help.rb +40 -5
  241. data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -1
  242. data/lib/rubocop/cop/naming/block_forwarding.rb +5 -1
  243. data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
  244. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +3 -1
  245. data/lib/rubocop/cop/naming/constant_name.rb +3 -3
  246. data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +1 -1
  247. data/lib/rubocop/cop/naming/inclusive_language.rb +28 -6
  248. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +22 -7
  249. data/lib/rubocop/cop/naming/method_name.rb +3 -3
  250. data/lib/rubocop/cop/naming/predicate_name.rb +31 -2
  251. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +12 -4
  252. data/lib/rubocop/cop/registry.rb +73 -45
  253. data/lib/rubocop/cop/security/compound_hash.rb +2 -1
  254. data/lib/rubocop/cop/style/access_modifier_declarations.rb +92 -3
  255. data/lib/rubocop/cop/style/accessor_grouping.rb +46 -20
  256. data/lib/rubocop/cop/style/alias.rb +9 -1
  257. data/lib/rubocop/cop/style/arguments_forwarding.rb +6 -5
  258. data/lib/rubocop/cop/style/array_intersect.rb +111 -0
  259. data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
  260. data/lib/rubocop/cop/style/attr.rb +11 -1
  261. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +1 -1
  262. data/lib/rubocop/cop/style/block_comments.rb +2 -2
  263. data/lib/rubocop/cop/style/block_delimiters.rb +44 -10
  264. data/lib/rubocop/cop/style/case_equality.rb +40 -10
  265. data/lib/rubocop/cop/style/case_like_if.rb +20 -3
  266. data/lib/rubocop/cop/style/character_literal.rb +1 -1
  267. data/lib/rubocop/cop/style/class_and_module_children.rb +8 -15
  268. data/lib/rubocop/cop/style/class_equality_comparison.rb +94 -12
  269. data/lib/rubocop/cop/style/class_methods_definitions.rb +2 -1
  270. data/lib/rubocop/cop/style/collection_compact.rb +21 -5
  271. data/lib/rubocop/cop/style/collection_methods.rb +2 -0
  272. data/lib/rubocop/cop/style/colon_method_call.rb +2 -2
  273. data/lib/rubocop/cop/style/combinable_loops.rb +29 -7
  274. data/lib/rubocop/cop/style/command_literal.rb +1 -1
  275. data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
  276. data/lib/rubocop/cop/style/commented_keyword.rb +2 -2
  277. data/lib/rubocop/cop/style/comparable_clamp.rb +125 -0
  278. data/lib/rubocop/cop/style/concat_array_literals.rb +94 -0
  279. data/lib/rubocop/cop/style/conditional_assignment.rb +8 -14
  280. data/lib/rubocop/cop/style/copyright.rb +6 -3
  281. data/lib/rubocop/cop/style/data_inheritance.rb +75 -0
  282. data/lib/rubocop/cop/style/dir_empty.rb +60 -0
  283. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +2 -2
  284. data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +2 -2
  285. data/lib/rubocop/cop/style/documentation.rb +22 -10
  286. data/lib/rubocop/cop/style/documentation_method.rb +10 -4
  287. data/lib/rubocop/cop/style/double_negation.rb +4 -2
  288. data/lib/rubocop/cop/style/each_for_simple_loop.rb +41 -6
  289. data/lib/rubocop/cop/style/each_with_object.rb +40 -9
  290. data/lib/rubocop/cop/style/empty_block_parameter.rb +2 -2
  291. data/lib/rubocop/cop/style/empty_else.rb +37 -0
  292. data/lib/rubocop/cop/style/empty_heredoc.rb +73 -0
  293. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +2 -2
  294. data/lib/rubocop/cop/style/empty_method.rb +1 -1
  295. data/lib/rubocop/cop/style/endless_method.rb +1 -1
  296. data/lib/rubocop/cop/style/eval_with_location.rb +4 -4
  297. data/lib/rubocop/cop/style/exact_regexp_match.rb +62 -0
  298. data/lib/rubocop/cop/style/explicit_block_argument.rb +5 -1
  299. data/lib/rubocop/cop/style/fetch_env_var.rb +10 -177
  300. data/lib/rubocop/cop/style/file_empty.rb +71 -0
  301. data/lib/rubocop/cop/style/file_read.rb +1 -1
  302. data/lib/rubocop/cop/style/file_write.rb +1 -1
  303. data/lib/rubocop/cop/style/for.rb +2 -0
  304. data/lib/rubocop/cop/style/format_string_token.rb +25 -6
  305. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +1 -1
  306. data/lib/rubocop/cop/style/guard_clause.rb +127 -38
  307. data/lib/rubocop/cop/style/hash_as_last_array_item.rb +1 -0
  308. data/lib/rubocop/cop/style/hash_each_methods.rb +48 -12
  309. data/lib/rubocop/cop/style/hash_except.rb +27 -16
  310. data/lib/rubocop/cop/style/hash_like_case.rb +3 -9
  311. data/lib/rubocop/cop/style/hash_syntax.rb +26 -2
  312. data/lib/rubocop/cop/style/identical_conditional_branches.rb +15 -0
  313. data/lib/rubocop/cop/style/if_inside_else.rb +6 -0
  314. data/lib/rubocop/cop/style/if_unless_modifier.rb +112 -16
  315. data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +29 -2
  316. data/lib/rubocop/cop/style/if_with_semicolon.rb +4 -4
  317. data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
  318. data/lib/rubocop/cop/style/inverse_methods.rb +15 -11
  319. data/lib/rubocop/cop/style/invertible_unless_condition.rb +118 -0
  320. data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -1
  321. data/lib/rubocop/cop/style/magic_comment_format.rb +307 -0
  322. data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +2 -2
  323. data/lib/rubocop/cop/style/map_to_hash.rb +4 -1
  324. data/lib/rubocop/cop/style/map_to_set.rb +64 -0
  325. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +40 -24
  326. data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +5 -1
  327. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +48 -41
  328. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +21 -2
  329. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +4 -1
  330. data/lib/rubocop/cop/style/method_def_parentheses.rb +11 -4
  331. data/lib/rubocop/cop/style/min_max.rb +3 -3
  332. data/lib/rubocop/cop/style/min_max_comparison.rb +83 -0
  333. data/lib/rubocop/cop/style/missing_else.rb +13 -1
  334. data/lib/rubocop/cop/style/mixin_grouping.rb +4 -4
  335. data/lib/rubocop/cop/style/module_function.rb +30 -8
  336. data/lib/rubocop/cop/style/multiline_block_chain.rb +3 -1
  337. data/lib/rubocop/cop/style/multiline_if_modifier.rb +0 -4
  338. data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +1 -1
  339. data/lib/rubocop/cop/style/multiline_memoization.rb +2 -2
  340. data/lib/rubocop/cop/style/multiline_method_signature.rb +7 -4
  341. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +18 -3
  342. data/lib/rubocop/cop/style/negated_if_else_condition.rb +17 -10
  343. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +9 -0
  344. data/lib/rubocop/cop/style/next.rb +3 -5
  345. data/lib/rubocop/cop/style/nil_lambda.rb +4 -4
  346. data/lib/rubocop/cop/style/numbered_parameters_limit.rb +11 -3
  347. data/lib/rubocop/cop/style/numeric_literals.rb +16 -1
  348. data/lib/rubocop/cop/style/numeric_predicate.rb +43 -9
  349. data/lib/rubocop/cop/style/object_then.rb +5 -0
  350. data/lib/rubocop/cop/style/one_line_conditional.rb +3 -6
  351. data/lib/rubocop/cop/style/operator_method_call.rb +67 -0
  352. data/lib/rubocop/cop/style/parallel_assignment.rb +29 -19
  353. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +2 -3
  354. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
  355. data/lib/rubocop/cop/style/perl_backrefs.rb +22 -1
  356. data/lib/rubocop/cop/style/proc.rb +4 -1
  357. data/lib/rubocop/cop/style/quoted_symbols.rb +1 -1
  358. data/lib/rubocop/cop/style/redundant_argument.rb +3 -0
  359. data/lib/rubocop/cop/style/redundant_begin.rb +3 -0
  360. data/lib/rubocop/cop/style/redundant_condition.rb +41 -8
  361. data/lib/rubocop/cop/style/redundant_conditional.rb +0 -4
  362. data/lib/rubocop/cop/style/redundant_constant_base.rb +85 -0
  363. data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +45 -0
  364. data/lib/rubocop/cop/style/redundant_each.rb +116 -0
  365. data/lib/rubocop/cop/style/redundant_fetch_block.rb +7 -5
  366. data/lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb +58 -0
  367. data/lib/rubocop/cop/style/redundant_initialize.rb +3 -1
  368. data/lib/rubocop/cop/style/redundant_interpolation.rb +2 -2
  369. data/lib/rubocop/cop/style/redundant_line_continuation.rb +183 -0
  370. data/lib/rubocop/cop/style/redundant_parentheses.rb +22 -24
  371. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -1
  372. data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +9 -3
  373. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +21 -4
  374. data/lib/rubocop/cop/style/redundant_return.rb +7 -0
  375. data/lib/rubocop/cop/style/redundant_self.rb +2 -0
  376. data/lib/rubocop/cop/style/redundant_sort.rb +24 -9
  377. data/lib/rubocop/cop/style/redundant_sort_by.rb +24 -8
  378. data/lib/rubocop/cop/style/redundant_string_escape.rb +183 -0
  379. data/lib/rubocop/cop/style/regexp_literal.rb +11 -2
  380. data/lib/rubocop/cop/style/require_order.rb +138 -0
  381. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  382. data/lib/rubocop/cop/style/rescue_standard_error.rb +2 -2
  383. data/lib/rubocop/cop/style/safe_navigation.rb +41 -10
  384. data/lib/rubocop/cop/style/select_by_regexp.rb +13 -5
  385. data/lib/rubocop/cop/style/self_assignment.rb +2 -2
  386. data/lib/rubocop/cop/style/semicolon.rb +63 -5
  387. data/lib/rubocop/cop/style/signal_exception.rb +8 -6
  388. data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
  389. data/lib/rubocop/cop/style/slicing_with_range.rb +1 -1
  390. data/lib/rubocop/cop/style/sole_nested_conditional.rb +17 -8
  391. data/lib/rubocop/cop/style/special_global_vars.rb +2 -2
  392. data/lib/rubocop/cop/style/static_class.rb +32 -1
  393. data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
  394. data/lib/rubocop/cop/style/string_hash_keys.rb +4 -1
  395. data/lib/rubocop/cop/style/string_literals.rb +1 -5
  396. data/lib/rubocop/cop/style/struct_inheritance.rb +1 -1
  397. data/lib/rubocop/cop/style/symbol_array.rb +6 -5
  398. data/lib/rubocop/cop/style/symbol_proc.rb +42 -10
  399. data/lib/rubocop/cop/style/ternary_parentheses.rb +1 -13
  400. data/lib/rubocop/cop/style/top_level_method_definition.rb +3 -1
  401. data/lib/rubocop/cop/style/trailing_body_on_class.rb +1 -0
  402. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +4 -4
  403. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +1 -1
  404. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +1 -1
  405. data/lib/rubocop/cop/style/trivial_accessors.rb +4 -1
  406. data/lib/rubocop/cop/style/unless_logical_operators.rb +1 -0
  407. data/lib/rubocop/cop/style/unpack_first.rb +3 -3
  408. data/lib/rubocop/cop/style/word_array.rb +59 -5
  409. data/lib/rubocop/cop/style/yoda_condition.rb +13 -6
  410. data/lib/rubocop/cop/style/yoda_expression.rb +90 -0
  411. data/lib/rubocop/cop/style/zero_length_predicate.rb +40 -19
  412. data/lib/rubocop/cop/team.rb +63 -56
  413. data/lib/rubocop/cop/util.rb +44 -8
  414. data/lib/rubocop/cop/variable_force/assignment.rb +5 -1
  415. data/lib/rubocop/cop/variable_force/scope.rb +3 -3
  416. data/lib/rubocop/cop/variable_force/variable.rb +5 -3
  417. data/lib/rubocop/cop/variable_force/variable_table.rb +6 -4
  418. data/lib/rubocop/cop/variable_force.rb +18 -30
  419. data/lib/rubocop/cops_documentation_generator.rb +45 -15
  420. data/lib/rubocop/directive_comment.rb +4 -4
  421. data/lib/rubocop/ext/comment.rb +18 -0
  422. data/lib/rubocop/ext/processed_source.rb +2 -0
  423. data/lib/rubocop/ext/range.rb +15 -0
  424. data/lib/rubocop/ext/regexp_node.rb +1 -1
  425. data/lib/rubocop/ext/regexp_parser.rb +1 -1
  426. data/lib/rubocop/feature_loader.rb +94 -0
  427. data/lib/rubocop/file_patterns.rb +43 -0
  428. data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
  429. data/lib/rubocop/formatter/disabled_config_formatter.rb +26 -9
  430. data/lib/rubocop/formatter/html_formatter.rb +4 -4
  431. data/lib/rubocop/formatter/junit_formatter.rb +4 -1
  432. data/lib/rubocop/formatter/markdown_formatter.rb +1 -1
  433. data/lib/rubocop/formatter/offense_count_formatter.rb +8 -5
  434. data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
  435. data/lib/rubocop/formatter/tap_formatter.rb +1 -1
  436. data/lib/rubocop/formatter/worst_offenders_formatter.rb +6 -3
  437. data/lib/rubocop/formatter.rb +4 -1
  438. data/lib/rubocop/options.rb +55 -22
  439. data/lib/rubocop/path_util.rb +50 -22
  440. data/lib/rubocop/rake_task.rb +5 -1
  441. data/lib/rubocop/result_cache.rb +26 -24
  442. data/lib/rubocop/rspec/cop_helper.rb +26 -3
  443. data/lib/rubocop/rspec/expect_offense.rb +6 -4
  444. data/lib/rubocop/rspec/shared_contexts.rb +31 -14
  445. data/lib/rubocop/rspec/support.rb +17 -2
  446. data/lib/rubocop/runner.rb +73 -18
  447. data/lib/rubocop/server/cache.rb +48 -2
  448. data/lib/rubocop/server/cli.rb +62 -19
  449. data/lib/rubocop/server/client_command/base.rb +1 -1
  450. data/lib/rubocop/server/client_command/exec.rb +6 -1
  451. data/lib/rubocop/server/client_command/start.rb +6 -1
  452. data/lib/rubocop/server/core.rb +42 -10
  453. data/lib/rubocop/server/helper.rb +1 -1
  454. data/lib/rubocop/server/server_command/exec.rb +1 -1
  455. data/lib/rubocop/server/socket_reader.rb +5 -1
  456. data/lib/rubocop/server.rb +1 -1
  457. data/lib/rubocop/target_finder.rb +1 -1
  458. data/lib/rubocop/target_ruby.rb +5 -5
  459. data/lib/rubocop/version.rb +10 -4
  460. data/lib/rubocop.rb +45 -9
  461. metadata +58 -33
  462. data/lib/rubocop/cop/mixin/ignored_methods.rb +0 -52
data/lib/rubocop.rb CHANGED
@@ -4,9 +4,9 @@ require 'English'
4
4
  before_us = $LOADED_FEATURES.dup
5
5
  require 'rainbow'
6
6
 
7
- require 'set'
8
7
  require 'forwardable'
9
8
  require 'regexp_parser'
9
+ require 'set'
10
10
  require 'unicode/display_width'
11
11
 
12
12
  # we have to require RuboCop's version, before rubocop-ast's
@@ -14,20 +14,25 @@ require_relative 'rubocop/version'
14
14
  require 'rubocop-ast'
15
15
 
16
16
  require_relative 'rubocop/ast_aliases'
17
+ require_relative 'rubocop/ext/comment'
18
+ require_relative 'rubocop/ext/range'
17
19
  require_relative 'rubocop/ext/regexp_node'
18
20
  require_relative 'rubocop/ext/regexp_parser'
19
21
 
20
22
  require_relative 'rubocop/core_ext/string'
21
23
  require_relative 'rubocop/ext/processed_source'
22
24
 
23
- require_relative 'rubocop/path_util'
25
+ require_relative 'rubocop/error'
24
26
  require_relative 'rubocop/file_finder'
25
- require_relative 'rubocop/platform'
27
+ require_relative 'rubocop/file_patterns'
26
28
  require_relative 'rubocop/name_similarity'
29
+ require_relative 'rubocop/path_util'
30
+ require_relative 'rubocop/platform'
27
31
  require_relative 'rubocop/string_interpreter'
28
- require_relative 'rubocop/error'
29
- require_relative 'rubocop/warning'
30
32
  require_relative 'rubocop/util'
33
+ require_relative 'rubocop/warning'
34
+
35
+ # rubocop:disable Style/RequireOrder
31
36
 
32
37
  require_relative 'rubocop/cop/util'
33
38
  require_relative 'rubocop/cop/offense'
@@ -47,6 +52,7 @@ require_relative 'rubocop/cop/severity'
47
52
  require_relative 'rubocop/cop/generator'
48
53
  require_relative 'rubocop/cop/generator/configuration_injector'
49
54
  require_relative 'rubocop/cop/generator/require_file_injector'
55
+ require_relative 'rubocop/magic_comment'
50
56
 
51
57
  require_relative 'rubocop/cop/variable_force'
52
58
  require_relative 'rubocop/cop/variable_force/branch'
@@ -72,7 +78,6 @@ require_relative 'rubocop/cop/mixin/configurable_enforced_style'
72
78
  require_relative 'rubocop/cop/mixin/configurable_formatting'
73
79
  require_relative 'rubocop/cop/mixin/configurable_naming'
74
80
  require_relative 'rubocop/cop/mixin/configurable_numbering'
75
- require_relative 'rubocop/cop/mixin/def_node'
76
81
  require_relative 'rubocop/cop/mixin/documentation_comment'
77
82
  require_relative 'rubocop/cop/mixin/duplication'
78
83
  require_relative 'rubocop/cop/mixin/range_help'
@@ -87,7 +92,6 @@ require_relative 'rubocop/cop/mixin/gem_declaration'
87
92
  require_relative 'rubocop/cop/mixin/gemspec_help'
88
93
  require_relative 'rubocop/cop/mixin/hash_alignment_styles'
89
94
  require_relative 'rubocop/cop/mixin/hash_transform_method'
90
- require_relative 'rubocop/cop/mixin/ignored_methods'
91
95
  require_relative 'rubocop/cop/mixin/integer_node'
92
96
  require_relative 'rubocop/cop/mixin/interpolation'
93
97
  require_relative 'rubocop/cop/mixin/line_length_help'
@@ -98,6 +102,7 @@ require_relative 'rubocop/cop/mixin/hash_shorthand_syntax'
98
102
  require_relative 'rubocop/cop/mixin/method_complexity'
99
103
  require_relative 'rubocop/cop/mixin/method_preference'
100
104
  require_relative 'rubocop/cop/mixin/min_body_length'
105
+ require_relative 'rubocop/cop/mixin/min_branches_count'
101
106
  require_relative 'rubocop/cop/mixin/multiline_element_indentation'
102
107
  require_relative 'rubocop/cop/mixin/multiline_element_line_breaks'
103
108
  require_relative 'rubocop/cop/mixin/multiline_expression_indentation'
@@ -130,6 +135,7 @@ require_relative 'rubocop/cop/mixin/uncommunicative_name'
130
135
  require_relative 'rubocop/cop/mixin/unused_argument'
131
136
  require_relative 'rubocop/cop/mixin/visibility_help'
132
137
  require_relative 'rubocop/cop/mixin/comments_help' # relies on visibility_help
138
+ require_relative 'rubocop/cop/mixin/def_node' # relies on visibility_help
133
139
 
134
140
  require_relative 'rubocop/cop/utils/format_string'
135
141
 
@@ -162,6 +168,7 @@ require_relative 'rubocop/cop/bundler/ordered_gems'
162
168
 
163
169
  require_relative 'rubocop/cop/gemspec/dependency_version'
164
170
  require_relative 'rubocop/cop/gemspec/deprecated_attribute_assignment'
171
+ require_relative 'rubocop/cop/gemspec/development_dependencies'
165
172
  require_relative 'rubocop/cop/gemspec/duplicated_assignment'
166
173
  require_relative 'rubocop/cop/gemspec/ordered_dependencies'
167
174
  require_relative 'rubocop/cop/gemspec/require_mfa'
@@ -233,6 +240,7 @@ require_relative 'rubocop/cop/layout/multiline_method_argument_line_breaks'
233
240
  require_relative 'rubocop/cop/layout/multiline_method_call_brace_layout'
234
241
  require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
235
242
  require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
243
+ require_relative 'rubocop/cop/layout/multiline_method_parameter_line_breaks'
236
244
  require_relative 'rubocop/cop/layout/multiline_operation_indentation'
237
245
  require_relative 'rubocop/cop/layout/parameter_alignment'
238
246
  require_relative 'rubocop/cop/layout/redundant_line_break'
@@ -290,6 +298,8 @@ require_relative 'rubocop/cop/lint/duplicate_branch'
290
298
  require_relative 'rubocop/cop/lint/duplicate_case_condition'
291
299
  require_relative 'rubocop/cop/lint/duplicate_elsif_condition'
292
300
  require_relative 'rubocop/cop/lint/duplicate_hash_key'
301
+ require_relative 'rubocop/cop/lint/duplicate_magic_comment'
302
+ require_relative 'rubocop/cop/lint/duplicate_match_pattern'
293
303
  require_relative 'rubocop/cop/lint/duplicate_methods'
294
304
  require_relative 'rubocop/cop/lint/duplicate_regexp_character_class_element'
295
305
  require_relative 'rubocop/cop/lint/duplicate_require'
@@ -356,6 +366,7 @@ require_relative 'rubocop/cop/lint/redundant_with_object'
356
366
  require_relative 'rubocop/cop/lint/refinement_import_methods'
357
367
  require_relative 'rubocop/cop/lint/regexp_as_condition'
358
368
  require_relative 'rubocop/cop/lint/require_parentheses'
369
+ require_relative 'rubocop/cop/lint/require_range_parentheses'
359
370
  require_relative 'rubocop/cop/lint/require_relative_self_path'
360
371
  require_relative 'rubocop/cop/lint/rescue_exception'
361
372
  require_relative 'rubocop/cop/lint/rescue_type'
@@ -392,6 +403,7 @@ require_relative 'rubocop/cop/lint/useless_access_modifier'
392
403
  require_relative 'rubocop/cop/lint/useless_assignment'
393
404
  require_relative 'rubocop/cop/lint/useless_else_without_rescue'
394
405
  require_relative 'rubocop/cop/lint/useless_method_definition'
406
+ require_relative 'rubocop/cop/lint/useless_rescue'
395
407
  require_relative 'rubocop/cop/lint/useless_ruby2_keywords'
396
408
  require_relative 'rubocop/cop/lint/useless_setter_call'
397
409
  require_relative 'rubocop/cop/lint/useless_times'
@@ -406,6 +418,7 @@ require_relative 'rubocop/cop/metrics/abc_size'
406
418
  require_relative 'rubocop/cop/metrics/block_length'
407
419
  require_relative 'rubocop/cop/metrics/block_nesting'
408
420
  require_relative 'rubocop/cop/metrics/class_length'
421
+ require_relative 'rubocop/cop/metrics/collection_literal_length'
409
422
  require_relative 'rubocop/cop/metrics/method_length'
410
423
  require_relative 'rubocop/cop/metrics/module_length'
411
424
  require_relative 'rubocop/cop/metrics/parameter_lists'
@@ -436,6 +449,7 @@ require_relative 'rubocop/cop/style/alias'
436
449
  require_relative 'rubocop/cop/style/and_or'
437
450
  require_relative 'rubocop/cop/style/arguments_forwarding'
438
451
  require_relative 'rubocop/cop/style/array_coercion'
452
+ require_relative 'rubocop/cop/style/array_intersect'
439
453
  require_relative 'rubocop/cop/style/array_join'
440
454
  require_relative 'rubocop/cop/style/ascii_comments'
441
455
  require_relative 'rubocop/cop/style/attr'
@@ -462,12 +476,16 @@ require_relative 'rubocop/cop/style/combinable_loops'
462
476
  require_relative 'rubocop/cop/style/command_literal'
463
477
  require_relative 'rubocop/cop/style/comment_annotation'
464
478
  require_relative 'rubocop/cop/style/commented_keyword'
479
+ require_relative 'rubocop/cop/style/comparable_clamp'
480
+ require_relative 'rubocop/cop/style/concat_array_literals'
465
481
  require_relative 'rubocop/cop/style/conditional_assignment'
466
482
  require_relative 'rubocop/cop/style/constant_visibility'
467
483
  require_relative 'rubocop/cop/style/copyright'
484
+ require_relative 'rubocop/cop/style/data_inheritance'
468
485
  require_relative 'rubocop/cop/style/date_time'
469
486
  require_relative 'rubocop/cop/style/def_with_parentheses'
470
487
  require_relative 'rubocop/cop/style/dir'
488
+ require_relative 'rubocop/cop/style/dir_empty'
471
489
  require_relative 'rubocop/cop/style/disable_cops_within_source_code_directive'
472
490
  require_relative 'rubocop/cop/style/documentation_method'
473
491
  require_relative 'rubocop/cop/style/documentation'
@@ -479,6 +497,7 @@ require_relative 'rubocop/cop/style/each_with_object'
479
497
  require_relative 'rubocop/cop/style/empty_block_parameter'
480
498
  require_relative 'rubocop/cop/style/empty_case_condition'
481
499
  require_relative 'rubocop/cop/style/empty_else'
500
+ require_relative 'rubocop/cop/style/empty_heredoc'
482
501
  require_relative 'rubocop/cop/style/empty_lambda_parameter'
483
502
  require_relative 'rubocop/cop/style/empty_literal'
484
503
  require_relative 'rubocop/cop/style/empty_method'
@@ -488,10 +507,12 @@ require_relative 'rubocop/cop/style/end_block'
488
507
  require_relative 'rubocop/cop/style/env_home'
489
508
  require_relative 'rubocop/cop/style/eval_with_location'
490
509
  require_relative 'rubocop/cop/style/even_odd'
510
+ require_relative 'rubocop/cop/style/exact_regexp_match'
491
511
  require_relative 'rubocop/cop/style/expand_path_arguments'
492
512
  require_relative 'rubocop/cop/style/explicit_block_argument'
493
513
  require_relative 'rubocop/cop/style/exponential_notation'
494
514
  require_relative 'rubocop/cop/style/fetch_env_var'
515
+ require_relative 'rubocop/cop/style/file_empty'
495
516
  require_relative 'rubocop/cop/style/file_read'
496
517
  require_relative 'rubocop/cop/style/file_write'
497
518
  require_relative 'rubocop/cop/style/float_division'
@@ -521,23 +542,34 @@ require_relative 'rubocop/cop/style/in_pattern_then'
521
542
  require_relative 'rubocop/cop/style/infinite_loop'
522
543
  require_relative 'rubocop/cop/style/inverse_methods'
523
544
  require_relative 'rubocop/cop/style/inline_comment'
545
+ require_relative 'rubocop/cop/style/invertible_unless_condition'
524
546
  require_relative 'rubocop/cop/style/ip_addresses'
525
547
  require_relative 'rubocop/cop/style/keyword_parameters_order'
526
548
  require_relative 'rubocop/cop/style/lambda'
527
549
  require_relative 'rubocop/cop/style/lambda_call'
528
550
  require_relative 'rubocop/cop/style/line_end_concatenation'
551
+ require_relative 'rubocop/cop/style/magic_comment_format'
529
552
  require_relative 'rubocop/cop/style/map_to_hash'
553
+ require_relative 'rubocop/cop/style/map_to_set'
530
554
  require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
531
555
  require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
556
+ require_relative 'rubocop/cop/style/min_max_comparison'
532
557
  require_relative 'rubocop/cop/style/multiline_in_pattern_then'
533
558
  require_relative 'rubocop/cop/style/numbered_parameters'
534
559
  require_relative 'rubocop/cop/style/open_struct_use'
560
+ require_relative 'rubocop/cop/style/operator_method_call'
535
561
  require_relative 'rubocop/cop/style/redundant_assignment'
562
+ require_relative 'rubocop/cop/style/redundant_constant_base'
563
+ require_relative 'rubocop/cop/style/redundant_double_splat_hash_braces'
564
+ require_relative 'rubocop/cop/style/redundant_each'
536
565
  require_relative 'rubocop/cop/style/redundant_fetch_block'
537
566
  require_relative 'rubocop/cop/style/redundant_file_extension_in_require'
567
+ require_relative 'rubocop/cop/style/redundant_heredoc_delimiter_quotes'
538
568
  require_relative 'rubocop/cop/style/redundant_initialize'
569
+ require_relative 'rubocop/cop/style/redundant_line_continuation'
539
570
  require_relative 'rubocop/cop/style/redundant_self_assignment'
540
571
  require_relative 'rubocop/cop/style/redundant_self_assignment_branch'
572
+ require_relative 'rubocop/cop/style/require_order'
541
573
  require_relative 'rubocop/cop/style/sole_nested_conditional'
542
574
  require_relative 'rubocop/cop/style/static_class'
543
575
  require_relative 'rubocop/cop/style/map_compact_with_conditional_block'
@@ -607,6 +639,7 @@ require_relative 'rubocop/cop/style/redundant_return'
607
639
  require_relative 'rubocop/cop/style/redundant_self'
608
640
  require_relative 'rubocop/cop/style/redundant_sort'
609
641
  require_relative 'rubocop/cop/style/redundant_sort_by'
642
+ require_relative 'rubocop/cop/style/redundant_string_escape'
610
643
  require_relative 'rubocop/cop/style/regexp_literal'
611
644
  require_relative 'rubocop/cop/style/rescue_modifier'
612
645
  require_relative 'rubocop/cop/style/rescue_standard_error'
@@ -658,6 +691,7 @@ require_relative 'rubocop/cop/style/while_until_do'
658
691
  require_relative 'rubocop/cop/style/while_until_modifier'
659
692
  require_relative 'rubocop/cop/style/word_array'
660
693
  require_relative 'rubocop/cop/style/yoda_condition'
694
+ require_relative 'rubocop/cop/style/yoda_expression'
661
695
  require_relative 'rubocop/cop/style/zero_length_predicate'
662
696
 
663
697
  require_relative 'rubocop/cop/security/compound_hash'
@@ -687,18 +721,18 @@ require_relative 'rubocop/config_obsoletion/split_cop'
687
721
  require_relative 'rubocop/config_obsoletion'
688
722
  require_relative 'rubocop/config_store'
689
723
  require_relative 'rubocop/config_validator'
724
+ require_relative 'rubocop/feature_loader'
690
725
  require_relative 'rubocop/lockfile'
691
726
  require_relative 'rubocop/target_finder'
692
727
  require_relative 'rubocop/directive_comment'
693
728
  require_relative 'rubocop/comment_config'
694
- require_relative 'rubocop/magic_comment'
695
729
  require_relative 'rubocop/result_cache'
696
730
  require_relative 'rubocop/runner'
697
731
  require_relative 'rubocop/cli'
698
732
  require_relative 'rubocop/cli/command'
699
733
  require_relative 'rubocop/cli/environment'
700
734
  require_relative 'rubocop/cli/command/base'
701
- require_relative 'rubocop/cli/command/auto_genenerate_config'
735
+ require_relative 'rubocop/cli/command/auto_generate_config'
702
736
  require_relative 'rubocop/cli/command/execute_runner'
703
737
  require_relative 'rubocop/cli/command/init_dotfile'
704
738
  require_relative 'rubocop/cli/command/show_cops'
@@ -711,6 +745,8 @@ require_relative 'rubocop/remote_config'
711
745
  require_relative 'rubocop/target_ruby'
712
746
  require_relative 'rubocop/yaml_duplication_checker'
713
747
 
748
+ # rubocop:enable Style/RequireOrder
749
+
714
750
  unless File.exist?("#{__dir__}/../rubocop.gemspec") # Check if we are a gem
715
751
  RuboCop::ResultCache.rubocop_required_features = $LOADED_FEATURES - before_us
716
752
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.1
4
+ version: 1.51.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-06-29 00:00:00.000000000 Z
13
+ date: 2023-05-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.1.0.0
49
+ version: 3.2.0.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 3.1.0.0
56
+ version: 3.2.0.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rainbow
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ dependencies:
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 1.18.0
123
+ version: 1.28.0
124
124
  - - "<"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '2.0'
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 1.18.0
133
+ version: 1.28.0
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '2.0'
@@ -154,7 +154,7 @@ dependencies:
154
154
  requirements:
155
155
  - - ">="
156
156
  - !ruby/object:Gem::Version
157
- version: 1.4.0
157
+ version: 2.4.0
158
158
  - - "<"
159
159
  - !ruby/object:Gem::Version
160
160
  version: '3.0'
@@ -164,27 +164,7 @@ dependencies:
164
164
  requirements:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
- version: 1.4.0
168
- - - "<"
169
- - !ruby/object:Gem::Version
170
- version: '3.0'
171
- - !ruby/object:Gem::Dependency
172
- name: bundler
173
- requirement: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- version: 1.15.0
178
- - - "<"
179
- - !ruby/object:Gem::Version
180
- version: '3.0'
181
- type: :development
182
- prerelease: false
183
- version_requirements: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: 1.15.0
167
+ version: 2.4.0
188
168
  - - "<"
189
169
  - !ruby/object:Gem::Version
190
170
  version: '3.0'
@@ -207,11 +187,14 @@ files:
207
187
  - config/obsoletion.yml
208
188
  - exe/rubocop
209
189
  - lib/rubocop.rb
190
+ - lib/rubocop/arguments_env.rb
191
+ - lib/rubocop/arguments_file.rb
210
192
  - lib/rubocop/ast_aliases.rb
193
+ - lib/rubocop/cache_config.rb
211
194
  - lib/rubocop/cached_data.rb
212
195
  - lib/rubocop/cli.rb
213
196
  - lib/rubocop/cli/command.rb
214
- - lib/rubocop/cli/command/auto_genenerate_config.rb
197
+ - lib/rubocop/cli/command/auto_generate_config.rb
215
198
  - lib/rubocop/cli/command/base.rb
216
199
  - lib/rubocop/cli/command/execute_runner.rb
217
200
  - lib/rubocop/cli/command/init_dotfile.rb
@@ -222,6 +205,7 @@ files:
222
205
  - lib/rubocop/cli/environment.rb
223
206
  - lib/rubocop/comment_config.rb
224
207
  - lib/rubocop/config.rb
208
+ - lib/rubocop/config_finder.rb
225
209
  - lib/rubocop/config_loader.rb
226
210
  - lib/rubocop/config_loader_resolver.rb
227
211
  - lib/rubocop/config_obsoletion.rb
@@ -271,6 +255,7 @@ files:
271
255
  - lib/rubocop/cop/force.rb
272
256
  - lib/rubocop/cop/gemspec/dependency_version.rb
273
257
  - lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb
258
+ - lib/rubocop/cop/gemspec/development_dependencies.rb
274
259
  - lib/rubocop/cop/gemspec/duplicated_assignment.rb
275
260
  - lib/rubocop/cop/gemspec/ordered_dependencies.rb
276
261
  - lib/rubocop/cop/gemspec/require_mfa.rb
@@ -282,25 +267,34 @@ files:
282
267
  - lib/rubocop/cop/ignored_node.rb
283
268
  - lib/rubocop/cop/internal_affairs.rb
284
269
  - lib/rubocop/cop/internal_affairs/cop_description.rb
270
+ - lib/rubocop/cop/internal_affairs/create_empty_file.rb
285
271
  - lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb
286
272
  - lib/rubocop/cop/internal_affairs/example_description.rb
273
+ - lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb
287
274
  - lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb
275
+ - lib/rubocop/cop/internal_affairs/lambda_or_proc.rb
276
+ - lib/rubocop/cop/internal_affairs/location_expression.rb
288
277
  - lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb
289
278
  - lib/rubocop/cop/internal_affairs/method_name_end_with.rb
290
279
  - lib/rubocop/cop/internal_affairs/method_name_equal.rb
291
280
  - lib/rubocop/cop/internal_affairs/node_destructuring.rb
292
281
  - lib/rubocop/cop/internal_affairs/node_matcher_directive.rb
293
282
  - lib/rubocop/cop/internal_affairs/node_type_predicate.rb
283
+ - lib/rubocop/cop/internal_affairs/numblock_handler.rb
294
284
  - lib/rubocop/cop/internal_affairs/offense_location_keyword.rb
285
+ - lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb
295
286
  - lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb
296
287
  - lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb
297
288
  - lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb
298
289
  - lib/rubocop/cop/internal_affairs/redundant_location_argument.rb
299
290
  - lib/rubocop/cop/internal_affairs/redundant_message_argument.rb
300
291
  - lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb
292
+ - lib/rubocop/cop/internal_affairs/redundant_source_range.rb
293
+ - lib/rubocop/cop/internal_affairs/single_line_comparison.rb
301
294
  - lib/rubocop/cop/internal_affairs/style_detected_api_use.rb
302
295
  - lib/rubocop/cop/internal_affairs/undefined_config.rb
303
296
  - lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
297
+ - lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb
304
298
  - lib/rubocop/cop/layout/access_modifier_indentation.rb
305
299
  - lib/rubocop/cop/layout/argument_alignment.rb
306
300
  - lib/rubocop/cop/layout/array_alignment.rb
@@ -366,6 +360,7 @@ files:
366
360
  - lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb
367
361
  - lib/rubocop/cop/layout/multiline_method_call_indentation.rb
368
362
  - lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb
363
+ - lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb
369
364
  - lib/rubocop/cop/layout/multiline_operation_indentation.rb
370
365
  - lib/rubocop/cop/layout/parameter_alignment.rb
371
366
  - lib/rubocop/cop/layout/redundant_line_break.rb
@@ -424,6 +419,8 @@ files:
424
419
  - lib/rubocop/cop/lint/duplicate_case_condition.rb
425
420
  - lib/rubocop/cop/lint/duplicate_elsif_condition.rb
426
421
  - lib/rubocop/cop/lint/duplicate_hash_key.rb
422
+ - lib/rubocop/cop/lint/duplicate_magic_comment.rb
423
+ - lib/rubocop/cop/lint/duplicate_match_pattern.rb
427
424
  - lib/rubocop/cop/lint/duplicate_methods.rb
428
425
  - lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb
429
426
  - lib/rubocop/cop/lint/duplicate_require.rb
@@ -490,6 +487,7 @@ files:
490
487
  - lib/rubocop/cop/lint/refinement_import_methods.rb
491
488
  - lib/rubocop/cop/lint/regexp_as_condition.rb
492
489
  - lib/rubocop/cop/lint/require_parentheses.rb
490
+ - lib/rubocop/cop/lint/require_range_parentheses.rb
493
491
  - lib/rubocop/cop/lint/require_relative_self_path.rb
494
492
  - lib/rubocop/cop/lint/rescue_exception.rb
495
493
  - lib/rubocop/cop/lint/rescue_type.rb
@@ -526,6 +524,7 @@ files:
526
524
  - lib/rubocop/cop/lint/useless_assignment.rb
527
525
  - lib/rubocop/cop/lint/useless_else_without_rescue.rb
528
526
  - lib/rubocop/cop/lint/useless_method_definition.rb
527
+ - lib/rubocop/cop/lint/useless_rescue.rb
529
528
  - lib/rubocop/cop/lint/useless_ruby2_keywords.rb
530
529
  - lib/rubocop/cop/lint/useless_setter_call.rb
531
530
  - lib/rubocop/cop/lint/useless_times.rb
@@ -535,6 +534,7 @@ files:
535
534
  - lib/rubocop/cop/metrics/block_length.rb
536
535
  - lib/rubocop/cop/metrics/block_nesting.rb
537
536
  - lib/rubocop/cop/metrics/class_length.rb
537
+ - lib/rubocop/cop/metrics/collection_literal_length.rb
538
538
  - lib/rubocop/cop/metrics/cyclomatic_complexity.rb
539
539
  - lib/rubocop/cop/metrics/method_length.rb
540
540
  - lib/rubocop/cop/metrics/module_length.rb
@@ -578,7 +578,6 @@ files:
578
578
  - lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
579
579
  - lib/rubocop/cop/mixin/hash_transform_method.rb
580
580
  - lib/rubocop/cop/mixin/heredoc.rb
581
- - lib/rubocop/cop/mixin/ignored_methods.rb
582
581
  - lib/rubocop/cop/mixin/integer_node.rb
583
582
  - lib/rubocop/cop/mixin/interpolation.rb
584
583
  - lib/rubocop/cop/mixin/line_length_help.rb
@@ -586,6 +585,7 @@ files:
586
585
  - lib/rubocop/cop/mixin/method_complexity.rb
587
586
  - lib/rubocop/cop/mixin/method_preference.rb
588
587
  - lib/rubocop/cop/mixin/min_body_length.rb
588
+ - lib/rubocop/cop/mixin/min_branches_count.rb
589
589
  - lib/rubocop/cop/mixin/multiline_element_indentation.rb
590
590
  - lib/rubocop/cop/mixin/multiline_element_line_breaks.rb
591
591
  - lib/rubocop/cop/mixin/multiline_expression_indentation.rb
@@ -651,6 +651,7 @@ files:
651
651
  - lib/rubocop/cop/style/and_or.rb
652
652
  - lib/rubocop/cop/style/arguments_forwarding.rb
653
653
  - lib/rubocop/cop/style/array_coercion.rb
654
+ - lib/rubocop/cop/style/array_intersect.rb
654
655
  - lib/rubocop/cop/style/array_join.rb
655
656
  - lib/rubocop/cop/style/ascii_comments.rb
656
657
  - lib/rubocop/cop/style/attr.rb
@@ -678,12 +679,16 @@ files:
678
679
  - lib/rubocop/cop/style/command_literal.rb
679
680
  - lib/rubocop/cop/style/comment_annotation.rb
680
681
  - lib/rubocop/cop/style/commented_keyword.rb
682
+ - lib/rubocop/cop/style/comparable_clamp.rb
683
+ - lib/rubocop/cop/style/concat_array_literals.rb
681
684
  - lib/rubocop/cop/style/conditional_assignment.rb
682
685
  - lib/rubocop/cop/style/constant_visibility.rb
683
686
  - lib/rubocop/cop/style/copyright.rb
687
+ - lib/rubocop/cop/style/data_inheritance.rb
684
688
  - lib/rubocop/cop/style/date_time.rb
685
689
  - lib/rubocop/cop/style/def_with_parentheses.rb
686
690
  - lib/rubocop/cop/style/dir.rb
691
+ - lib/rubocop/cop/style/dir_empty.rb
687
692
  - lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb
688
693
  - lib/rubocop/cop/style/document_dynamic_eval_definition.rb
689
694
  - lib/rubocop/cop/style/documentation.rb
@@ -695,6 +700,7 @@ files:
695
700
  - lib/rubocop/cop/style/empty_block_parameter.rb
696
701
  - lib/rubocop/cop/style/empty_case_condition.rb
697
702
  - lib/rubocop/cop/style/empty_else.rb
703
+ - lib/rubocop/cop/style/empty_heredoc.rb
698
704
  - lib/rubocop/cop/style/empty_lambda_parameter.rb
699
705
  - lib/rubocop/cop/style/empty_literal.rb
700
706
  - lib/rubocop/cop/style/empty_method.rb
@@ -704,10 +710,12 @@ files:
704
710
  - lib/rubocop/cop/style/env_home.rb
705
711
  - lib/rubocop/cop/style/eval_with_location.rb
706
712
  - lib/rubocop/cop/style/even_odd.rb
713
+ - lib/rubocop/cop/style/exact_regexp_match.rb
707
714
  - lib/rubocop/cop/style/expand_path_arguments.rb
708
715
  - lib/rubocop/cop/style/explicit_block_argument.rb
709
716
  - lib/rubocop/cop/style/exponential_notation.rb
710
717
  - lib/rubocop/cop/style/fetch_env_var.rb
718
+ - lib/rubocop/cop/style/file_empty.rb
711
719
  - lib/rubocop/cop/style/file_read.rb
712
720
  - lib/rubocop/cop/style/file_write.rb
713
721
  - lib/rubocop/cop/style/float_division.rb
@@ -737,13 +745,16 @@ files:
737
745
  - lib/rubocop/cop/style/infinite_loop.rb
738
746
  - lib/rubocop/cop/style/inline_comment.rb
739
747
  - lib/rubocop/cop/style/inverse_methods.rb
748
+ - lib/rubocop/cop/style/invertible_unless_condition.rb
740
749
  - lib/rubocop/cop/style/ip_addresses.rb
741
750
  - lib/rubocop/cop/style/keyword_parameters_order.rb
742
751
  - lib/rubocop/cop/style/lambda.rb
743
752
  - lib/rubocop/cop/style/lambda_call.rb
744
753
  - lib/rubocop/cop/style/line_end_concatenation.rb
754
+ - lib/rubocop/cop/style/magic_comment_format.rb
745
755
  - lib/rubocop/cop/style/map_compact_with_conditional_block.rb
746
756
  - lib/rubocop/cop/style/map_to_hash.rb
757
+ - lib/rubocop/cop/style/map_to_set.rb
747
758
  - lib/rubocop/cop/style/method_call_with_args_parentheses.rb
748
759
  - lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
749
760
  - lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb
@@ -751,6 +762,7 @@ files:
751
762
  - lib/rubocop/cop/style/method_called_on_do_end_block.rb
752
763
  - lib/rubocop/cop/style/method_def_parentheses.rb
753
764
  - lib/rubocop/cop/style/min_max.rb
765
+ - lib/rubocop/cop/style/min_max_comparison.rb
754
766
  - lib/rubocop/cop/style/missing_else.rb
755
767
  - lib/rubocop/cop/style/missing_respond_to_missing.rb
756
768
  - lib/rubocop/cop/style/mixin_grouping.rb
@@ -787,6 +799,7 @@ files:
787
799
  - lib/rubocop/cop/style/object_then.rb
788
800
  - lib/rubocop/cop/style/one_line_conditional.rb
789
801
  - lib/rubocop/cop/style/open_struct_use.rb
802
+ - lib/rubocop/cop/style/operator_method_call.rb
790
803
  - lib/rubocop/cop/style/option_hash.rb
791
804
  - lib/rubocop/cop/style/optional_arguments.rb
792
805
  - lib/rubocop/cop/style/optional_boolean_parameter.rb
@@ -807,12 +820,17 @@ files:
807
820
  - lib/rubocop/cop/style/redundant_capital_w.rb
808
821
  - lib/rubocop/cop/style/redundant_condition.rb
809
822
  - lib/rubocop/cop/style/redundant_conditional.rb
823
+ - lib/rubocop/cop/style/redundant_constant_base.rb
824
+ - lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb
825
+ - lib/rubocop/cop/style/redundant_each.rb
810
826
  - lib/rubocop/cop/style/redundant_exception.rb
811
827
  - lib/rubocop/cop/style/redundant_fetch_block.rb
812
828
  - lib/rubocop/cop/style/redundant_file_extension_in_require.rb
813
829
  - lib/rubocop/cop/style/redundant_freeze.rb
830
+ - lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb
814
831
  - lib/rubocop/cop/style/redundant_initialize.rb
815
832
  - lib/rubocop/cop/style/redundant_interpolation.rb
833
+ - lib/rubocop/cop/style/redundant_line_continuation.rb
816
834
  - lib/rubocop/cop/style/redundant_parentheses.rb
817
835
  - lib/rubocop/cop/style/redundant_percent_q.rb
818
836
  - lib/rubocop/cop/style/redundant_regexp_character_class.rb
@@ -823,7 +841,9 @@ files:
823
841
  - lib/rubocop/cop/style/redundant_self_assignment_branch.rb
824
842
  - lib/rubocop/cop/style/redundant_sort.rb
825
843
  - lib/rubocop/cop/style/redundant_sort_by.rb
844
+ - lib/rubocop/cop/style/redundant_string_escape.rb
826
845
  - lib/rubocop/cop/style/regexp_literal.rb
846
+ - lib/rubocop/cop/style/require_order.rb
827
847
  - lib/rubocop/cop/style/rescue_modifier.rb
828
848
  - lib/rubocop/cop/style/rescue_standard_error.rb
829
849
  - lib/rubocop/cop/style/return_nil.rb
@@ -876,6 +896,7 @@ files:
876
896
  - lib/rubocop/cop/style/while_until_modifier.rb
877
897
  - lib/rubocop/cop/style/word_array.rb
878
898
  - lib/rubocop/cop/style/yoda_condition.rb
899
+ - lib/rubocop/cop/style/yoda_expression.rb
879
900
  - lib/rubocop/cop/style/zero_length_predicate.rb
880
901
  - lib/rubocop/cop/team.rb
881
902
  - lib/rubocop/cop/util.rb
@@ -892,10 +913,14 @@ files:
892
913
  - lib/rubocop/core_ext/string.rb
893
914
  - lib/rubocop/directive_comment.rb
894
915
  - lib/rubocop/error.rb
916
+ - lib/rubocop/ext/comment.rb
895
917
  - lib/rubocop/ext/processed_source.rb
918
+ - lib/rubocop/ext/range.rb
896
919
  - lib/rubocop/ext/regexp_node.rb
897
920
  - lib/rubocop/ext/regexp_parser.rb
921
+ - lib/rubocop/feature_loader.rb
898
922
  - lib/rubocop/file_finder.rb
923
+ - lib/rubocop/file_patterns.rb
899
924
  - lib/rubocop/formatter.rb
900
925
  - lib/rubocop/formatter/auto_gen_config_formatter.rb
901
926
  - lib/rubocop/formatter/base_formatter.rb
@@ -967,7 +992,7 @@ metadata:
967
992
  homepage_uri: https://rubocop.org/
968
993
  changelog_uri: https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md
969
994
  source_code_uri: https://github.com/rubocop/rubocop/
970
- documentation_uri: https://docs.rubocop.org/rubocop/1.31/
995
+ documentation_uri: https://docs.rubocop.org/rubocop/1.51/
971
996
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
972
997
  rubygems_mfa_required: 'true'
973
998
  post_install_message:
@@ -978,14 +1003,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
978
1003
  requirements:
979
1004
  - - ">="
980
1005
  - !ruby/object:Gem::Version
981
- version: 2.6.0
1006
+ version: 2.7.0
982
1007
  required_rubygems_version: !ruby/object:Gem::Requirement
983
1008
  requirements:
984
1009
  - - ">="
985
1010
  - !ruby/object:Gem::Version
986
1011
  version: '0'
987
1012
  requirements: []
988
- rubygems_version: 3.2.22
1013
+ rubygems_version: 3.4.6
989
1014
  signing_key:
990
1015
  specification_version: 4
991
1016
  summary: Automatic Ruby code style checking tool.
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- module Cop
5
- # This module encapsulates the ability to ignore certain methods when
6
- # parsing.
7
- # Cops that use `IgnoredMethods` can accept either strings or regexes to match
8
- # against.
9
- module IgnoredMethods
10
- # Configuration for IgnoredMethods. It is added to classes that include
11
- # the module so that configuration can be set using the `ignored_methods`
12
- # class macro.
13
- module Config
14
- attr_accessor :deprecated_key
15
-
16
- def ignored_methods(**config)
17
- self.deprecated_key = config[:deprecated_key]
18
- end
19
- end
20
-
21
- def self.included(base)
22
- base.extend(Config)
23
- end
24
-
25
- def ignored_method?(name)
26
- ignored_methods.any? do |value|
27
- case value
28
- when Regexp
29
- value.match? String(name)
30
- else
31
- value == String(name)
32
- end
33
- end
34
- end
35
-
36
- def ignored_methods
37
- keys = %w[IgnoredMethods]
38
- keys << deprecated_key if deprecated_key
39
-
40
- cop_config.slice(*keys).values.reduce(&:concat)
41
- end
42
-
43
- private
44
-
45
- def deprecated_key
46
- return unless self.class.respond_to?(:deprecated_key)
47
-
48
- self.class.deprecated_key&.to_s
49
- end
50
- end
51
- end
52
- end