rubocop 1.50.2 → 1.59.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 (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -3
  3. data/config/default.yml +153 -16
  4. data/config/obsoletion.yml +5 -0
  5. data/lib/rubocop/cli/command/auto_generate_config.rb +10 -5
  6. data/lib/rubocop/cli/command/lsp.rb +19 -0
  7. data/lib/rubocop/cli.rb +4 -1
  8. data/lib/rubocop/config.rb +4 -0
  9. data/lib/rubocop/config_finder.rb +2 -2
  10. data/lib/rubocop/config_loader_resolver.rb +4 -3
  11. data/lib/rubocop/config_obsoletion/parameter_rule.rb +9 -1
  12. data/lib/rubocop/config_obsoletion.rb +13 -10
  13. data/lib/rubocop/cop/autocorrect_logic.rb +3 -1
  14. data/lib/rubocop/cop/base.rb +6 -2
  15. data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -0
  16. data/lib/rubocop/cop/bundler/duplicated_group.rb +127 -0
  17. data/lib/rubocop/cop/bundler/gem_comment.rb +3 -3
  18. data/lib/rubocop/cop/bundler/gem_version.rb +2 -2
  19. data/lib/rubocop/cop/bundler/ordered_gems.rb +9 -1
  20. data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -1
  21. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +7 -4
  22. data/lib/rubocop/cop/gemspec/dependency_version.rb +2 -2
  23. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +2 -2
  24. data/lib/rubocop/cop/gemspec/development_dependencies.rb +1 -1
  25. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +9 -1
  26. data/lib/rubocop/cop/generator/require_file_injector.rb +1 -1
  27. data/lib/rubocop/cop/internal_affairs/cop_description.rb +32 -8
  28. data/lib/rubocop/cop/internal_affairs/example_description.rb +42 -21
  29. data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +3 -1
  30. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +19 -20
  31. data/lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb +53 -0
  32. data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +7 -7
  33. data/lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb +11 -2
  34. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -0
  35. data/lib/rubocop/cop/internal_affairs.rb +1 -0
  36. data/lib/rubocop/cop/layout/argument_alignment.rb +1 -1
  37. data/lib/rubocop/cop/layout/class_structure.rb +7 -0
  38. data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +1 -2
  39. data/lib/rubocop/cop/layout/dot_position.rb +1 -5
  40. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +42 -9
  41. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +27 -4
  42. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -0
  43. data/lib/rubocop/cop/layout/end_alignment.rb +7 -1
  44. data/lib/rubocop/cop/layout/extra_spacing.rb +4 -10
  45. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +6 -6
  46. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +1 -1
  47. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +4 -4
  48. data/lib/rubocop/cop/layout/heredoc_indentation.rb +4 -1
  49. data/lib/rubocop/cop/layout/indentation_style.rb +1 -1
  50. data/lib/rubocop/cop/layout/indentation_width.rb +3 -3
  51. data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
  52. data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +17 -9
  53. data/lib/rubocop/cop/layout/line_continuation_spacing.rb +1 -1
  54. data/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +2 -0
  55. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +18 -3
  56. data/lib/rubocop/cop/layout/redundant_line_break.rb +16 -5
  57. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +4 -4
  58. data/lib/rubocop/cop/layout/single_line_block_chain.rb +5 -0
  59. data/lib/rubocop/cop/layout/space_after_comma.rb +9 -1
  60. data/lib/rubocop/cop/layout/space_after_not.rb +1 -1
  61. data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +2 -2
  62. data/lib/rubocop/cop/layout/space_around_operators.rb +53 -21
  63. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +2 -0
  64. data/lib/rubocop/cop/layout/space_inside_parens.rb +1 -1
  65. data/lib/rubocop/cop/layout/space_inside_range_literal.rb +1 -1
  66. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +5 -0
  67. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +13 -1
  68. data/lib/rubocop/cop/lint/assignment_in_condition.rb +4 -4
  69. data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +2 -2
  70. data/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +1 -1
  71. data/lib/rubocop/cop/lint/debugger.rb +19 -5
  72. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +2 -1
  73. data/lib/rubocop/cop/lint/duplicate_methods.rb +1 -1
  74. data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +46 -19
  75. data/lib/rubocop/cop/lint/empty_block.rb +1 -1
  76. data/lib/rubocop/cop/lint/erb_new_arguments.rb +6 -7
  77. data/lib/rubocop/cop/lint/float_comparison.rb +10 -0
  78. data/lib/rubocop/cop/lint/hash_compare_by_identity.rb +2 -1
  79. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -1
  80. data/lib/rubocop/cop/lint/identity_comparison.rb +0 -1
  81. data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +5 -3
  82. data/lib/rubocop/cop/lint/inherit_exception.rb +9 -0
  83. data/lib/rubocop/cop/lint/it_without_arguments_in_block.rb +56 -0
  84. data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +1 -1
  85. data/lib/rubocop/cop/lint/literal_assignment_in_condition.rb +78 -0
  86. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  87. data/lib/rubocop/cop/lint/missing_super.rb +34 -5
  88. data/lib/rubocop/cop/lint/mixed_case_range.rb +111 -0
  89. data/lib/rubocop/cop/lint/next_without_accumulator.rb +6 -21
  90. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +10 -7
  91. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +3 -5
  92. data/lib/rubocop/cop/lint/number_conversion.rb +14 -4
  93. data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +2 -2
  94. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +0 -1
  95. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +2 -2
  96. data/lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb +130 -0
  97. data/lib/rubocop/cop/lint/redundant_require_statement.rb +12 -3
  98. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +63 -4
  99. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -1
  100. data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -2
  101. data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -2
  102. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +14 -8
  103. data/lib/rubocop/cop/lint/self_assignment.rb +38 -0
  104. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +1 -2
  105. data/lib/rubocop/cop/lint/shadowed_exception.rb +5 -11
  106. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +7 -1
  107. data/lib/rubocop/cop/lint/struct_new_override.rb +12 -12
  108. data/lib/rubocop/cop/lint/suppressed_exception.rb +2 -2
  109. data/lib/rubocop/cop/lint/symbol_conversion.rb +8 -3
  110. data/lib/rubocop/cop/lint/to_enum_arguments.rb +5 -3
  111. data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +23 -9
  112. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -1
  113. data/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +2 -2
  114. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -2
  115. data/lib/rubocop/cop/lint/useless_assignment.rb +94 -10
  116. data/lib/rubocop/cop/lint/useless_times.rb +1 -1
  117. data/lib/rubocop/cop/lint/void.rb +92 -11
  118. data/lib/rubocop/cop/metrics/abc_size.rb +3 -3
  119. data/lib/rubocop/cop/metrics/block_length.rb +1 -1
  120. data/lib/rubocop/cop/metrics/class_length.rb +8 -3
  121. data/lib/rubocop/cop/metrics/method_length.rb +1 -1
  122. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +1 -2
  123. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +32 -4
  124. data/lib/rubocop/cop/migration/department_name.rb +2 -2
  125. data/lib/rubocop/cop/mixin/allowed_receivers.rb +34 -0
  126. data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
  127. data/lib/rubocop/cop/mixin/comments_help.rb +19 -11
  128. data/lib/rubocop/cop/mixin/def_node.rb +1 -1
  129. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -1
  130. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +14 -11
  131. data/lib/rubocop/cop/mixin/heredoc.rb +6 -2
  132. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +3 -2
  133. data/lib/rubocop/cop/mixin/percent_literal.rb +1 -1
  134. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +6 -8
  135. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +1 -1
  136. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -1
  137. data/lib/rubocop/cop/mixin/string_help.rb +4 -2
  138. data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -1
  139. data/lib/rubocop/cop/naming/block_forwarding.rb +3 -3
  140. data/lib/rubocop/cop/naming/constant_name.rb +2 -3
  141. data/lib/rubocop/cop/naming/file_name.rb +1 -1
  142. data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +3 -1
  143. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +26 -11
  144. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +11 -3
  145. data/lib/rubocop/cop/naming/variable_name.rb +6 -1
  146. data/lib/rubocop/cop/style/access_modifier_declarations.rb +2 -2
  147. data/lib/rubocop/cop/style/accessor_grouping.rb +6 -2
  148. data/lib/rubocop/cop/style/alias.rb +9 -8
  149. data/lib/rubocop/cop/style/arguments_forwarding.rb +342 -63
  150. data/lib/rubocop/cop/style/array_first_last.rb +64 -0
  151. data/lib/rubocop/cop/style/array_intersect.rb +13 -5
  152. data/lib/rubocop/cop/style/attr.rb +11 -1
  153. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +21 -14
  154. data/lib/rubocop/cop/style/begin_block.rb +1 -2
  155. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +2 -2
  156. data/lib/rubocop/cop/style/block_comments.rb +1 -1
  157. data/lib/rubocop/cop/style/block_delimiters.rb +5 -4
  158. data/lib/rubocop/cop/style/case_like_if.rb +4 -4
  159. data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
  160. data/lib/rubocop/cop/style/class_check.rb +1 -0
  161. data/lib/rubocop/cop/style/class_equality_comparison.rb +24 -39
  162. data/lib/rubocop/cop/style/collection_compact.rb +22 -11
  163. data/lib/rubocop/cop/style/collection_methods.rb +2 -0
  164. data/lib/rubocop/cop/style/colon_method_call.rb +2 -2
  165. data/lib/rubocop/cop/style/combinable_loops.rb +36 -8
  166. data/lib/rubocop/cop/style/concat_array_literals.rb +2 -1
  167. data/lib/rubocop/cop/style/conditional_assignment.rb +6 -4
  168. data/lib/rubocop/cop/style/copyright.rb +5 -2
  169. data/lib/rubocop/cop/style/date_time.rb +5 -4
  170. data/lib/rubocop/cop/style/dir.rb +1 -1
  171. data/lib/rubocop/cop/style/dir_empty.rb +8 -14
  172. data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +1 -1
  173. data/lib/rubocop/cop/style/documentation.rb +1 -1
  174. data/lib/rubocop/cop/style/each_with_object.rb +2 -2
  175. data/lib/rubocop/cop/style/empty_case_condition.rb +6 -1
  176. data/lib/rubocop/cop/style/empty_literal.rb +1 -1
  177. data/lib/rubocop/cop/style/eval_with_location.rb +8 -8
  178. data/lib/rubocop/cop/style/exact_regexp_match.rb +69 -0
  179. data/lib/rubocop/cop/style/explicit_block_argument.rb +2 -2
  180. data/lib/rubocop/cop/style/file_read.rb +2 -2
  181. data/lib/rubocop/cop/style/for.rb +1 -1
  182. data/lib/rubocop/cop/style/format_string.rb +24 -3
  183. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -1
  184. data/lib/rubocop/cop/style/guard_clause.rb +28 -0
  185. data/lib/rubocop/cop/style/hash_conversion.rb +10 -0
  186. data/lib/rubocop/cop/style/hash_each_methods.rb +84 -32
  187. data/lib/rubocop/cop/style/hash_except.rb +21 -9
  188. data/lib/rubocop/cop/style/hash_transform_keys.rb +2 -2
  189. data/lib/rubocop/cop/style/hash_transform_values.rb +2 -2
  190. data/lib/rubocop/cop/style/identical_conditional_branches.rb +31 -5
  191. data/lib/rubocop/cop/style/if_inside_else.rb +6 -0
  192. data/lib/rubocop/cop/style/if_unless_modifier.rb +3 -0
  193. data/lib/rubocop/cop/style/if_with_semicolon.rb +2 -2
  194. data/lib/rubocop/cop/style/inverse_methods.rb +6 -5
  195. data/lib/rubocop/cop/style/invertible_unless_condition.rb +10 -6
  196. data/lib/rubocop/cop/style/lambda.rb +3 -3
  197. data/lib/rubocop/cop/style/lambda_call.rb +5 -0
  198. data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +3 -2
  199. data/lib/rubocop/cop/style/map_to_hash.rb +10 -4
  200. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +12 -5
  201. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
  202. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +20 -0
  203. data/lib/rubocop/cop/style/method_def_parentheses.rb +1 -1
  204. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +2 -2
  205. data/lib/rubocop/cop/style/mixin_grouping.rb +1 -1
  206. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
  207. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
  208. data/lib/rubocop/cop/style/multiple_comparison.rb +14 -0
  209. data/lib/rubocop/cop/style/nested_ternary_operator.rb +3 -11
  210. data/lib/rubocop/cop/style/next.rb +1 -1
  211. data/lib/rubocop/cop/style/numeric_literals.rb +1 -1
  212. data/lib/rubocop/cop/style/open_struct_use.rb +1 -1
  213. data/lib/rubocop/cop/style/operator_method_call.rb +8 -2
  214. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -1
  215. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -1
  216. data/lib/rubocop/cop/style/redundant_argument.rb +9 -3
  217. data/lib/rubocop/cop/style/redundant_array_constructor.rb +77 -0
  218. data/lib/rubocop/cop/style/redundant_begin.rb +10 -2
  219. data/lib/rubocop/cop/style/redundant_conditional.rb +2 -10
  220. data/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +38 -0
  221. data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +93 -5
  222. data/lib/rubocop/cop/style/redundant_exception.rb +32 -12
  223. data/lib/rubocop/cop/style/redundant_fetch_block.rb +3 -3
  224. data/lib/rubocop/cop/style/redundant_filter_chain.rb +118 -0
  225. data/lib/rubocop/cop/style/redundant_line_continuation.rb +9 -3
  226. data/lib/rubocop/cop/style/redundant_parentheses.rb +54 -21
  227. data/lib/rubocop/cop/style/redundant_regexp_argument.rb +100 -0
  228. data/lib/rubocop/cop/style/redundant_regexp_constructor.rb +46 -0
  229. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +2 -1
  230. data/lib/rubocop/cop/style/redundant_return.rb +8 -3
  231. data/lib/rubocop/cop/style/redundant_self.rb +17 -2
  232. data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +8 -1
  233. data/lib/rubocop/cop/style/redundant_sort.rb +10 -9
  234. data/lib/rubocop/cop/style/redundant_sort_by.rb +2 -2
  235. data/lib/rubocop/cop/style/redundant_string_escape.rb +3 -1
  236. data/lib/rubocop/cop/style/regexp_literal.rb +11 -2
  237. data/lib/rubocop/cop/style/require_order.rb +11 -5
  238. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -3
  239. data/lib/rubocop/cop/style/return_nil.rb +6 -2
  240. data/lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb +95 -0
  241. data/lib/rubocop/cop/style/sample.rb +2 -1
  242. data/lib/rubocop/cop/style/select_by_regexp.rb +22 -11
  243. data/lib/rubocop/cop/style/self_assignment.rb +1 -1
  244. data/lib/rubocop/cop/style/semicolon.rb +20 -4
  245. data/lib/rubocop/cop/style/signal_exception.rb +1 -1
  246. data/lib/rubocop/cop/style/single_argument_dig.rb +7 -3
  247. data/lib/rubocop/cop/style/single_line_do_end_block.rb +67 -0
  248. data/lib/rubocop/cop/style/single_line_methods.rb +1 -1
  249. data/lib/rubocop/cop/style/slicing_with_range.rb +1 -1
  250. data/lib/rubocop/cop/style/sole_nested_conditional.rb +6 -2
  251. data/lib/rubocop/cop/style/special_global_vars.rb +3 -4
  252. data/lib/rubocop/cop/style/string_chars.rb +1 -0
  253. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +30 -5
  254. data/lib/rubocop/cop/style/strip.rb +7 -4
  255. data/lib/rubocop/cop/style/super_with_args_parentheses.rb +35 -0
  256. data/lib/rubocop/cop/style/symbol_array.rb +35 -15
  257. data/lib/rubocop/cop/style/unpack_first.rb +11 -14
  258. data/lib/rubocop/cop/style/yaml_file_read.rb +66 -0
  259. data/lib/rubocop/cop/style/yoda_condition.rb +4 -2
  260. data/lib/rubocop/cop/style/yoda_expression.rb +8 -7
  261. data/lib/rubocop/cop/team.rb +1 -1
  262. data/lib/rubocop/cop/util.rb +1 -1
  263. data/lib/rubocop/cop/utils/regexp_ranges.rb +113 -0
  264. data/lib/rubocop/cop/variable_force/assignment.rb +45 -4
  265. data/lib/rubocop/cop/variable_force/variable_table.rb +2 -2
  266. data/lib/rubocop/cop/variable_force.rb +1 -0
  267. data/lib/rubocop/cops_documentation_generator.rb +1 -1
  268. data/lib/rubocop/ext/regexp_parser.rb +4 -1
  269. data/lib/rubocop/file_finder.rb +4 -7
  270. data/lib/rubocop/formatter/html_formatter.rb +5 -4
  271. data/lib/rubocop/formatter/junit_formatter.rb +1 -1
  272. data/lib/rubocop/lsp/logger.rb +22 -0
  273. data/lib/rubocop/lsp/routes.rb +246 -0
  274. data/lib/rubocop/lsp/runtime.rb +99 -0
  275. data/lib/rubocop/lsp/server.rb +68 -0
  276. data/lib/rubocop/lsp/severity.rb +27 -0
  277. data/lib/rubocop/magic_comment.rb +12 -10
  278. data/lib/rubocop/options.rb +11 -1
  279. data/lib/rubocop/result_cache.rb +5 -2
  280. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  281. data/lib/rubocop/rspec/shared_contexts.rb +2 -3
  282. data/lib/rubocop/runner.rb +6 -4
  283. data/lib/rubocop/server/cache.rb +1 -0
  284. data/lib/rubocop/server/client_command/exec.rb +3 -2
  285. data/lib/rubocop/string_interpreter.rb +3 -3
  286. data/lib/rubocop/target_finder.rb +7 -3
  287. data/lib/rubocop/target_ruby.rb +12 -7
  288. data/lib/rubocop/version.rb +10 -6
  289. data/lib/rubocop.rb +19 -0
  290. metadata +54 -15
@@ -32,9 +32,9 @@ module RuboCop
32
32
 
33
33
  def interpret_string_escape(escape)
34
34
  case escape[1]
35
- when 'u' then interpret_unicode(escape)
36
- when 'x' then interpret_hex(escape)
37
- when /\d/ then interpret_octal(escape)
35
+ when 'u' then interpret_unicode(escape)
36
+ when 'x' then interpret_hex(escape)
37
+ when /\d/ then interpret_octal(escape)
38
38
  else
39
39
  escape[1] # literal escaped char, like \\
40
40
  end
@@ -94,8 +94,12 @@ module RuboCop
94
94
  end
95
95
 
96
96
  def wanted_dir_patterns(base_dir, exclude_pattern, flags)
97
- base_dir = base_dir.gsub('/{}/', '/\{}/')
98
- dirs = Dir.glob(File.join(base_dir.gsub('/*/', '/\*/').gsub('/**/', '/\**/'), '*/'), flags)
97
+ # Escape glob characters in base_dir to avoid unwanted behavior.
98
+ base_dir = base_dir.gsub(/[\\\{\}\[\]\*\?]/) do |reserved_glob_character|
99
+ "\\#{reserved_glob_character}"
100
+ end
101
+
102
+ dirs = Dir.glob(File.join(base_dir, '*/'), flags)
99
103
  .reject do |dir|
100
104
  next true if dir.end_with?('/./', '/../')
101
105
  next true if File.fnmatch?(exclude_pattern, dir, flags)
@@ -114,7 +118,7 @@ module RuboCop
114
118
  end
115
119
 
116
120
  def combined_exclude_glob_patterns(base_dir)
117
- exclude = @config_store.for(base_dir).for_all_cops['Exclude']
121
+ exclude = @config_store.for(base_dir).for_all_cops['Exclude'] || []
118
122
  patterns = exclude.select { |pattern| pattern.is_a?(String) && pattern.end_with?('/**/*') }
119
123
  .map { |pattern| pattern.sub("#{base_dir}/", '') }
120
124
  "#{base_dir}/{#{patterns.join(',')}}"
@@ -5,7 +5,7 @@ module RuboCop
5
5
  # @api private
6
6
  class TargetRuby
7
7
  KNOWN_RUBIES = [2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3].freeze
8
- DEFAULT_VERSION = 2.6
8
+ DEFAULT_VERSION = 2.7
9
9
 
10
10
  OBSOLETE_RUBIES = {
11
11
  1.9 => '0.41',
@@ -14,7 +14,8 @@ module RuboCop
14
14
  2.2 => '0.68',
15
15
  2.3 => '0.81',
16
16
  2.4 => '1.12',
17
- 2.5 => '1.28'
17
+ 2.5 => '1.28',
18
+ 2.6 => '1.50'
18
19
  }.freeze
19
20
  private_constant :KNOWN_RUBIES, :OBSOLETE_RUBIES
20
21
 
@@ -154,9 +155,11 @@ module RuboCop
154
155
  (send _ :required_ruby_version= $_)
155
156
  PATTERN
156
157
 
157
- # @!method gem_requirement?(node)
158
- def_node_matcher :gem_requirement?, <<~PATTERN
159
- (send (const(const _ :Gem):Requirement) :new $str)
158
+ # @!method gem_requirement_versions(node)
159
+ def_node_matcher :gem_requirement_versions, <<~PATTERN
160
+ (send (const(const _ :Gem):Requirement) :new
161
+ {$str+ | (send $str :freeze)+ | (array $str+) | (array (send $str :freeze)+)}
162
+ )
160
163
  PATTERN
161
164
 
162
165
  def name
@@ -193,10 +196,12 @@ module RuboCop
193
196
  end
194
197
 
195
198
  def version_from_right_hand_side(right_hand_side)
199
+ gem_requirement_versions = gem_requirement_versions(right_hand_side)
200
+
196
201
  if right_hand_side.array_type?
197
202
  version_from_array(right_hand_side)
198
- elsif gem_requirement?(right_hand_side)
199
- right_hand_side.children.last.value
203
+ elsif gem_requirement_versions
204
+ gem_requirement_versions.map(&:value)
200
205
  else
201
206
  right_hand_side.value
202
207
  end
@@ -3,15 +3,19 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '1.50.2'
6
+ STRING = '1.59.0'
7
7
 
8
8
  MSG = '%<version>s (using Parser %<parser_version>s, ' \
9
9
  'rubocop-ast %<rubocop_ast_version>s, ' \
10
10
  'running on %<ruby_engine>s %<ruby_version>s)%<server_mode>s [%<ruby_platform>s]'
11
11
 
12
- CANONICAL_FEATURE_NAMES = { 'Rspec' => 'RSpec', 'Graphql' => 'GraphQL', 'Md' => 'Markdown',
13
- 'Thread_safety' => 'ThreadSafety' }.freeze
14
- EXTENSION_PATH_NAMES = { 'rubocop-md' => 'markdown' }.freeze
12
+ CANONICAL_FEATURE_NAMES = {
13
+ 'Rspec' => 'RSpec', 'Graphql' => 'GraphQL', 'Md' => 'Markdown', 'Factory_bot' => 'FactoryBot',
14
+ 'Thread_safety' => 'ThreadSafety'
15
+ }.freeze
16
+ EXTENSION_PATH_NAMES = {
17
+ 'rubocop-md' => 'markdown', 'rubocop-factory_bot' => 'factory_bot'
18
+ }.freeze
15
19
 
16
20
  # @api private
17
21
  def self.version(debug: false, env: nil)
@@ -43,7 +47,7 @@ module RuboCop
43
47
  env.config_store.unvalidated.for_pwd.loaded_features.sort
44
48
  end
45
49
 
46
- features.map do |loaded_feature|
50
+ features.filter_map do |loaded_feature|
47
51
  next unless (match = loaded_feature.match(/rubocop-(?<feature>.*)/))
48
52
 
49
53
  # Get the expected name of the folder containing the extension code.
@@ -61,7 +65,7 @@ module RuboCop
61
65
  next unless (feature_version = feature_version(feature))
62
66
 
63
67
  " - #{loaded_feature} #{feature_version}"
64
- end.compact
68
+ end
65
69
  end
66
70
 
67
71
  # Returns feature version in one of two ways:
data/lib/rubocop.rb CHANGED
@@ -69,6 +69,7 @@ require_relative 'rubocop/cop/mixin/alignment'
69
69
  require_relative 'rubocop/cop/mixin/allowed_identifiers'
70
70
  require_relative 'rubocop/cop/mixin/allowed_methods'
71
71
  require_relative 'rubocop/cop/mixin/allowed_pattern'
72
+ require_relative 'rubocop/cop/mixin/allowed_receivers'
72
73
  require_relative 'rubocop/cop/mixin/auto_corrector' # rubocop:todo Naming/InclusiveLanguage
73
74
  require_relative 'rubocop/cop/mixin/check_assignment'
74
75
  require_relative 'rubocop/cop/mixin/check_line_breakable'
@@ -138,6 +139,7 @@ require_relative 'rubocop/cop/mixin/comments_help' # relies on visibility_help
138
139
  require_relative 'rubocop/cop/mixin/def_node' # relies on visibility_help
139
140
 
140
141
  require_relative 'rubocop/cop/utils/format_string'
142
+ require_relative 'rubocop/cop/utils/regexp_ranges'
141
143
 
142
144
  require_relative 'rubocop/cop/migration/department_name'
143
145
 
@@ -160,6 +162,7 @@ require_relative 'rubocop/cop/correctors/string_literal_corrector'
160
162
  require_relative 'rubocop/cop/correctors/unused_arg_corrector'
161
163
 
162
164
  require_relative 'rubocop/cop/bundler/duplicated_gem'
165
+ require_relative 'rubocop/cop/bundler/duplicated_group'
163
166
  require_relative 'rubocop/cop/bundler/gem_comment'
164
167
  require_relative 'rubocop/cop/bundler/gem_filename'
165
168
  require_relative 'rubocop/cop/bundler/gem_version'
@@ -329,12 +332,15 @@ require_relative 'rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler'
329
332
  require_relative 'rubocop/cop/lint/ineffective_access_modifier'
330
333
  require_relative 'rubocop/cop/lint/inherit_exception'
331
334
  require_relative 'rubocop/cop/lint/interpolation_check'
335
+ require_relative 'rubocop/cop/lint/it_without_arguments_in_block'
332
336
  require_relative 'rubocop/cop/lint/lambda_without_literal_block'
333
337
  require_relative 'rubocop/cop/lint/literal_as_condition'
338
+ require_relative 'rubocop/cop/lint/literal_assignment_in_condition'
334
339
  require_relative 'rubocop/cop/lint/literal_in_interpolation'
335
340
  require_relative 'rubocop/cop/lint/loop'
336
341
  require_relative 'rubocop/cop/lint/missing_cop_enable_directive'
337
342
  require_relative 'rubocop/cop/lint/missing_super'
343
+ require_relative 'rubocop/cop/lint/mixed_case_range'
338
344
  require_relative 'rubocop/cop/lint/mixed_regexp_capture_types'
339
345
  require_relative 'rubocop/cop/lint/multiple_comparison'
340
346
  require_relative 'rubocop/cop/lint/nested_method_definition'
@@ -357,6 +363,7 @@ require_relative 'rubocop/cop/lint/rand_one'
357
363
  require_relative 'rubocop/cop/lint/redundant_cop_disable_directive'
358
364
  require_relative 'rubocop/cop/lint/redundant_cop_enable_directive'
359
365
  require_relative 'rubocop/cop/lint/redundant_dir_glob_sort'
366
+ require_relative 'rubocop/cop/lint/redundant_regexp_quantifiers'
360
367
  require_relative 'rubocop/cop/lint/redundant_require_statement'
361
368
  require_relative 'rubocop/cop/lint/redundant_safe_navigation'
362
369
  require_relative 'rubocop/cop/lint/redundant_splat_expansion'
@@ -449,6 +456,7 @@ require_relative 'rubocop/cop/style/alias'
449
456
  require_relative 'rubocop/cop/style/and_or'
450
457
  require_relative 'rubocop/cop/style/arguments_forwarding'
451
458
  require_relative 'rubocop/cop/style/array_coercion'
459
+ require_relative 'rubocop/cop/style/array_first_last'
452
460
  require_relative 'rubocop/cop/style/array_intersect'
453
461
  require_relative 'rubocop/cop/style/array_join'
454
462
  require_relative 'rubocop/cop/style/ascii_comments'
@@ -507,6 +515,7 @@ require_relative 'rubocop/cop/style/end_block'
507
515
  require_relative 'rubocop/cop/style/env_home'
508
516
  require_relative 'rubocop/cop/style/eval_with_location'
509
517
  require_relative 'rubocop/cop/style/even_odd'
518
+ require_relative 'rubocop/cop/style/exact_regexp_match'
510
519
  require_relative 'rubocop/cop/style/expand_path_arguments'
511
520
  require_relative 'rubocop/cop/style/explicit_block_argument'
512
521
  require_relative 'rubocop/cop/style/exponential_notation'
@@ -557,18 +566,24 @@ require_relative 'rubocop/cop/style/multiline_in_pattern_then'
557
566
  require_relative 'rubocop/cop/style/numbered_parameters'
558
567
  require_relative 'rubocop/cop/style/open_struct_use'
559
568
  require_relative 'rubocop/cop/style/operator_method_call'
569
+ require_relative 'rubocop/cop/style/redundant_array_constructor'
560
570
  require_relative 'rubocop/cop/style/redundant_assignment'
561
571
  require_relative 'rubocop/cop/style/redundant_constant_base'
572
+ require_relative 'rubocop/cop/style/redundant_current_directory_in_path'
562
573
  require_relative 'rubocop/cop/style/redundant_double_splat_hash_braces'
563
574
  require_relative 'rubocop/cop/style/redundant_each'
564
575
  require_relative 'rubocop/cop/style/redundant_fetch_block'
565
576
  require_relative 'rubocop/cop/style/redundant_file_extension_in_require'
577
+ require_relative 'rubocop/cop/style/redundant_filter_chain'
566
578
  require_relative 'rubocop/cop/style/redundant_heredoc_delimiter_quotes'
567
579
  require_relative 'rubocop/cop/style/redundant_initialize'
568
580
  require_relative 'rubocop/cop/style/redundant_line_continuation'
581
+ require_relative 'rubocop/cop/style/redundant_regexp_argument'
582
+ require_relative 'rubocop/cop/style/redundant_regexp_constructor'
569
583
  require_relative 'rubocop/cop/style/redundant_self_assignment'
570
584
  require_relative 'rubocop/cop/style/redundant_self_assignment_branch'
571
585
  require_relative 'rubocop/cop/style/require_order'
586
+ require_relative 'rubocop/cop/style/single_line_do_end_block'
572
587
  require_relative 'rubocop/cop/style/sole_nested_conditional'
573
588
  require_relative 'rubocop/cop/style/static_class'
574
589
  require_relative 'rubocop/cop/style/map_compact_with_conditional_block'
@@ -643,6 +658,7 @@ require_relative 'rubocop/cop/style/regexp_literal'
643
658
  require_relative 'rubocop/cop/style/rescue_modifier'
644
659
  require_relative 'rubocop/cop/style/rescue_standard_error'
645
660
  require_relative 'rubocop/cop/style/return_nil'
661
+ require_relative 'rubocop/cop/style/return_nil_in_predicate_method_definition'
646
662
  require_relative 'rubocop/cop/style/safe_navigation'
647
663
  require_relative 'rubocop/cop/style/sample'
648
664
  require_relative 'rubocop/cop/style/select_by_regexp'
@@ -665,6 +681,7 @@ require_relative 'rubocop/cop/style/string_literals_in_interpolation'
665
681
  require_relative 'rubocop/cop/style/string_methods'
666
682
  require_relative 'rubocop/cop/style/strip'
667
683
  require_relative 'rubocop/cop/style/struct_inheritance'
684
+ require_relative 'rubocop/cop/style/super_with_args_parentheses'
668
685
  require_relative 'rubocop/cop/style/swap_values'
669
686
  require_relative 'rubocop/cop/style/symbol_array'
670
687
  require_relative 'rubocop/cop/style/symbol_literal'
@@ -689,6 +706,7 @@ require_relative 'rubocop/cop/style/when_then'
689
706
  require_relative 'rubocop/cop/style/while_until_do'
690
707
  require_relative 'rubocop/cop/style/while_until_modifier'
691
708
  require_relative 'rubocop/cop/style/word_array'
709
+ require_relative 'rubocop/cop/style/yaml_file_read'
692
710
  require_relative 'rubocop/cop/style/yoda_condition'
693
711
  require_relative 'rubocop/cop/style/yoda_expression'
694
712
  require_relative 'rubocop/cop/style/zero_length_predicate'
@@ -734,6 +752,7 @@ require_relative 'rubocop/cli/command/base'
734
752
  require_relative 'rubocop/cli/command/auto_generate_config'
735
753
  require_relative 'rubocop/cli/command/execute_runner'
736
754
  require_relative 'rubocop/cli/command/init_dotfile'
755
+ require_relative 'rubocop/cli/command/lsp'
737
756
  require_relative 'rubocop/cli/command/show_cops'
738
757
  require_relative 'rubocop/cli/command/show_docs_url'
739
758
  require_relative 'rubocop/cli/command/suggest_extensions'
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.50.2
4
+ version: 1.59.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
8
8
  - Jonas Arvidsson
9
9
  - Yuji Nakayama
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-04-17 00:00:00.000000000 Z
13
+ date: 2023-12-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -26,6 +26,20 @@ dependencies:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: '2.3'
29
+ - !ruby/object:Gem::Dependency
30
+ name: language_server-protocol
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 3.17.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 3.17.0
29
43
  - !ruby/object:Gem::Dependency
30
44
  name: parallel
31
45
  requirement: !ruby/object:Gem::Requirement
@@ -46,14 +60,14 @@ dependencies:
46
60
  requirements:
47
61
  - - ">="
48
62
  - !ruby/object:Gem::Version
49
- version: 3.2.0.0
63
+ version: 3.2.2.4
50
64
  type: :runtime
51
65
  prerelease: false
52
66
  version_requirements: !ruby/object:Gem::Requirement
53
67
  requirements:
54
68
  - - ">="
55
69
  - !ruby/object:Gem::Version
56
- version: 3.2.0.0
70
+ version: 3.2.2.4
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: rainbow
59
73
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +134,7 @@ dependencies:
120
134
  requirements:
121
135
  - - ">="
122
136
  - !ruby/object:Gem::Version
123
- version: 1.28.0
137
+ version: 1.30.0
124
138
  - - "<"
125
139
  - !ruby/object:Gem::Version
126
140
  version: '2.0'
@@ -130,7 +144,7 @@ dependencies:
130
144
  requirements:
131
145
  - - ">="
132
146
  - !ruby/object:Gem::Version
133
- version: 1.28.0
147
+ version: 1.30.0
134
148
  - - "<"
135
149
  - !ruby/object:Gem::Version
136
150
  version: '2.0'
@@ -168,9 +182,9 @@ dependencies:
168
182
  - - "<"
169
183
  - !ruby/object:Gem::Version
170
184
  version: '3.0'
171
- description: |2
172
- RuboCop is a Ruby code style checking and code formatting tool.
173
- It aims to enforce the community-driven Ruby Style Guide.
185
+ description: |
186
+ RuboCop is a Ruby code style checking and code formatting tool.
187
+ It aims to enforce the community-driven Ruby Style Guide.
174
188
  email: rubocop@googlegroups.com
175
189
  executables:
176
190
  - rubocop
@@ -198,6 +212,7 @@ files:
198
212
  - lib/rubocop/cli/command/base.rb
199
213
  - lib/rubocop/cli/command/execute_runner.rb
200
214
  - lib/rubocop/cli/command/init_dotfile.rb
215
+ - lib/rubocop/cli/command/lsp.rb
201
216
  - lib/rubocop/cli/command/show_cops.rb
202
217
  - lib/rubocop/cli/command/show_docs_url.rb
203
218
  - lib/rubocop/cli/command/suggest_extensions.rb
@@ -225,6 +240,7 @@ files:
225
240
  - lib/rubocop/cop/badge.rb
226
241
  - lib/rubocop/cop/base.rb
227
242
  - lib/rubocop/cop/bundler/duplicated_gem.rb
243
+ - lib/rubocop/cop/bundler/duplicated_group.rb
228
244
  - lib/rubocop/cop/bundler/gem_comment.rb
229
245
  - lib/rubocop/cop/bundler/gem_filename.rb
230
246
  - lib/rubocop/cop/bundler/gem_version.rb
@@ -278,6 +294,7 @@ files:
278
294
  - lib/rubocop/cop/internal_affairs/method_name_end_with.rb
279
295
  - lib/rubocop/cop/internal_affairs/method_name_equal.rb
280
296
  - lib/rubocop/cop/internal_affairs/node_destructuring.rb
297
+ - lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb
281
298
  - lib/rubocop/cop/internal_affairs/node_matcher_directive.rb
282
299
  - lib/rubocop/cop/internal_affairs/node_type_predicate.rb
283
300
  - lib/rubocop/cop/internal_affairs/numblock_handler.rb
@@ -450,12 +467,15 @@ files:
450
467
  - lib/rubocop/cop/lint/ineffective_access_modifier.rb
451
468
  - lib/rubocop/cop/lint/inherit_exception.rb
452
469
  - lib/rubocop/cop/lint/interpolation_check.rb
470
+ - lib/rubocop/cop/lint/it_without_arguments_in_block.rb
453
471
  - lib/rubocop/cop/lint/lambda_without_literal_block.rb
454
472
  - lib/rubocop/cop/lint/literal_as_condition.rb
473
+ - lib/rubocop/cop/lint/literal_assignment_in_condition.rb
455
474
  - lib/rubocop/cop/lint/literal_in_interpolation.rb
456
475
  - lib/rubocop/cop/lint/loop.rb
457
476
  - lib/rubocop/cop/lint/missing_cop_enable_directive.rb
458
477
  - lib/rubocop/cop/lint/missing_super.rb
478
+ - lib/rubocop/cop/lint/mixed_case_range.rb
459
479
  - lib/rubocop/cop/lint/mixed_regexp_capture_types.rb
460
480
  - lib/rubocop/cop/lint/multiple_comparison.rb
461
481
  - lib/rubocop/cop/lint/nested_method_definition.rb
@@ -478,6 +498,7 @@ files:
478
498
  - lib/rubocop/cop/lint/redundant_cop_disable_directive.rb
479
499
  - lib/rubocop/cop/lint/redundant_cop_enable_directive.rb
480
500
  - lib/rubocop/cop/lint/redundant_dir_glob_sort.rb
501
+ - lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb
481
502
  - lib/rubocop/cop/lint/redundant_require_statement.rb
482
503
  - lib/rubocop/cop/lint/redundant_safe_navigation.rb
483
504
  - lib/rubocop/cop/lint/redundant_splat_expansion.rb
@@ -550,6 +571,7 @@ files:
550
571
  - lib/rubocop/cop/mixin/allowed_identifiers.rb
551
572
  - lib/rubocop/cop/mixin/allowed_methods.rb
552
573
  - lib/rubocop/cop/mixin/allowed_pattern.rb
574
+ - lib/rubocop/cop/mixin/allowed_receivers.rb
553
575
  - lib/rubocop/cop/mixin/annotation_comment.rb
554
576
  - lib/rubocop/cop/mixin/array_min_size.rb
555
577
  - lib/rubocop/cop/mixin/array_syntax.rb
@@ -651,6 +673,7 @@ files:
651
673
  - lib/rubocop/cop/style/and_or.rb
652
674
  - lib/rubocop/cop/style/arguments_forwarding.rb
653
675
  - lib/rubocop/cop/style/array_coercion.rb
676
+ - lib/rubocop/cop/style/array_first_last.rb
654
677
  - lib/rubocop/cop/style/array_intersect.rb
655
678
  - lib/rubocop/cop/style/array_join.rb
656
679
  - lib/rubocop/cop/style/ascii_comments.rb
@@ -710,6 +733,7 @@ files:
710
733
  - lib/rubocop/cop/style/env_home.rb
711
734
  - lib/rubocop/cop/style/eval_with_location.rb
712
735
  - lib/rubocop/cop/style/even_odd.rb
736
+ - lib/rubocop/cop/style/exact_regexp_match.rb
713
737
  - lib/rubocop/cop/style/expand_path_arguments.rb
714
738
  - lib/rubocop/cop/style/explicit_block_argument.rb
715
739
  - lib/rubocop/cop/style/exponential_notation.rb
@@ -814,17 +838,20 @@ files:
814
838
  - lib/rubocop/cop/style/raise_args.rb
815
839
  - lib/rubocop/cop/style/random_with_offset.rb
816
840
  - lib/rubocop/cop/style/redundant_argument.rb
841
+ - lib/rubocop/cop/style/redundant_array_constructor.rb
817
842
  - lib/rubocop/cop/style/redundant_assignment.rb
818
843
  - lib/rubocop/cop/style/redundant_begin.rb
819
844
  - lib/rubocop/cop/style/redundant_capital_w.rb
820
845
  - lib/rubocop/cop/style/redundant_condition.rb
821
846
  - lib/rubocop/cop/style/redundant_conditional.rb
822
847
  - lib/rubocop/cop/style/redundant_constant_base.rb
848
+ - lib/rubocop/cop/style/redundant_current_directory_in_path.rb
823
849
  - lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb
824
850
  - lib/rubocop/cop/style/redundant_each.rb
825
851
  - lib/rubocop/cop/style/redundant_exception.rb
826
852
  - lib/rubocop/cop/style/redundant_fetch_block.rb
827
853
  - lib/rubocop/cop/style/redundant_file_extension_in_require.rb
854
+ - lib/rubocop/cop/style/redundant_filter_chain.rb
828
855
  - lib/rubocop/cop/style/redundant_freeze.rb
829
856
  - lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb
830
857
  - lib/rubocop/cop/style/redundant_initialize.rb
@@ -832,7 +859,9 @@ files:
832
859
  - lib/rubocop/cop/style/redundant_line_continuation.rb
833
860
  - lib/rubocop/cop/style/redundant_parentheses.rb
834
861
  - lib/rubocop/cop/style/redundant_percent_q.rb
862
+ - lib/rubocop/cop/style/redundant_regexp_argument.rb
835
863
  - lib/rubocop/cop/style/redundant_regexp_character_class.rb
864
+ - lib/rubocop/cop/style/redundant_regexp_constructor.rb
836
865
  - lib/rubocop/cop/style/redundant_regexp_escape.rb
837
866
  - lib/rubocop/cop/style/redundant_return.rb
838
867
  - lib/rubocop/cop/style/redundant_self.rb
@@ -846,6 +875,7 @@ files:
846
875
  - lib/rubocop/cop/style/rescue_modifier.rb
847
876
  - lib/rubocop/cop/style/rescue_standard_error.rb
848
877
  - lib/rubocop/cop/style/return_nil.rb
878
+ - lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb
849
879
  - lib/rubocop/cop/style/safe_navigation.rb
850
880
  - lib/rubocop/cop/style/sample.rb
851
881
  - lib/rubocop/cop/style/select_by_regexp.rb
@@ -855,6 +885,7 @@ files:
855
885
  - lib/rubocop/cop/style/signal_exception.rb
856
886
  - lib/rubocop/cop/style/single_argument_dig.rb
857
887
  - lib/rubocop/cop/style/single_line_block_params.rb
888
+ - lib/rubocop/cop/style/single_line_do_end_block.rb
858
889
  - lib/rubocop/cop/style/single_line_methods.rb
859
890
  - lib/rubocop/cop/style/slicing_with_range.rb
860
891
  - lib/rubocop/cop/style/sole_nested_conditional.rb
@@ -870,6 +901,7 @@ files:
870
901
  - lib/rubocop/cop/style/string_methods.rb
871
902
  - lib/rubocop/cop/style/strip.rb
872
903
  - lib/rubocop/cop/style/struct_inheritance.rb
904
+ - lib/rubocop/cop/style/super_with_args_parentheses.rb
873
905
  - lib/rubocop/cop/style/swap_values.rb
874
906
  - lib/rubocop/cop/style/symbol_array.rb
875
907
  - lib/rubocop/cop/style/symbol_literal.rb
@@ -894,12 +926,14 @@ files:
894
926
  - lib/rubocop/cop/style/while_until_do.rb
895
927
  - lib/rubocop/cop/style/while_until_modifier.rb
896
928
  - lib/rubocop/cop/style/word_array.rb
929
+ - lib/rubocop/cop/style/yaml_file_read.rb
897
930
  - lib/rubocop/cop/style/yoda_condition.rb
898
931
  - lib/rubocop/cop/style/yoda_expression.rb
899
932
  - lib/rubocop/cop/style/zero_length_predicate.rb
900
933
  - lib/rubocop/cop/team.rb
901
934
  - lib/rubocop/cop/util.rb
902
935
  - lib/rubocop/cop/utils/format_string.rb
936
+ - lib/rubocop/cop/utils/regexp_ranges.rb
903
937
  - lib/rubocop/cop/variable_force.rb
904
938
  - lib/rubocop/cop/variable_force/assignment.rb
905
939
  - lib/rubocop/cop/variable_force/branch.rb
@@ -944,6 +978,11 @@ files:
944
978
  - lib/rubocop/formatter/text_util.rb
945
979
  - lib/rubocop/formatter/worst_offenders_formatter.rb
946
980
  - lib/rubocop/lockfile.rb
981
+ - lib/rubocop/lsp/logger.rb
982
+ - lib/rubocop/lsp/routes.rb
983
+ - lib/rubocop/lsp/runtime.rb
984
+ - lib/rubocop/lsp/server.rb
985
+ - lib/rubocop/lsp/severity.rb
947
986
  - lib/rubocop/magic_comment.rb
948
987
  - lib/rubocop/name_similarity.rb
949
988
  - lib/rubocop/options.rb
@@ -991,10 +1030,10 @@ metadata:
991
1030
  homepage_uri: https://rubocop.org/
992
1031
  changelog_uri: https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md
993
1032
  source_code_uri: https://github.com/rubocop/rubocop/
994
- documentation_uri: https://docs.rubocop.org/rubocop/1.50/
1033
+ documentation_uri: https://docs.rubocop.org/rubocop/1.59/
995
1034
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
996
1035
  rubygems_mfa_required: 'true'
997
- post_install_message:
1036
+ post_install_message:
998
1037
  rdoc_options: []
999
1038
  require_paths:
1000
1039
  - lib
@@ -1002,15 +1041,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1002
1041
  requirements:
1003
1042
  - - ">="
1004
1043
  - !ruby/object:Gem::Version
1005
- version: 2.6.0
1044
+ version: 2.7.0
1006
1045
  required_rubygems_version: !ruby/object:Gem::Requirement
1007
1046
  requirements:
1008
1047
  - - ">="
1009
1048
  - !ruby/object:Gem::Version
1010
1049
  version: '0'
1011
1050
  requirements: []
1012
- rubygems_version: 3.4.6
1013
- signing_key:
1051
+ rubygems_version: 3.3.7
1052
+ signing_key:
1014
1053
  specification_version: 4
1015
1054
  summary: Automatic Ruby code style checking tool.
1016
1055
  test_files: []