rubocop 1.88.2 → 1.89.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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/config/default.yml +67 -11
  3. data/lib/rubocop/comment_config.rb +35 -19
  4. data/lib/rubocop/config.rb +53 -0
  5. data/lib/rubocop/config_validator.rb +38 -1
  6. data/lib/rubocop/cop/badge.rb +8 -0
  7. data/lib/rubocop/cop/base.rb +6 -4
  8. data/lib/rubocop/cop/bundler.rb +19 -0
  9. data/lib/rubocop/cop/corrector.rb +1 -1
  10. data/lib/rubocop/cop/correctors/alignment_corrector.rb +55 -5
  11. data/lib/rubocop/cop/gemspec.rb +22 -0
  12. data/lib/rubocop/cop/generator/registration_injector.rb +188 -0
  13. data/lib/rubocop/cop/generator.rb +4 -0
  14. data/lib/rubocop/cop/layout/class_structure.rb +8 -2
  15. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -1
  16. data/lib/rubocop/cop/layout/indentation_width.rb +3 -1
  17. data/lib/rubocop/cop/layout/leading_comment_space.rb +27 -0
  18. data/lib/rubocop/cop/layout/line_length.rb +85 -12
  19. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +12 -2
  20. data/lib/rubocop/cop/layout/redundant_line_break.rb +77 -0
  21. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +33 -34
  22. data/lib/rubocop/cop/layout.rb +114 -0
  23. data/lib/rubocop/cop/lazy_loader.rb +41 -0
  24. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +9 -7
  25. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +71 -0
  26. data/lib/rubocop/cop/lint/constant_reassignment.rb +1 -10
  27. data/lib/rubocop/cop/lint/constant_resolution.rb +25 -0
  28. data/lib/rubocop/cop/lint/deprecated_reference.rb +185 -0
  29. data/lib/rubocop/cop/lint/duplicate_methods.rb +202 -22
  30. data/lib/rubocop/cop/lint/inherit_exception.rb +53 -7
  31. data/lib/rubocop/cop/lint/literal_as_condition.rb +5 -0
  32. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  33. data/lib/rubocop/cop/lint/missing_super.rb +31 -1
  34. data/lib/rubocop/cop/lint/name_typo.rb +223 -0
  35. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +0 -4
  36. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +7 -0
  37. data/lib/rubocop/cop/lint/to_enum_arguments.rb +37 -1
  38. data/lib/rubocop/cop/lint/unused_private_method.rb +157 -0
  39. data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +2 -0
  40. data/lib/rubocop/cop/lint/void.rb +17 -6
  41. data/lib/rubocop/cop/lint.rb +176 -0
  42. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -1
  43. data/lib/rubocop/cop/metrics.rb +31 -0
  44. data/lib/rubocop/cop/migration/department_name.rb +0 -4
  45. data/lib/rubocop/cop/migration.rb +13 -0
  46. data/lib/rubocop/cop/mixin/check_line_breakable.rb +23 -5
  47. data/lib/rubocop/cop/mixin/endless_method_rewriter.rb +13 -5
  48. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +23 -6
  49. data/lib/rubocop/cop/mixin/project_index_help.rb +140 -0
  50. data/lib/rubocop/cop/mixin/reparsed_equivalence.rb +171 -0
  51. data/lib/rubocop/cop/mixin/statement_modifier.rb +42 -6
  52. data/lib/rubocop/cop/mixin.rb +78 -77
  53. data/lib/rubocop/cop/naming/accessor_method_name.rb +24 -0
  54. data/lib/rubocop/cop/naming/predicate_prefix.rb +33 -5
  55. data/lib/rubocop/cop/naming/variable_number.rb +3 -1
  56. data/lib/rubocop/cop/naming.rb +31 -0
  57. data/lib/rubocop/cop/offense.rb +10 -6
  58. data/lib/rubocop/cop/registry.rb +153 -43
  59. data/lib/rubocop/cop/security.rb +19 -0
  60. data/lib/rubocop/cop/style/array_intersect.rb +24 -5
  61. data/lib/rubocop/cop/style/class_and_module_children.rb +78 -18
  62. data/lib/rubocop/cop/style/conditional_assignment.rb +22 -0
  63. data/lib/rubocop/cop/style/copyright.rb +6 -1
  64. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +41 -3
  65. data/lib/rubocop/cop/style/documentation.rb +47 -0
  66. data/lib/rubocop/cop/style/endless_method.rb +0 -10
  67. data/lib/rubocop/cop/style/if_unless_modifier.rb +7 -48
  68. data/lib/rubocop/cop/style/lambda.rb +4 -0
  69. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +20 -3
  70. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +30 -0
  71. data/lib/rubocop/cop/style/multiline_if_then.rb +7 -1
  72. data/lib/rubocop/cop/style/multiple_comparison.rb +33 -22
  73. data/lib/rubocop/cop/style/mutable_constant.rb +5 -0
  74. data/lib/rubocop/cop/style/negative_array_index.rb +3 -1
  75. data/lib/rubocop/cop/style/redundant_assignment.rb +11 -0
  76. data/lib/rubocop/cop/style/redundant_constant_base.rb +37 -1
  77. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +9 -0
  78. data/lib/rubocop/cop/style/redundant_format.rb +12 -3
  79. data/lib/rubocop/cop/style/redundant_line_continuation.rb +78 -135
  80. data/lib/rubocop/cop/style/redundant_parentheses.rb +63 -63
  81. data/lib/rubocop/cop/style/safe_navigation.rb +10 -0
  82. data/lib/rubocop/cop/style/sole_nested_conditional.rb +20 -3
  83. data/lib/rubocop/cop/style/static_class.rb +21 -0
  84. data/lib/rubocop/cop/style.rb +310 -0
  85. data/lib/rubocop/cop/team.rb +48 -3
  86. data/lib/rubocop/cop/variable_force/variable.rb +18 -6
  87. data/lib/rubocop/cops_documentation_generator.rb +1 -1
  88. data/lib/rubocop/directive_comment.rb +2 -0
  89. data/lib/rubocop/feature_loader.rb +0 -6
  90. data/lib/rubocop/lsp/routes.rb +41 -3
  91. data/lib/rubocop/lsp/runtime.rb +4 -0
  92. data/lib/rubocop/lsp/server.rb +4 -0
  93. data/lib/rubocop/lsp/stdin_runner.rb +20 -0
  94. data/lib/rubocop/pending_cops_reporter.rb +1 -6
  95. data/lib/rubocop/project_index_loader.rb +16 -0
  96. data/lib/rubocop/result_cache.rb +6 -4
  97. data/lib/rubocop/rspec/shared_contexts.rb +14 -2
  98. data/lib/rubocop/runner.rb +45 -20
  99. data/lib/rubocop/server/cache.rb +10 -5
  100. data/lib/rubocop/target_ruby.rb +1 -1
  101. data/lib/rubocop/version.rb +1 -1
  102. data/lib/rubocop.rb +17 -626
  103. metadata +18 -3
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.88.2
4
+ version: 1.89.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -236,6 +236,7 @@ files:
236
236
  - lib/rubocop/cop/autocorrect_logic.rb
237
237
  - lib/rubocop/cop/badge.rb
238
238
  - lib/rubocop/cop/base.rb
239
+ - lib/rubocop/cop/bundler.rb
239
240
  - lib/rubocop/cop/bundler/duplicated_gem.rb
240
241
  - lib/rubocop/cop/bundler/duplicated_group.rb
241
242
  - lib/rubocop/cop/bundler/gem_comment.rb
@@ -267,6 +268,7 @@ files:
267
268
  - lib/rubocop/cop/documentation.rb
268
269
  - lib/rubocop/cop/exclude_limit.rb
269
270
  - lib/rubocop/cop/force.rb
271
+ - lib/rubocop/cop/gemspec.rb
270
272
  - lib/rubocop/cop/gemspec/add_runtime_dependency.rb
271
273
  - lib/rubocop/cop/gemspec/attribute_assignment.rb
272
274
  - lib/rubocop/cop/gemspec/dependency_version.rb
@@ -279,6 +281,7 @@ files:
279
281
  - lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb
280
282
  - lib/rubocop/cop/generator.rb
281
283
  - lib/rubocop/cop/generator/configuration_injector.rb
284
+ - lib/rubocop/cop/generator/registration_injector.rb
282
285
  - lib/rubocop/cop/generator/require_file_injector.rb
283
286
  - lib/rubocop/cop/ignored_node.rb
284
287
  - lib/rubocop/cop/internal_affairs.rb
@@ -324,6 +327,7 @@ files:
324
327
  - lib/rubocop/cop/internal_affairs/undefined_config.rb
325
328
  - lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
326
329
  - lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb
330
+ - lib/rubocop/cop/layout.rb
327
331
  - lib/rubocop/cop/layout/access_modifier_indentation.rb
328
332
  - lib/rubocop/cop/layout/argument_alignment.rb
329
333
  - lib/rubocop/cop/layout/array_alignment.rb
@@ -424,8 +428,10 @@ files:
424
428
  - lib/rubocop/cop/layout/space_inside_string_interpolation.rb
425
429
  - lib/rubocop/cop/layout/trailing_empty_lines.rb
426
430
  - lib/rubocop/cop/layout/trailing_whitespace.rb
431
+ - lib/rubocop/cop/lazy_loader.rb
427
432
  - lib/rubocop/cop/legacy/corrections_proxy.rb
428
433
  - lib/rubocop/cop/legacy/corrector.rb
434
+ - lib/rubocop/cop/lint.rb
429
435
  - lib/rubocop/cop/lint/ambiguous_assignment.rb
430
436
  - lib/rubocop/cop/lint/ambiguous_block_association.rb
431
437
  - lib/rubocop/cop/lint/ambiguous_operator.rb
@@ -448,6 +454,7 @@ files:
448
454
  - lib/rubocop/cop/lint/deprecated_class_methods.rb
449
455
  - lib/rubocop/cop/lint/deprecated_constants.rb
450
456
  - lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb
457
+ - lib/rubocop/cop/lint/deprecated_reference.rb
451
458
  - lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb
452
459
  - lib/rubocop/cop/lint/duplicate_branch.rb
453
460
  - lib/rubocop/cop/lint/duplicate_case_condition.rb
@@ -497,6 +504,7 @@ files:
497
504
  - lib/rubocop/cop/lint/mixed_case_range.rb
498
505
  - lib/rubocop/cop/lint/mixed_regexp_capture_types.rb
499
506
  - lib/rubocop/cop/lint/multiple_comparison.rb
507
+ - lib/rubocop/cop/lint/name_typo.rb
500
508
  - lib/rubocop/cop/lint/nested_method_definition.rb
501
509
  - lib/rubocop/cop/lint/nested_percent_literal.rb
502
510
  - lib/rubocop/cop/lint/next_without_accumulator.rb
@@ -564,6 +572,7 @@ files:
564
572
  - lib/rubocop/cop/lint/unreachable_pattern_branch.rb
565
573
  - lib/rubocop/cop/lint/unused_block_argument.rb
566
574
  - lib/rubocop/cop/lint/unused_method_argument.rb
575
+ - lib/rubocop/cop/lint/unused_private_method.rb
567
576
  - lib/rubocop/cop/lint/uri_escape_unescape.rb
568
577
  - lib/rubocop/cop/lint/uri_regexp.rb
569
578
  - lib/rubocop/cop/lint/useless_access_modifier.rb
@@ -582,6 +591,7 @@ files:
582
591
  - lib/rubocop/cop/lint/utils/nil_receiver_checker.rb
583
592
  - lib/rubocop/cop/lint/void.rb
584
593
  - lib/rubocop/cop/message_annotator.rb
594
+ - lib/rubocop/cop/metrics.rb
585
595
  - lib/rubocop/cop/metrics/abc_size.rb
586
596
  - lib/rubocop/cop/metrics/block_length.rb
587
597
  - lib/rubocop/cop/metrics/block_nesting.rb
@@ -597,6 +607,7 @@ files:
597
607
  - lib/rubocop/cop/metrics/utils/iterating_block.rb
598
608
  - lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb
599
609
  - lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb
610
+ - lib/rubocop/cop/migration.rb
600
611
  - lib/rubocop/cop/migration/department_name.rb
601
612
  - lib/rubocop/cop/mixin.rb
602
613
  - lib/rubocop/cop/mixin/alignment.rb
@@ -663,6 +674,7 @@ files:
663
674
  - lib/rubocop/cop/mixin/project_index_help.rb
664
675
  - lib/rubocop/cop/mixin/range_help.rb
665
676
  - lib/rubocop/cop/mixin/rational_literal.rb
677
+ - lib/rubocop/cop/mixin/reparsed_equivalence.rb
666
678
  - lib/rubocop/cop/mixin/require_library.rb
667
679
  - lib/rubocop/cop/mixin/rescue_node.rb
668
680
  - lib/rubocop/cop/mixin/safe_assignment.rb
@@ -679,6 +691,7 @@ files:
679
691
  - lib/rubocop/cop/mixin/uncommunicative_name.rb
680
692
  - lib/rubocop/cop/mixin/unused_argument.rb
681
693
  - lib/rubocop/cop/mixin/visibility_help.rb
694
+ - lib/rubocop/cop/naming.rb
682
695
  - lib/rubocop/cop/naming/accessor_method_name.rb
683
696
  - lib/rubocop/cop/naming/ascii_identifiers.rb
684
697
  - lib/rubocop/cop/naming/binary_operator_parameter_name.rb
@@ -700,6 +713,7 @@ files:
700
713
  - lib/rubocop/cop/naming/variable_number.rb
701
714
  - lib/rubocop/cop/offense.rb
702
715
  - lib/rubocop/cop/registry.rb
716
+ - lib/rubocop/cop/security.rb
703
717
  - lib/rubocop/cop/security/compound_hash.rb
704
718
  - lib/rubocop/cop/security/eval.rb
705
719
  - lib/rubocop/cop/security/io_methods.rb
@@ -708,6 +722,7 @@ files:
708
722
  - lib/rubocop/cop/security/open.rb
709
723
  - lib/rubocop/cop/security/yaml_load.rb
710
724
  - lib/rubocop/cop/severity.rb
725
+ - lib/rubocop/cop/style.rb
711
726
  - lib/rubocop/cop/style/access_modifier_declarations.rb
712
727
  - lib/rubocop/cop/style/accessor_grouping.rb
713
728
  - lib/rubocop/cop/style/alias.rb
@@ -1119,9 +1134,9 @@ licenses:
1119
1134
  - MIT
1120
1135
  metadata:
1121
1136
  homepage_uri: https://rubocop.org/
1122
- changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.88.2
1137
+ changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.89.0
1123
1138
  source_code_uri: https://github.com/rubocop/rubocop/
1124
- documentation_uri: https://docs.rubocop.org/rubocop/1.88/
1139
+ documentation_uri: https://docs.rubocop.org/rubocop/1.89/
1125
1140
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
1126
1141
  rubygems_mfa_required: 'true'
1127
1142
  rdoc_options: []