rubocop 1.75.1 → 1.76.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 (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -13
  3. data/config/default.yml +79 -23
  4. data/config/obsoletion.yml +6 -3
  5. data/lib/rubocop/config_validator.rb +6 -6
  6. data/lib/rubocop/cop/autocorrect_logic.rb +18 -10
  7. data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -1
  8. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +50 -6
  9. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
  10. data/lib/rubocop/cop/internal_affairs/example_description.rb +1 -1
  11. data/lib/rubocop/cop/internal_affairs/node_pattern_groups.rb +2 -0
  12. data/lib/rubocop/cop/internal_affairs/undefined_config.rb +6 -1
  13. data/lib/rubocop/cop/layout/block_alignment.rb +1 -2
  14. data/lib/rubocop/cop/layout/class_structure.rb +35 -0
  15. data/lib/rubocop/cop/layout/def_end_alignment.rb +1 -1
  16. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +1 -1
  17. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -2
  18. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +6 -2
  19. data/lib/rubocop/cop/layout/first_argument_indentation.rb +1 -1
  20. data/lib/rubocop/cop/layout/hash_alignment.rb +2 -2
  21. data/lib/rubocop/cop/layout/leading_comment_space.rb +13 -1
  22. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +1 -1
  23. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -4
  24. data/lib/rubocop/cop/layout/space_after_semicolon.rb +10 -0
  25. data/lib/rubocop/cop/layout/space_before_brackets.rb +6 -32
  26. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -1
  27. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +3 -0
  28. data/lib/rubocop/cop/lint/array_literal_in_regexp.rb +2 -3
  29. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -1
  30. data/lib/rubocop/cop/lint/circular_argument_reference.rb +2 -5
  31. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
  32. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +1 -1
  33. data/lib/rubocop/cop/lint/duplicate_methods.rb +86 -5
  34. data/lib/rubocop/cop/lint/empty_interpolation.rb +3 -1
  35. data/lib/rubocop/cop/lint/float_comparison.rb +27 -0
  36. data/lib/rubocop/cop/lint/identity_comparison.rb +19 -15
  37. data/lib/rubocop/cop/lint/literal_as_condition.rb +31 -25
  38. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +1 -1
  39. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
  40. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +2 -2
  41. data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +1 -1
  42. data/lib/rubocop/cop/lint/redundant_type_conversion.rb +7 -4
  43. data/lib/rubocop/cop/lint/return_in_void_context.rb +7 -2
  44. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +5 -0
  45. data/lib/rubocop/cop/lint/suppressed_exception.rb +1 -1
  46. data/lib/rubocop/cop/lint/to_enum_arguments.rb +1 -1
  47. data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +1 -1
  48. data/lib/rubocop/cop/lint/useless_assignment.rb +2 -0
  49. data/lib/rubocop/cop/lint/useless_default_value_argument.rb +87 -0
  50. data/lib/rubocop/cop/lint/useless_or.rb +98 -0
  51. data/lib/rubocop/cop/lint/useless_rescue.rb +1 -1
  52. data/lib/rubocop/cop/lint/void.rb +2 -2
  53. data/lib/rubocop/cop/message_annotator.rb +7 -3
  54. data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
  55. data/lib/rubocop/cop/mixin/check_line_breakable.rb +2 -2
  56. data/lib/rubocop/cop/mixin/check_single_line_suitability.rb +1 -1
  57. data/lib/rubocop/cop/mixin/def_node.rb +1 -1
  58. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +1 -1
  59. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +0 -1
  60. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +15 -14
  61. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +2 -0
  62. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -1
  63. data/lib/rubocop/cop/mixin/trailing_comma.rb +9 -5
  64. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
  65. data/lib/rubocop/cop/naming/method_name.rb +1 -1
  66. data/lib/rubocop/cop/naming/predicate_method.rb +216 -0
  67. data/lib/rubocop/cop/naming/{predicate_name.rb → predicate_prefix.rb} +2 -2
  68. data/lib/rubocop/cop/style/access_modifier_declarations.rb +32 -10
  69. data/lib/rubocop/cop/style/arguments_forwarding.rb +8 -5
  70. data/lib/rubocop/cop/style/class_and_module_children.rb +19 -3
  71. data/lib/rubocop/cop/style/class_equality_comparison.rb +1 -1
  72. data/lib/rubocop/cop/style/command_literal.rb +1 -1
  73. data/lib/rubocop/cop/style/commented_keyword.rb +2 -2
  74. data/lib/rubocop/cop/style/comparable_between.rb +5 -2
  75. data/lib/rubocop/cop/style/conditional_assignment.rb +16 -4
  76. data/lib/rubocop/cop/style/data_inheritance.rb +7 -0
  77. data/lib/rubocop/cop/style/def_with_parentheses.rb +18 -5
  78. data/lib/rubocop/cop/style/double_negation.rb +1 -1
  79. data/lib/rubocop/cop/style/empty_literal.rb +4 -0
  80. data/lib/rubocop/cop/style/empty_string_inside_interpolation.rb +100 -0
  81. data/lib/rubocop/cop/style/eval_with_location.rb +3 -3
  82. data/lib/rubocop/cop/style/explicit_block_argument.rb +2 -2
  83. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -2
  84. data/lib/rubocop/cop/style/global_std_stream.rb +3 -0
  85. data/lib/rubocop/cop/style/hash_fetch_chain.rb +0 -1
  86. data/lib/rubocop/cop/style/hash_syntax.rb +3 -0
  87. data/lib/rubocop/cop/style/hash_transform_keys.rb +2 -2
  88. data/lib/rubocop/cop/style/hash_transform_values.rb +2 -2
  89. data/lib/rubocop/cop/style/identical_conditional_branches.rb +3 -3
  90. data/lib/rubocop/cop/style/if_unless_modifier.rb +22 -4
  91. data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +4 -7
  92. data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +1 -1
  93. data/lib/rubocop/cop/style/it_block_parameter.rb +33 -14
  94. data/lib/rubocop/cop/style/keyword_parameters_order.rb +1 -1
  95. data/lib/rubocop/cop/style/lambda_call.rb +7 -2
  96. data/lib/rubocop/cop/style/map_into_array.rb +3 -1
  97. data/lib/rubocop/cop/style/map_to_hash.rb +11 -0
  98. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +5 -2
  99. data/lib/rubocop/cop/style/multiline_if_modifier.rb +2 -0
  100. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
  101. data/lib/rubocop/cop/style/redundant_array_flatten.rb +48 -0
  102. data/lib/rubocop/cop/style/redundant_condition.rb +13 -1
  103. data/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +1 -1
  104. data/lib/rubocop/cop/style/redundant_format.rb +6 -1
  105. data/lib/rubocop/cop/style/redundant_line_continuation.rb +0 -3
  106. data/lib/rubocop/cop/style/redundant_parentheses.rb +31 -3
  107. data/lib/rubocop/cop/style/regexp_literal.rb +1 -1
  108. data/lib/rubocop/cop/style/return_nil.rb +2 -2
  109. data/lib/rubocop/cop/style/safe_navigation.rb +28 -10
  110. data/lib/rubocop/cop/style/sole_nested_conditional.rb +4 -2
  111. data/lib/rubocop/cop/style/string_concatenation.rb +1 -2
  112. data/lib/rubocop/cop/style/struct_inheritance.rb +8 -1
  113. data/lib/rubocop/cop/style/super_arguments.rb +1 -2
  114. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +7 -1
  115. data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +1 -1
  116. data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +1 -1
  117. data/lib/rubocop/cop/team.rb +1 -1
  118. data/lib/rubocop/cop/util.rb +1 -1
  119. data/lib/rubocop/cop/variable_force/assignment.rb +7 -3
  120. data/lib/rubocop/cop/variable_force/variable.rb +1 -1
  121. data/lib/rubocop/cops_documentation_generator.rb +6 -2
  122. data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -1
  123. data/lib/rubocop/formatter/html_formatter.rb +1 -1
  124. data/lib/rubocop/formatter/pacman_formatter.rb +1 -1
  125. data/lib/rubocop/magic_comment.rb +8 -0
  126. data/lib/rubocop/rspec/cop_helper.rb +2 -2
  127. data/lib/rubocop/rspec/shared_contexts.rb +1 -2
  128. data/lib/rubocop/server/cache.rb +13 -10
  129. data/lib/rubocop/target_finder.rb +6 -2
  130. data/lib/rubocop/version.rb +1 -1
  131. data/lib/rubocop.rb +6 -1
  132. metadata +12 -7
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.75.1
4
+ version: 1.76.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -9,7 +9,7 @@ authors:
9
9
  - Yuji Nakayama
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-03-26 00:00:00.000000000 Z
12
+ date: 2025-06-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -127,7 +127,7 @@ dependencies:
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 1.43.0
130
+ version: 1.45.0
131
131
  - - "<"
132
132
  - !ruby/object:Gem::Version
133
133
  version: '2.0'
@@ -137,7 +137,7 @@ dependencies:
137
137
  requirements:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: 1.43.0
140
+ version: 1.45.0
141
141
  - - "<"
142
142
  - !ruby/object:Gem::Version
143
143
  version: '2.0'
@@ -561,10 +561,12 @@ files:
561
561
  - lib/rubocop/cop/lint/useless_access_modifier.rb
562
562
  - lib/rubocop/cop/lint/useless_assignment.rb
563
563
  - lib/rubocop/cop/lint/useless_constant_scoping.rb
564
+ - lib/rubocop/cop/lint/useless_default_value_argument.rb
564
565
  - lib/rubocop/cop/lint/useless_defined.rb
565
566
  - lib/rubocop/cop/lint/useless_else_without_rescue.rb
566
567
  - lib/rubocop/cop/lint/useless_method_definition.rb
567
568
  - lib/rubocop/cop/lint/useless_numeric_operation.rb
569
+ - lib/rubocop/cop/lint/useless_or.rb
568
570
  - lib/rubocop/cop/lint/useless_rescue.rb
569
571
  - lib/rubocop/cop/lint/useless_ruby2_keywords.rb
570
572
  - lib/rubocop/cop/lint/useless_setter_call.rb
@@ -679,7 +681,8 @@ files:
679
681
  - lib/rubocop/cop/naming/memoized_instance_variable_name.rb
680
682
  - lib/rubocop/cop/naming/method_name.rb
681
683
  - lib/rubocop/cop/naming/method_parameter_name.rb
682
- - lib/rubocop/cop/naming/predicate_name.rb
684
+ - lib/rubocop/cop/naming/predicate_method.rb
685
+ - lib/rubocop/cop/naming/predicate_prefix.rb
683
686
  - lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb
684
687
  - lib/rubocop/cop/naming/variable_name.rb
685
688
  - lib/rubocop/cop/naming/variable_number.rb
@@ -758,6 +761,7 @@ files:
758
761
  - lib/rubocop/cop/style/empty_lambda_parameter.rb
759
762
  - lib/rubocop/cop/style/empty_literal.rb
760
763
  - lib/rubocop/cop/style/empty_method.rb
764
+ - lib/rubocop/cop/style/empty_string_inside_interpolation.rb
761
765
  - lib/rubocop/cop/style/encoding.rb
762
766
  - lib/rubocop/cop/style/end_block.rb
763
767
  - lib/rubocop/cop/style/endless_method.rb
@@ -878,6 +882,7 @@ files:
878
882
  - lib/rubocop/cop/style/random_with_offset.rb
879
883
  - lib/rubocop/cop/style/redundant_argument.rb
880
884
  - lib/rubocop/cop/style/redundant_array_constructor.rb
885
+ - lib/rubocop/cop/style/redundant_array_flatten.rb
881
886
  - lib/rubocop/cop/style/redundant_assignment.rb
882
887
  - lib/rubocop/cop/style/redundant_begin.rb
883
888
  - lib/rubocop/cop/style/redundant_capital_w.rb
@@ -1080,9 +1085,9 @@ licenses:
1080
1085
  - MIT
1081
1086
  metadata:
1082
1087
  homepage_uri: https://rubocop.org/
1083
- changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.75.1
1088
+ changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.76.0
1084
1089
  source_code_uri: https://github.com/rubocop/rubocop/
1085
- documentation_uri: https://docs.rubocop.org/rubocop/1.75/
1090
+ documentation_uri: https://docs.rubocop.org/rubocop/1.76/
1086
1091
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
1087
1092
  rubygems_mfa_required: 'true'
1088
1093
  rdoc_options: []