rubocop 1.84.2 → 1.86.2

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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/config/default.yml +99 -16
  3. data/config/obsoletion.yml +5 -0
  4. data/lib/rubocop/cache_config.rb +1 -1
  5. data/lib/rubocop/cli/command/auto_generate_config.rb +28 -2
  6. data/lib/rubocop/cli/command/list_enabled_cops_for.rb +40 -0
  7. data/lib/rubocop/cli/command/mcp.rb +19 -0
  8. data/lib/rubocop/cli/command/show_cops.rb +2 -2
  9. data/lib/rubocop/cli/command/show_docs_url.rb +4 -8
  10. data/lib/rubocop/cli/command/suggest_extensions.rb +1 -1
  11. data/lib/rubocop/cli.rb +7 -7
  12. data/lib/rubocop/comment_config.rb +12 -15
  13. data/lib/rubocop/config.rb +14 -10
  14. data/lib/rubocop/config_finder.rb +1 -1
  15. data/lib/rubocop/config_loader_resolver.rb +2 -1
  16. data/lib/rubocop/config_obsoletion/extracted_cop.rb +4 -2
  17. data/lib/rubocop/config_store.rb +1 -1
  18. data/lib/rubocop/config_validator.rb +1 -1
  19. data/lib/rubocop/cop/autocorrect_logic.rb +2 -1
  20. data/lib/rubocop/cop/correctors/condition_corrector.rb +1 -1
  21. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -5
  22. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -2
  23. data/lib/rubocop/cop/correctors.rb +28 -0
  24. data/lib/rubocop/cop/documentation.rb +2 -3
  25. data/lib/rubocop/cop/exclude_limit.rb +31 -5
  26. data/lib/rubocop/cop/gemspec/require_mfa.rb +4 -4
  27. data/lib/rubocop/cop/internal_affairs/itblock_handler.rb +69 -0
  28. data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +1 -0
  29. data/lib/rubocop/cop/internal_affairs.rb +1 -0
  30. data/lib/rubocop/cop/layout/argument_alignment.rb +2 -2
  31. data/lib/rubocop/cop/layout/array_alignment.rb +1 -1
  32. data/lib/rubocop/cop/layout/dot_position.rb +1 -1
  33. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +9 -2
  34. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +1 -1
  35. data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +1 -0
  36. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +12 -2
  37. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +16 -2
  38. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +16 -2
  39. data/lib/rubocop/cop/layout/end_alignment.rb +6 -3
  40. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +7 -1
  41. data/lib/rubocop/cop/layout/hash_alignment.rb +1 -1
  42. data/lib/rubocop/cop/layout/indentation_width.rb +1 -1
  43. data/lib/rubocop/cop/layout/line_length.rb +5 -3
  44. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +9 -2
  45. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
  46. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +53 -3
  47. data/lib/rubocop/cop/layout/parameter_alignment.rb +1 -1
  48. data/lib/rubocop/cop/layout/redundant_line_break.rb +1 -1
  49. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +1 -1
  50. data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -1
  51. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +1 -0
  52. data/lib/rubocop/cop/lint/constant_reassignment.rb +59 -9
  53. data/lib/rubocop/cop/lint/constant_resolution.rb +1 -1
  54. data/lib/rubocop/cop/lint/data_define_override.rb +63 -0
  55. data/lib/rubocop/cop/lint/duplicate_methods.rb +55 -8
  56. data/lib/rubocop/cop/lint/empty_block.rb +1 -1
  57. data/lib/rubocop/cop/lint/empty_conditional_body.rb +6 -1
  58. data/lib/rubocop/cop/lint/empty_in_pattern.rb +8 -1
  59. data/lib/rubocop/cop/lint/empty_when.rb +8 -1
  60. data/lib/rubocop/cop/lint/interpolation_check.rb +7 -2
  61. data/lib/rubocop/cop/lint/next_without_accumulator.rb +2 -0
  62. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +3 -1
  63. data/lib/rubocop/cop/lint/number_conversion.rb +1 -1
  64. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +3 -13
  65. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +0 -9
  66. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +23 -6
  67. data/lib/rubocop/cop/lint/require_relative_self_path.rb +2 -0
  68. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +17 -0
  69. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +7 -1
  70. data/lib/rubocop/cop/lint/syntax.rb +25 -1
  71. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -0
  72. data/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +1 -0
  73. data/lib/rubocop/cop/lint/unreachable_pattern_branch.rb +113 -0
  74. data/lib/rubocop/cop/lint/unused_method_argument.rb +10 -0
  75. data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
  76. data/lib/rubocop/cop/lint/useless_constant_scoping.rb +4 -4
  77. data/lib/rubocop/cop/lint/useless_default_value_argument.rb +2 -0
  78. data/lib/rubocop/cop/lint/utils/nil_receiver_checker.rb +35 -9
  79. data/lib/rubocop/cop/lint/void.rb +32 -12
  80. data/lib/rubocop/cop/metrics/block_nesting.rb +23 -0
  81. data/lib/rubocop/cop/migration/department_name.rb +12 -1
  82. data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
  83. data/lib/rubocop/cop/mixin/check_single_line_suitability.rb +2 -2
  84. data/lib/rubocop/cop/mixin/configurable_max.rb +6 -5
  85. data/lib/rubocop/cop/mixin/hash_transform_method/autocorrection.rb +63 -0
  86. data/lib/rubocop/cop/mixin/hash_transform_method.rb +10 -60
  87. data/lib/rubocop/cop/mixin.rb +85 -0
  88. data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
  89. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
  90. data/lib/rubocop/cop/offense.rb +8 -0
  91. data/lib/rubocop/cop/registry.rb +39 -37
  92. data/lib/rubocop/cop/security/eval.rb +15 -2
  93. data/lib/rubocop/cop/style/access_modifier_declarations.rb +14 -2
  94. data/lib/rubocop/cop/style/accessor_grouping.rb +4 -2
  95. data/lib/rubocop/cop/style/alias.rb +4 -1
  96. data/lib/rubocop/cop/style/and_or.rb +1 -0
  97. data/lib/rubocop/cop/style/arguments_forwarding.rb +25 -7
  98. data/lib/rubocop/cop/style/array_join.rb +4 -2
  99. data/lib/rubocop/cop/style/ascii_comments.rb +6 -3
  100. data/lib/rubocop/cop/style/attr.rb +5 -2
  101. data/lib/rubocop/cop/style/bare_percent_literals.rb +3 -1
  102. data/lib/rubocop/cop/style/begin_block.rb +3 -1
  103. data/lib/rubocop/cop/style/block_delimiters.rb +25 -33
  104. data/lib/rubocop/cop/style/case_equality.rb +4 -0
  105. data/lib/rubocop/cop/style/class_and_module_children.rb +10 -2
  106. data/lib/rubocop/cop/style/collection_compact.rb +36 -16
  107. data/lib/rubocop/cop/style/colon_method_call.rb +3 -1
  108. data/lib/rubocop/cop/style/concat_array_literals.rb +2 -0
  109. data/lib/rubocop/cop/style/conditional_assignment.rb +0 -4
  110. data/lib/rubocop/cop/style/copyright.rb +22 -11
  111. data/lib/rubocop/cop/style/date_time.rb +2 -2
  112. data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +6 -1
  113. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
  114. data/lib/rubocop/cop/style/each_with_object.rb +2 -0
  115. data/lib/rubocop/cop/style/empty_block_parameter.rb +1 -1
  116. data/lib/rubocop/cop/style/empty_class_definition.rb +43 -20
  117. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -1
  118. data/lib/rubocop/cop/style/encoding.rb +7 -1
  119. data/lib/rubocop/cop/style/end_block.rb +3 -1
  120. data/lib/rubocop/cop/style/endless_method.rb +8 -3
  121. data/lib/rubocop/cop/style/file_open.rb +84 -0
  122. data/lib/rubocop/cop/style/for.rb +3 -0
  123. data/lib/rubocop/cop/style/format_string_token.rb +29 -2
  124. data/lib/rubocop/cop/style/global_vars.rb +5 -2
  125. data/lib/rubocop/cop/style/guard_clause.rb +9 -6
  126. data/lib/rubocop/cop/style/hash_as_last_array_item.rb +21 -5
  127. data/lib/rubocop/cop/style/hash_lookup_method.rb +19 -7
  128. data/lib/rubocop/cop/style/hash_transform_keys.rb +17 -7
  129. data/lib/rubocop/cop/style/hash_transform_values.rb +17 -7
  130. data/lib/rubocop/cop/style/if_inside_else.rb +16 -7
  131. data/lib/rubocop/cop/style/if_unless_modifier.rb +14 -3
  132. data/lib/rubocop/cop/style/if_with_semicolon.rb +7 -5
  133. data/lib/rubocop/cop/style/inline_comment.rb +4 -1
  134. data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
  135. data/lib/rubocop/cop/style/magic_comment_format.rb +2 -2
  136. data/lib/rubocop/cop/style/map_join.rb +123 -0
  137. data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +5 -3
  138. data/lib/rubocop/cop/style/module_member_existence_check.rb +7 -14
  139. data/lib/rubocop/cop/style/multiline_if_then.rb +3 -1
  140. data/lib/rubocop/cop/style/mutable_constant.rb +1 -1
  141. data/lib/rubocop/cop/style/nil_comparison.rb +2 -3
  142. data/lib/rubocop/cop/style/nil_lambda.rb +1 -1
  143. data/lib/rubocop/cop/style/non_nil_check.rb +5 -11
  144. data/lib/rubocop/cop/style/not.rb +2 -0
  145. data/lib/rubocop/cop/style/numeric_literals.rb +3 -2
  146. data/lib/rubocop/cop/style/one_class_per_file.rb +115 -0
  147. data/lib/rubocop/cop/style/one_line_conditional.rb +4 -3
  148. data/lib/rubocop/cop/style/parallel_assignment.rb +4 -0
  149. data/lib/rubocop/cop/style/partition_instead_of_double_select.rb +270 -0
  150. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +2 -0
  151. data/lib/rubocop/cop/style/predicate_with_kind.rb +84 -0
  152. data/lib/rubocop/cop/style/proc.rb +3 -2
  153. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  154. data/lib/rubocop/cop/style/reduce_to_hash.rb +200 -0
  155. data/lib/rubocop/cop/style/redundant_begin.rb +3 -3
  156. data/lib/rubocop/cop/style/redundant_each.rb +3 -3
  157. data/lib/rubocop/cop/style/redundant_fetch_block.rb +1 -1
  158. data/lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb +26 -10
  159. data/lib/rubocop/cop/style/redundant_line_continuation.rb +16 -0
  160. data/lib/rubocop/cop/style/redundant_min_max_by.rb +93 -0
  161. data/lib/rubocop/cop/style/redundant_parentheses.rb +25 -22
  162. data/lib/rubocop/cop/style/redundant_percent_q.rb +4 -1
  163. data/lib/rubocop/cop/style/redundant_return.rb +3 -1
  164. data/lib/rubocop/cop/style/redundant_self.rb +2 -2
  165. data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +0 -5
  166. data/lib/rubocop/cop/style/redundant_struct_keyword_init.rb +114 -0
  167. data/lib/rubocop/cop/style/regexp_literal.rb +29 -0
  168. data/lib/rubocop/cop/style/safe_navigation.rb +7 -7
  169. data/lib/rubocop/cop/style/select_by_kind.rb +158 -0
  170. data/lib/rubocop/cop/style/select_by_range.rb +197 -0
  171. data/lib/rubocop/cop/style/select_by_regexp.rb +51 -21
  172. data/lib/rubocop/cop/style/semicolon.rb +2 -0
  173. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -2
  174. data/lib/rubocop/cop/style/single_line_do_end_block.rb +1 -1
  175. data/lib/rubocop/cop/style/single_line_methods.rb +3 -1
  176. data/lib/rubocop/cop/style/sole_nested_conditional.rb +4 -2
  177. data/lib/rubocop/cop/style/special_global_vars.rb +6 -1
  178. data/lib/rubocop/cop/style/symbol_proc.rb +7 -6
  179. data/lib/rubocop/cop/style/tally_method.rb +181 -0
  180. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +1 -1
  181. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -0
  182. data/lib/rubocop/cop/style/while_until_modifier.rb +16 -0
  183. data/lib/rubocop/cop/style/yoda_expression.rb +1 -1
  184. data/lib/rubocop/cop/team.rb +86 -35
  185. data/lib/rubocop/cop/variable_force/branch.rb +2 -2
  186. data/lib/rubocop/directive_comment.rb +2 -1
  187. data/lib/rubocop/formatter/disabled_config_formatter.rb +5 -2
  188. data/lib/rubocop/formatter/formatter_set.rb +1 -1
  189. data/lib/rubocop/formatter/junit_formatter.rb +1 -1
  190. data/lib/rubocop/formatter/simple_text_formatter.rb +0 -2
  191. data/lib/rubocop/formatter/worst_offenders_formatter.rb +1 -1
  192. data/lib/rubocop/formatter.rb +22 -21
  193. data/lib/rubocop/lsp/diagnostic.rb +1 -0
  194. data/lib/rubocop/lsp/routes.rb +10 -3
  195. data/lib/rubocop/lsp/runtime.rb +1 -2
  196. data/lib/rubocop/mcp/server.rb +200 -0
  197. data/lib/rubocop/options.rb +17 -4
  198. data/lib/rubocop/path_util.rb +14 -2
  199. data/lib/rubocop/plugin/loader.rb +1 -1
  200. data/lib/rubocop/result_cache.rb +22 -10
  201. data/lib/rubocop/rspec/cop_helper.rb +8 -0
  202. data/lib/rubocop/rspec/shared_contexts.rb +32 -2
  203. data/lib/rubocop/runner.rb +78 -51
  204. data/lib/rubocop/server/cache.rb +5 -7
  205. data/lib/rubocop/server/core.rb +2 -0
  206. data/lib/rubocop/target_finder.rb +14 -7
  207. data/lib/rubocop/target_ruby.rb +18 -12
  208. data/lib/rubocop/version.rb +2 -2
  209. data/lib/rubocop.rb +21 -96
  210. metadata +25 -5
data/lib/rubocop.rb CHANGED
@@ -52,6 +52,7 @@ require_relative 'rubocop/cop/cop'
52
52
  require_relative 'rubocop/cop/commissioner'
53
53
  require_relative 'rubocop/cop/documentation'
54
54
  require_relative 'rubocop/cop/corrector'
55
+ require_relative 'rubocop/cop/correctors'
55
56
  require_relative 'rubocop/cop/force'
56
57
  require_relative 'rubocop/cop/severity'
57
58
  require_relative 'rubocop/cop/generator'
@@ -68,109 +69,18 @@ require_relative 'rubocop/cop/variable_force/reference'
68
69
  require_relative 'rubocop/cop/variable_force/scope'
69
70
  require_relative 'rubocop/cop/variable_force/variable_table'
70
71
 
71
- require_relative 'rubocop/cop/mixin/array_min_size'
72
- require_relative 'rubocop/cop/mixin/array_syntax'
73
- require_relative 'rubocop/cop/mixin/alignment'
74
- require_relative 'rubocop/cop/mixin/allowed_identifiers'
75
- require_relative 'rubocop/cop/mixin/allowed_methods'
76
- require_relative 'rubocop/cop/mixin/allowed_pattern'
77
- require_relative 'rubocop/cop/mixin/allowed_receivers'
78
- require_relative 'rubocop/cop/mixin/forbidden_identifiers'
79
- require_relative 'rubocop/cop/mixin/forbidden_pattern'
80
- require_relative 'rubocop/cop/mixin/auto_corrector' # rubocop:todo Naming/InclusiveLanguage
81
- require_relative 'rubocop/cop/mixin/check_assignment'
82
- require_relative 'rubocop/cop/mixin/check_line_breakable'
83
- require_relative 'rubocop/cop/mixin/check_single_line_suitability'
84
- require_relative 'rubocop/cop/mixin/configurable_max'
85
- require_relative 'rubocop/cop/mixin/code_length' # relies on configurable_max
86
- require_relative 'rubocop/cop/mixin/configurable_enforced_style'
87
- require_relative 'rubocop/cop/mixin/configurable_formatting'
88
- require_relative 'rubocop/cop/mixin/configurable_naming'
89
- require_relative 'rubocop/cop/mixin/configurable_numbering'
90
- require_relative 'rubocop/cop/mixin/dig_help'
91
- require_relative 'rubocop/cop/mixin/documentation_comment'
92
- require_relative 'rubocop/cop/mixin/duplication'
93
- require_relative 'rubocop/cop/mixin/range_help'
94
- require_relative 'rubocop/cop/mixin/annotation_comment' # relies on range
95
- require_relative 'rubocop/cop/mixin/empty_lines_around_body' # relies on range
96
- require_relative 'rubocop/cop/mixin/empty_parameter'
97
- require_relative 'rubocop/cop/mixin/end_keyword_alignment'
98
- require_relative 'rubocop/cop/mixin/endless_method_rewriter'
99
- require_relative 'rubocop/cop/mixin/enforce_superclass'
100
- require_relative 'rubocop/cop/mixin/first_element_line_break'
101
- require_relative 'rubocop/cop/mixin/frozen_string_literal'
102
- require_relative 'rubocop/cop/mixin/gem_declaration'
103
- require_relative 'rubocop/cop/mixin/gemspec_help'
104
- require_relative 'rubocop/cop/mixin/hash_alignment_styles'
105
- require_relative 'rubocop/cop/mixin/hash_subset'
106
- require_relative 'rubocop/cop/mixin/hash_transform_method'
107
- require_relative 'rubocop/cop/mixin/integer_node'
108
- require_relative 'rubocop/cop/mixin/interpolation'
109
- require_relative 'rubocop/cop/mixin/line_length_help'
110
- require_relative 'rubocop/cop/mixin/match_range'
72
+ require_relative 'rubocop/cop/mixin'
73
+ # TODO: move to Layout module once cop lazy loading is implemented
74
+ require_relative 'rubocop/cop/mixin/empty_lines_around_body'
75
+ # TODO: move to Lint module once cop lazy loading is implemented
76
+ require_relative 'rubocop/cop/mixin/unused_argument'
111
77
  require_relative 'rubocop/cop/metrics/utils/repeated_csend_discount'
112
78
  require_relative 'rubocop/cop/metrics/utils/repeated_attribute_discount'
113
- require_relative 'rubocop/cop/mixin/hash_shorthand_syntax'
114
- require_relative 'rubocop/cop/mixin/method_complexity'
115
- require_relative 'rubocop/cop/mixin/method_preference'
116
- require_relative 'rubocop/cop/mixin/min_body_length'
117
- require_relative 'rubocop/cop/mixin/min_branches_count'
118
- require_relative 'rubocop/cop/mixin/multiline_element_indentation'
119
- require_relative 'rubocop/cop/mixin/multiline_element_line_breaks'
120
- require_relative 'rubocop/cop/mixin/multiline_expression_indentation'
121
- require_relative 'rubocop/cop/mixin/multiline_literal_brace_layout'
122
- require_relative 'rubocop/cop/mixin/negative_conditional'
123
- require_relative 'rubocop/cop/mixin/heredoc'
124
- require_relative 'rubocop/cop/mixin/nil_methods'
125
- require_relative 'rubocop/cop/mixin/on_normal_if_unless'
126
- require_relative 'rubocop/cop/mixin/ordered_gem_node'
127
- require_relative 'rubocop/cop/mixin/parentheses'
128
- require_relative 'rubocop/cop/mixin/percent_array'
129
- require_relative 'rubocop/cop/mixin/percent_literal'
130
- require_relative 'rubocop/cop/mixin/preceding_following_alignment'
131
- require_relative 'rubocop/cop/mixin/preferred_delimiters'
132
- require_relative 'rubocop/cop/mixin/rational_literal'
133
- require_relative 'rubocop/cop/mixin/require_library'
134
- require_relative 'rubocop/cop/mixin/rescue_node'
135
- require_relative 'rubocop/cop/mixin/safe_assignment'
136
- require_relative 'rubocop/cop/mixin/space_after_punctuation'
137
- require_relative 'rubocop/cop/mixin/space_before_punctuation'
138
- require_relative 'rubocop/cop/mixin/surrounding_space'
139
- require_relative 'rubocop/cop/mixin/statement_modifier'
140
- require_relative 'rubocop/cop/mixin/string_help'
141
- require_relative 'rubocop/cop/mixin/string_literals_help'
142
- require_relative 'rubocop/cop/mixin/symbol_help'
143
- require_relative 'rubocop/cop/mixin/target_ruby_version'
144
- require_relative 'rubocop/cop/mixin/trailing_body'
145
- require_relative 'rubocop/cop/mixin/trailing_comma'
146
- require_relative 'rubocop/cop/mixin/uncommunicative_name'
147
- require_relative 'rubocop/cop/mixin/unused_argument'
148
- require_relative 'rubocop/cop/mixin/visibility_help'
149
- require_relative 'rubocop/cop/mixin/comments_help' # relies on visibility_help
150
- require_relative 'rubocop/cop/mixin/def_node' # relies on visibility_help
151
79
 
152
80
  require_relative 'rubocop/cop/utils/format_string'
153
81
 
154
82
  require_relative 'rubocop/cop/migration/department_name'
155
83
 
156
- require_relative 'rubocop/cop/correctors/alignment_corrector'
157
- require_relative 'rubocop/cop/correctors/condition_corrector'
158
- require_relative 'rubocop/cop/correctors/each_to_for_corrector'
159
- require_relative 'rubocop/cop/correctors/empty_line_corrector'
160
- require_relative 'rubocop/cop/correctors/for_to_each_corrector'
161
- require_relative 'rubocop/cop/correctors/if_then_corrector'
162
- require_relative 'rubocop/cop/correctors/lambda_literal_to_method_corrector'
163
- require_relative 'rubocop/cop/correctors/line_break_corrector'
164
- require_relative 'rubocop/cop/correctors/multiline_literal_brace_corrector'
165
- require_relative 'rubocop/cop/correctors/ordered_gem_corrector'
166
- require_relative 'rubocop/cop/correctors/parentheses_corrector'
167
- require_relative 'rubocop/cop/correctors/percent_literal_corrector'
168
- require_relative 'rubocop/cop/correctors/punctuation_corrector'
169
- require_relative 'rubocop/cop/correctors/require_library_corrector'
170
- require_relative 'rubocop/cop/correctors/space_corrector'
171
- require_relative 'rubocop/cop/correctors/string_literal_corrector'
172
- require_relative 'rubocop/cop/correctors/unused_arg_corrector'
173
-
174
84
  require_relative 'rubocop/cop/bundler/duplicated_gem'
175
85
  require_relative 'rubocop/cop/bundler/duplicated_group'
176
86
  require_relative 'rubocop/cop/bundler/gem_comment'
@@ -309,6 +219,7 @@ require_relative 'rubocop/cop/lint/constant_overwritten_in_rescue'
309
219
  require_relative 'rubocop/cop/lint/constant_reassignment'
310
220
  require_relative 'rubocop/cop/lint/constant_resolution'
311
221
  require_relative 'rubocop/cop/lint/cop_directive_syntax'
222
+ require_relative 'rubocop/cop/lint/data_define_override'
312
223
  require_relative 'rubocop/cop/lint/debugger'
313
224
  require_relative 'rubocop/cop/lint/deprecated_class_methods'
314
225
  require_relative 'rubocop/cop/lint/deprecated_constants'
@@ -426,6 +337,7 @@ require_relative 'rubocop/cop/lint/unified_integer'
426
337
  require_relative 'rubocop/cop/lint/unmodified_reduce_accumulator'
427
338
  require_relative 'rubocop/cop/lint/unreachable_code'
428
339
  require_relative 'rubocop/cop/lint/unreachable_loop'
340
+ require_relative 'rubocop/cop/lint/unreachable_pattern_branch'
429
341
  require_relative 'rubocop/cop/lint/unused_block_argument'
430
342
  require_relative 'rubocop/cop/lint/unused_method_argument'
431
343
  require_relative 'rubocop/cop/lint/uri_escape_unescape'
@@ -561,6 +473,7 @@ require_relative 'rubocop/cop/style/exponential_notation'
561
473
  require_relative 'rubocop/cop/style/fetch_env_var'
562
474
  require_relative 'rubocop/cop/style/file_empty'
563
475
  require_relative 'rubocop/cop/style/file_null'
476
+ require_relative 'rubocop/cop/style/file_open'
564
477
  require_relative 'rubocop/cop/style/file_read'
565
478
  require_relative 'rubocop/cop/style/file_touch'
566
479
  require_relative 'rubocop/cop/style/file_write'
@@ -592,6 +505,7 @@ require_relative 'rubocop/cop/style/if_with_semicolon'
592
505
  require_relative 'rubocop/cop/style/implicit_runtime_error'
593
506
  require_relative 'rubocop/cop/style/in_pattern_then'
594
507
  require_relative 'rubocop/cop/style/infinite_loop'
508
+ require_relative 'rubocop/cop/style/reduce_to_hash'
595
509
  require_relative 'rubocop/cop/style/inverse_methods'
596
510
  require_relative 'rubocop/cop/style/inline_comment'
597
511
  require_relative 'rubocop/cop/style/invertible_unless_condition'
@@ -605,6 +519,7 @@ require_relative 'rubocop/cop/style/lambda_call'
605
519
  require_relative 'rubocop/cop/style/line_end_concatenation'
606
520
  require_relative 'rubocop/cop/style/magic_comment_format'
607
521
  require_relative 'rubocop/cop/style/map_into_array'
522
+ require_relative 'rubocop/cop/style/map_join'
608
523
  require_relative 'rubocop/cop/style/map_to_hash'
609
524
  require_relative 'rubocop/cop/style/map_to_set'
610
525
  require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
@@ -613,8 +528,10 @@ require_relative 'rubocop/cop/style/min_max_comparison'
613
528
  require_relative 'rubocop/cop/style/module_member_existence_check'
614
529
  require_relative 'rubocop/cop/style/multiline_in_pattern_then'
615
530
  require_relative 'rubocop/cop/style/numbered_parameters'
531
+ require_relative 'rubocop/cop/style/one_class_per_file'
616
532
  require_relative 'rubocop/cop/style/open_struct_use'
617
533
  require_relative 'rubocop/cop/style/operator_method_call'
534
+ require_relative 'rubocop/cop/style/partition_instead_of_double_select'
618
535
  require_relative 'rubocop/cop/style/redundant_array_constructor'
619
536
  require_relative 'rubocop/cop/style/redundant_array_flatten'
620
537
  require_relative 'rubocop/cop/style/redundant_assignment'
@@ -630,10 +547,12 @@ require_relative 'rubocop/cop/style/redundant_heredoc_delimiter_quotes'
630
547
  require_relative 'rubocop/cop/style/redundant_initialize'
631
548
  require_relative 'rubocop/cop/style/redundant_interpolation_unfreeze'
632
549
  require_relative 'rubocop/cop/style/redundant_line_continuation'
550
+ require_relative 'rubocop/cop/style/redundant_min_max_by'
633
551
  require_relative 'rubocop/cop/style/redundant_regexp_argument'
634
552
  require_relative 'rubocop/cop/style/redundant_regexp_constructor'
635
553
  require_relative 'rubocop/cop/style/redundant_self_assignment'
636
554
  require_relative 'rubocop/cop/style/redundant_self_assignment_branch'
555
+ require_relative 'rubocop/cop/style/redundant_struct_keyword_init'
637
556
  require_relative 'rubocop/cop/style/require_order'
638
557
  require_relative 'rubocop/cop/style/reverse_find'
639
558
  require_relative 'rubocop/cop/style/safe_navigation_chain_length'
@@ -687,6 +606,7 @@ require_relative 'rubocop/cop/style/parentheses_around_condition'
687
606
  require_relative 'rubocop/cop/style/percent_literal_delimiters'
688
607
  require_relative 'rubocop/cop/style/percent_q_literals'
689
608
  require_relative 'rubocop/cop/style/perl_backrefs'
609
+ require_relative 'rubocop/cop/style/predicate_with_kind'
690
610
  require_relative 'rubocop/cop/style/preferred_hash_methods'
691
611
  require_relative 'rubocop/cop/style/proc'
692
612
  require_relative 'rubocop/cop/style/quoted_symbols'
@@ -716,6 +636,8 @@ require_relative 'rubocop/cop/style/return_nil'
716
636
  require_relative 'rubocop/cop/style/return_nil_in_predicate_method_definition'
717
637
  require_relative 'rubocop/cop/style/safe_navigation'
718
638
  require_relative 'rubocop/cop/style/sample'
639
+ require_relative 'rubocop/cop/style/select_by_kind'
640
+ require_relative 'rubocop/cop/style/select_by_range'
719
641
  require_relative 'rubocop/cop/style/select_by_regexp'
720
642
  require_relative 'rubocop/cop/style/self_assignment'
721
643
  require_relative 'rubocop/cop/style/semicolon'
@@ -743,6 +665,7 @@ require_relative 'rubocop/cop/style/swap_values'
743
665
  require_relative 'rubocop/cop/style/symbol_array'
744
666
  require_relative 'rubocop/cop/style/symbol_literal'
745
667
  require_relative 'rubocop/cop/style/symbol_proc'
668
+ require_relative 'rubocop/cop/style/tally_method'
746
669
  require_relative 'rubocop/cop/style/ternary_parentheses'
747
670
  require_relative 'rubocop/cop/style/top_level_method_definition'
748
671
  require_relative 'rubocop/cop/style/trailing_body_on_class'
@@ -811,6 +734,8 @@ require_relative 'rubocop/cli/command/auto_generate_config'
811
734
  require_relative 'rubocop/cli/command/execute_runner'
812
735
  require_relative 'rubocop/cli/command/init_dotfile'
813
736
  require_relative 'rubocop/cli/command/lsp'
737
+ require_relative 'rubocop/cli/command/list_enabled_cops_for'
738
+ require_relative 'rubocop/cli/command/mcp'
814
739
  require_relative 'rubocop/cli/command/show_cops'
815
740
  require_relative 'rubocop/cli/command/show_docs_url'
816
741
  require_relative 'rubocop/cli/command/suggest_extensions'
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.84.2
4
+ version: 1.86.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -57,14 +57,14 @@ dependencies:
57
57
  name: parallel
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '1.10'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.10'
70
70
  - !ruby/object:Gem::Dependency
@@ -207,7 +207,9 @@ files:
207
207
  - lib/rubocop/cli/command/base.rb
208
208
  - lib/rubocop/cli/command/execute_runner.rb
209
209
  - lib/rubocop/cli/command/init_dotfile.rb
210
+ - lib/rubocop/cli/command/list_enabled_cops_for.rb
210
211
  - lib/rubocop/cli/command/lsp.rb
212
+ - lib/rubocop/cli/command/mcp.rb
211
213
  - lib/rubocop/cli/command/show_cops.rb
212
214
  - lib/rubocop/cli/command/show_docs_url.rb
213
215
  - lib/rubocop/cli/command/suggest_extensions.rb
@@ -244,6 +246,7 @@ files:
244
246
  - lib/rubocop/cop/commissioner.rb
245
247
  - lib/rubocop/cop/cop.rb
246
248
  - lib/rubocop/cop/corrector.rb
249
+ - lib/rubocop/cop/correctors.rb
247
250
  - lib/rubocop/cop/correctors/alignment_corrector.rb
248
251
  - lib/rubocop/cop/correctors/condition_corrector.rb
249
252
  - lib/rubocop/cop/correctors/each_to_for_corrector.rb
@@ -286,6 +289,7 @@ files:
286
289
  - lib/rubocop/cop/internal_affairs/example_description.rb
287
290
  - lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb
288
291
  - lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb
292
+ - lib/rubocop/cop/internal_affairs/itblock_handler.rb
289
293
  - lib/rubocop/cop/internal_affairs/lambda_or_proc.rb
290
294
  - lib/rubocop/cop/internal_affairs/location_exists.rb
291
295
  - lib/rubocop/cop/internal_affairs/location_expression.rb
@@ -439,6 +443,7 @@ files:
439
443
  - lib/rubocop/cop/lint/constant_reassignment.rb
440
444
  - lib/rubocop/cop/lint/constant_resolution.rb
441
445
  - lib/rubocop/cop/lint/cop_directive_syntax.rb
446
+ - lib/rubocop/cop/lint/data_define_override.rb
442
447
  - lib/rubocop/cop/lint/debugger.rb
443
448
  - lib/rubocop/cop/lint/deprecated_class_methods.rb
444
449
  - lib/rubocop/cop/lint/deprecated_constants.rb
@@ -556,6 +561,7 @@ files:
556
561
  - lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb
557
562
  - lib/rubocop/cop/lint/unreachable_code.rb
558
563
  - lib/rubocop/cop/lint/unreachable_loop.rb
564
+ - lib/rubocop/cop/lint/unreachable_pattern_branch.rb
559
565
  - lib/rubocop/cop/lint/unused_block_argument.rb
560
566
  - lib/rubocop/cop/lint/unused_method_argument.rb
561
567
  - lib/rubocop/cop/lint/uri_escape_unescape.rb
@@ -592,6 +598,7 @@ files:
592
598
  - lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb
593
599
  - lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb
594
600
  - lib/rubocop/cop/migration/department_name.rb
601
+ - lib/rubocop/cop/mixin.rb
595
602
  - lib/rubocop/cop/mixin/alignment.rb
596
603
  - lib/rubocop/cop/mixin/allowed_identifiers.rb
597
604
  - lib/rubocop/cop/mixin/allowed_methods.rb
@@ -630,6 +637,7 @@ files:
630
637
  - lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
631
638
  - lib/rubocop/cop/mixin/hash_subset.rb
632
639
  - lib/rubocop/cop/mixin/hash_transform_method.rb
640
+ - lib/rubocop/cop/mixin/hash_transform_method/autocorrection.rb
633
641
  - lib/rubocop/cop/mixin/heredoc.rb
634
642
  - lib/rubocop/cop/mixin/integer_node.rb
635
643
  - lib/rubocop/cop/mixin/interpolation.rb
@@ -781,6 +789,7 @@ files:
781
789
  - lib/rubocop/cop/style/fetch_env_var.rb
782
790
  - lib/rubocop/cop/style/file_empty.rb
783
791
  - lib/rubocop/cop/style/file_null.rb
792
+ - lib/rubocop/cop/style/file_open.rb
784
793
  - lib/rubocop/cop/style/file_read.rb
785
794
  - lib/rubocop/cop/style/file_touch.rb
786
795
  - lib/rubocop/cop/style/file_write.rb
@@ -826,6 +835,7 @@ files:
826
835
  - lib/rubocop/cop/style/magic_comment_format.rb
827
836
  - lib/rubocop/cop/style/map_compact_with_conditional_block.rb
828
837
  - lib/rubocop/cop/style/map_into_array.rb
838
+ - lib/rubocop/cop/style/map_join.rb
829
839
  - lib/rubocop/cop/style/map_to_hash.rb
830
840
  - lib/rubocop/cop/style/map_to_set.rb
831
841
  - lib/rubocop/cop/style/method_call_with_args_parentheses.rb
@@ -872,6 +882,7 @@ files:
872
882
  - lib/rubocop/cop/style/numeric_literals.rb
873
883
  - lib/rubocop/cop/style/numeric_predicate.rb
874
884
  - lib/rubocop/cop/style/object_then.rb
885
+ - lib/rubocop/cop/style/one_class_per_file.rb
875
886
  - lib/rubocop/cop/style/one_line_conditional.rb
876
887
  - lib/rubocop/cop/style/open_struct_use.rb
877
888
  - lib/rubocop/cop/style/operator_method_call.rb
@@ -881,14 +892,17 @@ files:
881
892
  - lib/rubocop/cop/style/or_assignment.rb
882
893
  - lib/rubocop/cop/style/parallel_assignment.rb
883
894
  - lib/rubocop/cop/style/parentheses_around_condition.rb
895
+ - lib/rubocop/cop/style/partition_instead_of_double_select.rb
884
896
  - lib/rubocop/cop/style/percent_literal_delimiters.rb
885
897
  - lib/rubocop/cop/style/percent_q_literals.rb
886
898
  - lib/rubocop/cop/style/perl_backrefs.rb
899
+ - lib/rubocop/cop/style/predicate_with_kind.rb
887
900
  - lib/rubocop/cop/style/preferred_hash_methods.rb
888
901
  - lib/rubocop/cop/style/proc.rb
889
902
  - lib/rubocop/cop/style/quoted_symbols.rb
890
903
  - lib/rubocop/cop/style/raise_args.rb
891
904
  - lib/rubocop/cop/style/random_with_offset.rb
905
+ - lib/rubocop/cop/style/reduce_to_hash.rb
892
906
  - lib/rubocop/cop/style/redundant_argument.rb
893
907
  - lib/rubocop/cop/style/redundant_array_constructor.rb
894
908
  - lib/rubocop/cop/style/redundant_array_flatten.rb
@@ -912,6 +926,7 @@ files:
912
926
  - lib/rubocop/cop/style/redundant_interpolation.rb
913
927
  - lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb
914
928
  - lib/rubocop/cop/style/redundant_line_continuation.rb
929
+ - lib/rubocop/cop/style/redundant_min_max_by.rb
915
930
  - lib/rubocop/cop/style/redundant_parentheses.rb
916
931
  - lib/rubocop/cop/style/redundant_percent_q.rb
917
932
  - lib/rubocop/cop/style/redundant_regexp_argument.rb
@@ -925,6 +940,7 @@ files:
925
940
  - lib/rubocop/cop/style/redundant_sort.rb
926
941
  - lib/rubocop/cop/style/redundant_sort_by.rb
927
942
  - lib/rubocop/cop/style/redundant_string_escape.rb
943
+ - lib/rubocop/cop/style/redundant_struct_keyword_init.rb
928
944
  - lib/rubocop/cop/style/regexp_literal.rb
929
945
  - lib/rubocop/cop/style/require_order.rb
930
946
  - lib/rubocop/cop/style/rescue_modifier.rb
@@ -935,6 +951,8 @@ files:
935
951
  - lib/rubocop/cop/style/safe_navigation.rb
936
952
  - lib/rubocop/cop/style/safe_navigation_chain_length.rb
937
953
  - lib/rubocop/cop/style/sample.rb
954
+ - lib/rubocop/cop/style/select_by_kind.rb
955
+ - lib/rubocop/cop/style/select_by_range.rb
938
956
  - lib/rubocop/cop/style/select_by_regexp.rb
939
957
  - lib/rubocop/cop/style/self_assignment.rb
940
958
  - lib/rubocop/cop/style/semicolon.rb
@@ -965,6 +983,7 @@ files:
965
983
  - lib/rubocop/cop/style/symbol_array.rb
966
984
  - lib/rubocop/cop/style/symbol_literal.rb
967
985
  - lib/rubocop/cop/style/symbol_proc.rb
986
+ - lib/rubocop/cop/style/tally_method.rb
968
987
  - lib/rubocop/cop/style/ternary_parentheses.rb
969
988
  - lib/rubocop/cop/style/top_level_method_definition.rb
970
989
  - lib/rubocop/cop/style/trailing_body_on_class.rb
@@ -1046,6 +1065,7 @@ files:
1046
1065
  - lib/rubocop/lsp/severity.rb
1047
1066
  - lib/rubocop/lsp/stdin_runner.rb
1048
1067
  - lib/rubocop/magic_comment.rb
1068
+ - lib/rubocop/mcp/server.rb
1049
1069
  - lib/rubocop/name_similarity.rb
1050
1070
  - lib/rubocop/options.rb
1051
1071
  - lib/rubocop/path_util.rb
@@ -1097,9 +1117,9 @@ licenses:
1097
1117
  - MIT
1098
1118
  metadata:
1099
1119
  homepage_uri: https://rubocop.org/
1100
- changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.84.2
1120
+ changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.86.2
1101
1121
  source_code_uri: https://github.com/rubocop/rubocop/
1102
- documentation_uri: https://docs.rubocop.org/rubocop/1.84/
1122
+ documentation_uri: https://docs.rubocop.org/rubocop/1.86/
1103
1123
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
1104
1124
  rubygems_mfa_required: 'true'
1105
1125
  rdoc_options: []