rubocop 1.67.0 → 1.69.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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/config/default.yml +81 -6
  4. data/lib/rubocop/cached_data.rb +12 -4
  5. data/lib/rubocop/cli/command/execute_runner.rb +1 -1
  6. data/lib/rubocop/cli/command/version.rb +2 -2
  7. data/lib/rubocop/cop/autocorrect_logic.rb +22 -2
  8. data/lib/rubocop/cop/base.rb +1 -1
  9. data/lib/rubocop/cop/bundler/gem_filename.rb +0 -1
  10. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +0 -1
  11. data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -12
  12. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -1
  13. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +10 -0
  14. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +1 -2
  15. data/lib/rubocop/cop/gemspec/required_ruby_version.rb +0 -2
  16. data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +2 -4
  17. data/lib/rubocop/cop/internal_affairs/numblock_handler.rb +1 -1
  18. data/lib/rubocop/cop/internal_affairs/operator_keyword.rb +46 -0
  19. data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +0 -2
  20. data/lib/rubocop/cop/internal_affairs.rb +1 -0
  21. data/lib/rubocop/cop/layout/argument_alignment.rb +1 -2
  22. data/lib/rubocop/cop/layout/array_alignment.rb +1 -1
  23. data/lib/rubocop/cop/layout/begin_end_alignment.rb +0 -1
  24. data/lib/rubocop/cop/layout/block_alignment.rb +1 -2
  25. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +1 -1
  26. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +2 -3
  27. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +3 -4
  28. data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +3 -1
  29. data/lib/rubocop/cop/layout/indentation_width.rb +7 -7
  30. data/lib/rubocop/cop/layout/leading_comment_space.rb +44 -1
  31. data/lib/rubocop/cop/layout/line_length.rb +118 -4
  32. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
  33. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +1 -1
  34. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +2 -3
  35. data/lib/rubocop/cop/layout/parameter_alignment.rb +3 -4
  36. data/lib/rubocop/cop/layout/redundant_line_break.rb +3 -35
  37. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -2
  38. data/lib/rubocop/cop/layout/space_around_keyword.rb +1 -1
  39. data/lib/rubocop/cop/layout/space_around_operators.rb +16 -17
  40. data/lib/rubocop/cop/layout/space_before_brackets.rb +5 -5
  41. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +6 -0
  42. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +4 -0
  43. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +4 -0
  44. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +0 -1
  45. data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +11 -12
  46. data/lib/rubocop/cop/lint/circular_argument_reference.rb +2 -0
  47. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +1 -1
  48. data/lib/rubocop/cop/lint/duplicate_branch.rb +39 -4
  49. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  50. data/lib/rubocop/cop/lint/empty_file.rb +0 -2
  51. data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
  52. data/lib/rubocop/cop/lint/float_comparison.rb +14 -6
  53. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -3
  54. data/lib/rubocop/cop/lint/hash_new_with_keyword_arguments_as_default.rb +55 -0
  55. data/lib/rubocop/cop/lint/interpolation_check.rb +9 -0
  56. data/lib/rubocop/cop/lint/it_without_arguments_in_block.rb +3 -0
  57. data/lib/rubocop/cop/lint/literal_assignment_in_condition.rb +1 -1
  58. data/lib/rubocop/cop/lint/mixed_case_range.rb +2 -5
  59. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
  60. data/lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb +2 -2
  61. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +8 -1
  62. data/lib/rubocop/cop/lint/number_conversion.rb +0 -1
  63. data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +1 -2
  64. data/lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb +106 -0
  65. data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +1 -2
  66. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -1
  67. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +1 -1
  68. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +12 -7
  69. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +8 -7
  70. data/lib/rubocop/cop/lint/regexp_as_condition.rb +0 -1
  71. data/lib/rubocop/cop/lint/rescue_type.rb +3 -7
  72. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +9 -0
  73. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +5 -1
  74. data/lib/rubocop/cop/lint/self_assignment.rb +8 -10
  75. data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -1
  76. data/lib/rubocop/cop/lint/unescaped_bracket_in_regexp.rb +88 -0
  77. data/lib/rubocop/cop/lint/unused_method_argument.rb +18 -2
  78. data/lib/rubocop/cop/lint/useless_defined.rb +55 -0
  79. data/lib/rubocop/cop/lint/useless_rescue.rb +1 -1
  80. data/lib/rubocop/cop/lint/useless_setter_call.rb +14 -25
  81. data/lib/rubocop/cop/lint/void.rb +3 -2
  82. data/lib/rubocop/cop/metrics/class_length.rb +7 -7
  83. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +4 -1
  84. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +1 -1
  85. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -2
  86. data/lib/rubocop/cop/mixin/check_assignment.rb +4 -12
  87. data/lib/rubocop/cop/mixin/check_line_breakable.rb +10 -0
  88. data/lib/rubocop/cop/mixin/check_single_line_suitability.rb +49 -0
  89. data/lib/rubocop/cop/mixin/dig_help.rb +27 -0
  90. data/lib/rubocop/cop/mixin/endless_method_rewriter.rb +24 -0
  91. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -1
  92. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +5 -9
  93. data/lib/rubocop/cop/mixin/range_help.rb +0 -1
  94. data/lib/rubocop/cop/mixin/target_ruby_version.rb +17 -1
  95. data/lib/rubocop/cop/naming/block_forwarding.rb +1 -1
  96. data/lib/rubocop/cop/naming/constant_name.rb +6 -7
  97. data/lib/rubocop/cop/naming/file_name.rb +0 -2
  98. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +11 -12
  99. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +3 -11
  100. data/lib/rubocop/cop/naming/variable_name.rb +3 -4
  101. data/lib/rubocop/cop/naming/variable_number.rb +2 -3
  102. data/lib/rubocop/cop/offense.rb +2 -3
  103. data/lib/rubocop/cop/style/access_modifier_declarations.rb +53 -24
  104. data/lib/rubocop/cop/style/ambiguous_endless_method_definition.rb +79 -0
  105. data/lib/rubocop/cop/style/array_intersect.rb +5 -4
  106. data/lib/rubocop/cop/style/bitwise_predicate.rb +100 -0
  107. data/lib/rubocop/cop/style/block_delimiters.rb +18 -3
  108. data/lib/rubocop/cop/style/case_like_if.rb +8 -11
  109. data/lib/rubocop/cop/style/combinable_defined.rb +115 -0
  110. data/lib/rubocop/cop/style/commented_keyword.rb +11 -1
  111. data/lib/rubocop/cop/style/conditional_assignment.rb +19 -21
  112. data/lib/rubocop/cop/style/constant_visibility.rb +3 -12
  113. data/lib/rubocop/cop/style/dig_chain.rb +90 -0
  114. data/lib/rubocop/cop/style/endless_method.rb +1 -14
  115. data/lib/rubocop/cop/style/file_null.rb +73 -0
  116. data/lib/rubocop/cop/style/file_touch.rb +75 -0
  117. data/lib/rubocop/cop/style/for.rb +0 -1
  118. data/lib/rubocop/cop/style/global_vars.rb +1 -3
  119. data/lib/rubocop/cop/style/guard_clause.rb +15 -2
  120. data/lib/rubocop/cop/style/hash_conversion.rb +1 -2
  121. data/lib/rubocop/cop/style/if_inside_else.rb +0 -1
  122. data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +1 -2
  123. data/lib/rubocop/cop/style/if_with_semicolon.rb +14 -5
  124. data/lib/rubocop/cop/style/inverse_methods.rb +0 -1
  125. data/lib/rubocop/cop/style/keyword_arguments_merging.rb +67 -0
  126. data/lib/rubocop/cop/style/lambda_call.rb +0 -1
  127. data/lib/rubocop/cop/style/map_into_array.rb +6 -1
  128. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +1 -1
  129. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +7 -11
  130. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +33 -3
  131. data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
  132. data/lib/rubocop/cop/style/multiple_comparison.rb +28 -39
  133. data/lib/rubocop/cop/style/mutable_constant.rb +4 -5
  134. data/lib/rubocop/cop/style/negated_if_else_condition.rb +6 -4
  135. data/lib/rubocop/cop/style/nested_ternary_operator.rb +5 -4
  136. data/lib/rubocop/cop/style/not.rb +1 -1
  137. data/lib/rubocop/cop/style/one_line_conditional.rb +25 -4
  138. data/lib/rubocop/cop/style/operator_method_call.rb +5 -6
  139. data/lib/rubocop/cop/style/or_assignment.rb +3 -6
  140. data/lib/rubocop/cop/style/parallel_assignment.rb +8 -13
  141. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  142. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -1
  143. data/lib/rubocop/cop/style/redundant_condition.rb +36 -21
  144. data/lib/rubocop/cop/style/redundant_line_continuation.rb +21 -2
  145. data/lib/rubocop/cop/style/redundant_parentheses.rb +9 -11
  146. data/lib/rubocop/cop/style/redundant_regexp_argument.rb +1 -0
  147. data/lib/rubocop/cop/style/redundant_return.rb +2 -2
  148. data/lib/rubocop/cop/style/redundant_self.rb +7 -14
  149. data/lib/rubocop/cop/style/redundant_self_assignment.rb +7 -5
  150. data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +4 -4
  151. data/lib/rubocop/cop/style/redundant_sort.rb +1 -1
  152. data/lib/rubocop/cop/style/rescue_modifier.rb +2 -3
  153. data/lib/rubocop/cop/style/safe_navigation.rb +13 -1
  154. data/lib/rubocop/cop/style/safe_navigation_chain_length.rb +52 -0
  155. data/lib/rubocop/cop/style/select_by_regexp.rb +1 -1
  156. data/lib/rubocop/cop/style/self_assignment.rb +11 -17
  157. data/lib/rubocop/cop/style/signal_exception.rb +2 -3
  158. data/lib/rubocop/cop/style/single_argument_dig.rb +9 -5
  159. data/lib/rubocop/cop/style/single_line_do_end_block.rb +13 -3
  160. data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -3
  161. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  162. data/lib/rubocop/cop/style/string_concatenation.rb +0 -1
  163. data/lib/rubocop/cop/style/swap_values.rb +4 -15
  164. data/lib/rubocop/cop/style/ternary_parentheses.rb +25 -4
  165. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -4
  166. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -2
  167. data/lib/rubocop/cop/variable_force/assignment.rb +18 -3
  168. data/lib/rubocop/cop/variable_force/branch.rb +1 -1
  169. data/lib/rubocop/cop/variable_force/variable.rb +5 -1
  170. data/lib/rubocop/cop/variable_force/variable_table.rb +2 -2
  171. data/lib/rubocop/cop/variable_force.rb +4 -10
  172. data/lib/rubocop/cops_documentation_generator.rb +20 -10
  173. data/lib/rubocop/formatter/disabled_config_formatter.rb +1 -1
  174. data/lib/rubocop/runner.rb +16 -8
  175. data/lib/rubocop/target_ruby.rb +1 -1
  176. data/lib/rubocop/version.rb +27 -8
  177. data/lib/rubocop.rb +16 -0
  178. metadata +28 -12
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '1.67.0'
6
+ STRING = '1.69.0'
7
7
 
8
8
  MSG = '%<version>s (using %<parser_version>s, ' \
9
9
  'rubocop-ast %<rubocop_ast_version>s, ' \
@@ -18,12 +18,13 @@ module RuboCop
18
18
  'rubocop-md' => 'markdown', 'rubocop-factory_bot' => 'factory_bot'
19
19
  }.freeze
20
20
 
21
+ # NOTE: Marked as private but used by gems like standard.
21
22
  # @api private
22
23
  def self.version(debug: false, env: nil)
23
24
  if debug
24
25
  verbose_version = format(MSG, version: STRING, parser_version: parser_version,
25
26
  rubocop_ast_version: RuboCop::AST::Version::STRING,
26
- target_ruby_version: TargetRuby.new(Config.new).version,
27
+ target_ruby_version: target_ruby_version(env),
27
28
  ruby_engine: RUBY_ENGINE, ruby_version: RUBY_VERSION,
28
29
  server_mode: server_mode,
29
30
  ruby_platform: RUBY_PLATFORM)
@@ -41,6 +42,11 @@ module RuboCop
41
42
  end
42
43
  end
43
44
 
45
+ # @api private
46
+ def self.verbose(env: nil)
47
+ version(debug: true, env: env)
48
+ end
49
+
44
50
  # @api private
45
51
  def self.parser_version
46
52
  config_path = ConfigFinder.find_config_path(Dir.pwd)
@@ -58,12 +64,7 @@ module RuboCop
58
64
 
59
65
  # @api private
60
66
  def self.extension_versions(env)
61
- features = Util.silence_warnings do
62
- # Suppress any config issues when loading the config (ie. deprecations,
63
- # pending cops, etc.).
64
- env.config_store.unvalidated.for_pwd.loaded_features.sort
65
- end
66
-
67
+ features = config_for_pwd(env).loaded_features.sort
67
68
  features.filter_map do |loaded_feature|
68
69
  next unless (match = loaded_feature.match(/rubocop-(?<feature>.*)/))
69
70
 
@@ -85,6 +86,24 @@ module RuboCop
85
86
  end
86
87
  end
87
88
 
89
+ # @api private
90
+ def self.target_ruby_version(env)
91
+ if env
92
+ config_for_pwd(env).target_ruby_version
93
+ else
94
+ TargetRuby.new(Config.new).version
95
+ end
96
+ end
97
+
98
+ # @api private
99
+ def self.config_for_pwd(env)
100
+ Util.silence_warnings do
101
+ # Suppress any config issues when loading the config (ie. deprecations,
102
+ # pending cops, etc.).
103
+ env.config_store.unvalidated.for_pwd
104
+ end
105
+ end
106
+
88
107
  # Returns feature version in one of two ways:
89
108
  #
90
109
  # * Find by RuboCop core version style (e.g. rubocop-performance, rubocop-rspec)
data/lib/rubocop.rb CHANGED
@@ -11,6 +11,7 @@ require 'rainbow'
11
11
 
12
12
  require 'regexp_parser'
13
13
  require 'set'
14
+ require 'stringio'
14
15
  require 'unicode/display_width'
15
16
 
16
17
  # we have to require RuboCop's version, before rubocop-ast's
@@ -77,12 +78,14 @@ require_relative 'rubocop/cop/mixin/allowed_receivers'
77
78
  require_relative 'rubocop/cop/mixin/auto_corrector' # rubocop:todo Naming/InclusiveLanguage
78
79
  require_relative 'rubocop/cop/mixin/check_assignment'
79
80
  require_relative 'rubocop/cop/mixin/check_line_breakable'
81
+ require_relative 'rubocop/cop/mixin/check_single_line_suitability'
80
82
  require_relative 'rubocop/cop/mixin/configurable_max'
81
83
  require_relative 'rubocop/cop/mixin/code_length' # relies on configurable_max
82
84
  require_relative 'rubocop/cop/mixin/configurable_enforced_style'
83
85
  require_relative 'rubocop/cop/mixin/configurable_formatting'
84
86
  require_relative 'rubocop/cop/mixin/configurable_naming'
85
87
  require_relative 'rubocop/cop/mixin/configurable_numbering'
88
+ require_relative 'rubocop/cop/mixin/dig_help'
86
89
  require_relative 'rubocop/cop/mixin/documentation_comment'
87
90
  require_relative 'rubocop/cop/mixin/duplication'
88
91
  require_relative 'rubocop/cop/mixin/range_help'
@@ -90,6 +93,7 @@ require_relative 'rubocop/cop/mixin/annotation_comment' # relies on range
90
93
  require_relative 'rubocop/cop/mixin/empty_lines_around_body' # relies on range
91
94
  require_relative 'rubocop/cop/mixin/empty_parameter'
92
95
  require_relative 'rubocop/cop/mixin/end_keyword_alignment'
96
+ require_relative 'rubocop/cop/mixin/endless_method_rewriter'
93
97
  require_relative 'rubocop/cop/mixin/enforce_superclass'
94
98
  require_relative 'rubocop/cop/mixin/first_element_line_break'
95
99
  require_relative 'rubocop/cop/mixin/frozen_string_literal'
@@ -331,6 +335,7 @@ require_relative 'rubocop/cop/lint/float_comparison'
331
335
  require_relative 'rubocop/cop/lint/float_out_of_range'
332
336
  require_relative 'rubocop/cop/lint/format_parameter_mismatch'
333
337
  require_relative 'rubocop/cop/lint/hash_compare_by_identity'
338
+ require_relative 'rubocop/cop/lint/hash_new_with_keyword_arguments_as_default'
334
339
  require_relative 'rubocop/cop/lint/heredoc_method_call_position'
335
340
  require_relative 'rubocop/cop/lint/identity_comparison'
336
341
  require_relative 'rubocop/cop/lint/implicit_string_concatenation'
@@ -358,6 +363,7 @@ require_relative 'rubocop/cop/lint/non_deterministic_require_order'
358
363
  require_relative 'rubocop/cop/lint/non_local_exit_from_iterator'
359
364
  require_relative 'rubocop/cop/lint/number_conversion'
360
365
  require_relative 'rubocop/cop/lint/numbered_parameter_assignment'
366
+ require_relative 'rubocop/cop/lint/numeric_operation_with_constant_result'
361
367
  require_relative 'rubocop/cop/lint/or_assignment_to_constant'
362
368
  require_relative 'rubocop/cop/lint/ordered_magic_comments'
363
369
  require_relative 'rubocop/cop/lint/out_of_range_regexp_ref'
@@ -403,6 +409,7 @@ require_relative 'rubocop/cop/lint/top_level_return_with_argument'
403
409
  require_relative 'rubocop/cop/lint/trailing_comma_in_attribute_declaration'
404
410
  require_relative 'rubocop/cop/lint/triple_quotes'
405
411
  require_relative 'rubocop/cop/lint/underscore_prefixed_variable_name'
412
+ require_relative 'rubocop/cop/lint/unescaped_bracket_in_regexp'
406
413
  require_relative 'rubocop/cop/lint/unexpected_block_arity'
407
414
  require_relative 'rubocop/cop/lint/unified_integer'
408
415
  require_relative 'rubocop/cop/lint/unmodified_reduce_accumulator'
@@ -414,6 +421,7 @@ require_relative 'rubocop/cop/lint/uri_escape_unescape'
414
421
  require_relative 'rubocop/cop/lint/uri_regexp'
415
422
  require_relative 'rubocop/cop/lint/useless_access_modifier'
416
423
  require_relative 'rubocop/cop/lint/useless_assignment'
424
+ require_relative 'rubocop/cop/lint/useless_defined'
417
425
  require_relative 'rubocop/cop/lint/useless_else_without_rescue'
418
426
  require_relative 'rubocop/cop/lint/useless_method_definition'
419
427
  require_relative 'rubocop/cop/lint/useless_numeric_operation'
@@ -460,6 +468,7 @@ require_relative 'rubocop/cop/naming/variable_number'
460
468
  require_relative 'rubocop/cop/style/access_modifier_declarations'
461
469
  require_relative 'rubocop/cop/style/accessor_grouping'
462
470
  require_relative 'rubocop/cop/style/alias'
471
+ require_relative 'rubocop/cop/style/ambiguous_endless_method_definition'
463
472
  require_relative 'rubocop/cop/style/and_or'
464
473
  require_relative 'rubocop/cop/style/arguments_forwarding'
465
474
  require_relative 'rubocop/cop/style/array_coercion'
@@ -472,6 +481,7 @@ require_relative 'rubocop/cop/style/auto_resource_cleanup'
472
481
  require_relative 'rubocop/cop/style/bare_percent_literals'
473
482
  require_relative 'rubocop/cop/style/begin_block'
474
483
  require_relative 'rubocop/cop/style/bisected_attr_accessor'
484
+ require_relative 'rubocop/cop/style/bitwise_predicate'
475
485
  require_relative 'rubocop/cop/style/block_comments'
476
486
  require_relative 'rubocop/cop/style/block_delimiters'
477
487
  require_relative 'rubocop/cop/style/case_equality'
@@ -487,6 +497,7 @@ require_relative 'rubocop/cop/style/collection_compact'
487
497
  require_relative 'rubocop/cop/style/collection_methods'
488
498
  require_relative 'rubocop/cop/style/colon_method_call'
489
499
  require_relative 'rubocop/cop/style/colon_method_definition'
500
+ require_relative 'rubocop/cop/style/combinable_defined'
490
501
  require_relative 'rubocop/cop/style/combinable_loops'
491
502
  require_relative 'rubocop/cop/style/command_literal'
492
503
  require_relative 'rubocop/cop/style/comment_annotation'
@@ -499,6 +510,7 @@ require_relative 'rubocop/cop/style/copyright'
499
510
  require_relative 'rubocop/cop/style/data_inheritance'
500
511
  require_relative 'rubocop/cop/style/date_time'
501
512
  require_relative 'rubocop/cop/style/def_with_parentheses'
513
+ require_relative 'rubocop/cop/style/dig_chain'
502
514
  require_relative 'rubocop/cop/style/dir'
503
515
  require_relative 'rubocop/cop/style/dir_empty'
504
516
  require_relative 'rubocop/cop/style/disable_cops_within_source_code_directive'
@@ -528,7 +540,9 @@ require_relative 'rubocop/cop/style/explicit_block_argument'
528
540
  require_relative 'rubocop/cop/style/exponential_notation'
529
541
  require_relative 'rubocop/cop/style/fetch_env_var'
530
542
  require_relative 'rubocop/cop/style/file_empty'
543
+ require_relative 'rubocop/cop/style/file_null'
531
544
  require_relative 'rubocop/cop/style/file_read'
545
+ require_relative 'rubocop/cop/style/file_touch'
532
546
  require_relative 'rubocop/cop/style/file_write'
533
547
  require_relative 'rubocop/cop/style/float_division'
534
548
  require_relative 'rubocop/cop/style/for'
@@ -559,6 +573,7 @@ require_relative 'rubocop/cop/style/inverse_methods'
559
573
  require_relative 'rubocop/cop/style/inline_comment'
560
574
  require_relative 'rubocop/cop/style/invertible_unless_condition'
561
575
  require_relative 'rubocop/cop/style/ip_addresses'
576
+ require_relative 'rubocop/cop/style/keyword_arguments_merging'
562
577
  require_relative 'rubocop/cop/style/keyword_parameters_order'
563
578
  require_relative 'rubocop/cop/style/lambda'
564
579
  require_relative 'rubocop/cop/style/lambda_call'
@@ -592,6 +607,7 @@ require_relative 'rubocop/cop/style/redundant_regexp_constructor'
592
607
  require_relative 'rubocop/cop/style/redundant_self_assignment'
593
608
  require_relative 'rubocop/cop/style/redundant_self_assignment_branch'
594
609
  require_relative 'rubocop/cop/style/require_order'
610
+ require_relative 'rubocop/cop/style/safe_navigation_chain_length'
595
611
  require_relative 'rubocop/cop/style/single_line_do_end_block'
596
612
  require_relative 'rubocop/cop/style/sole_nested_conditional'
597
613
  require_relative 'rubocop/cop/style/static_class'
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.67.0
4
+ version: 1.69.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: 2024-10-15 00:00:00.000000000 Z
13
+ date: 2024-11-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 1.32.2
117
+ version: 1.36.1
118
118
  - - "<"
119
119
  - !ruby/object:Gem::Version
120
120
  version: '2.0'
@@ -124,7 +124,7 @@ dependencies:
124
124
  requirements:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
- version: 1.32.2
127
+ version: 1.36.1
128
128
  - - "<"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '2.0'
@@ -151,7 +151,7 @@ dependencies:
151
151
  version: 2.4.0
152
152
  - - "<"
153
153
  - !ruby/object:Gem::Version
154
- version: '3.0'
154
+ version: '4.0'
155
155
  type: :runtime
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
@@ -161,7 +161,7 @@ dependencies:
161
161
  version: 2.4.0
162
162
  - - "<"
163
163
  - !ruby/object:Gem::Version
164
- version: '3.0'
164
+ version: '4.0'
165
165
  description: |
166
166
  RuboCop is a Ruby code style checking and code formatting tool.
167
167
  It aims to enforce the community-driven Ruby Style Guide.
@@ -282,6 +282,7 @@ files:
282
282
  - lib/rubocop/cop/internal_affairs/node_type_predicate.rb
283
283
  - lib/rubocop/cop/internal_affairs/numblock_handler.rb
284
284
  - lib/rubocop/cop/internal_affairs/offense_location_keyword.rb
285
+ - lib/rubocop/cop/internal_affairs/operator_keyword.rb
285
286
  - lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb
286
287
  - lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb
287
288
  - lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb
@@ -445,6 +446,7 @@ files:
445
446
  - lib/rubocop/cop/lint/float_out_of_range.rb
446
447
  - lib/rubocop/cop/lint/format_parameter_mismatch.rb
447
448
  - lib/rubocop/cop/lint/hash_compare_by_identity.rb
449
+ - lib/rubocop/cop/lint/hash_new_with_keyword_arguments_as_default.rb
448
450
  - lib/rubocop/cop/lint/heredoc_method_call_position.rb
449
451
  - lib/rubocop/cop/lint/identity_comparison.rb
450
452
  - lib/rubocop/cop/lint/implicit_string_concatenation.rb
@@ -472,6 +474,7 @@ files:
472
474
  - lib/rubocop/cop/lint/non_local_exit_from_iterator.rb
473
475
  - lib/rubocop/cop/lint/number_conversion.rb
474
476
  - lib/rubocop/cop/lint/numbered_parameter_assignment.rb
477
+ - lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb
475
478
  - lib/rubocop/cop/lint/or_assignment_to_constant.rb
476
479
  - lib/rubocop/cop/lint/ordered_magic_comments.rb
477
480
  - lib/rubocop/cop/lint/out_of_range_regexp_ref.rb
@@ -517,6 +520,7 @@ files:
517
520
  - lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb
518
521
  - lib/rubocop/cop/lint/triple_quotes.rb
519
522
  - lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
523
+ - lib/rubocop/cop/lint/unescaped_bracket_in_regexp.rb
520
524
  - lib/rubocop/cop/lint/unexpected_block_arity.rb
521
525
  - lib/rubocop/cop/lint/unified_integer.rb
522
526
  - lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb
@@ -528,6 +532,7 @@ files:
528
532
  - lib/rubocop/cop/lint/uri_regexp.rb
529
533
  - lib/rubocop/cop/lint/useless_access_modifier.rb
530
534
  - lib/rubocop/cop/lint/useless_assignment.rb
535
+ - lib/rubocop/cop/lint/useless_defined.rb
531
536
  - lib/rubocop/cop/lint/useless_else_without_rescue.rb
532
537
  - lib/rubocop/cop/lint/useless_method_definition.rb
533
538
  - lib/rubocop/cop/lint/useless_numeric_operation.rb
@@ -564,6 +569,7 @@ files:
564
569
  - lib/rubocop/cop/mixin/auto_corrector.rb
565
570
  - lib/rubocop/cop/mixin/check_assignment.rb
566
571
  - lib/rubocop/cop/mixin/check_line_breakable.rb
572
+ - lib/rubocop/cop/mixin/check_single_line_suitability.rb
567
573
  - lib/rubocop/cop/mixin/code_length.rb
568
574
  - lib/rubocop/cop/mixin/comments_help.rb
569
575
  - lib/rubocop/cop/mixin/configurable_enforced_style.rb
@@ -572,11 +578,13 @@ files:
572
578
  - lib/rubocop/cop/mixin/configurable_naming.rb
573
579
  - lib/rubocop/cop/mixin/configurable_numbering.rb
574
580
  - lib/rubocop/cop/mixin/def_node.rb
581
+ - lib/rubocop/cop/mixin/dig_help.rb
575
582
  - lib/rubocop/cop/mixin/documentation_comment.rb
576
583
  - lib/rubocop/cop/mixin/duplication.rb
577
584
  - lib/rubocop/cop/mixin/empty_lines_around_body.rb
578
585
  - lib/rubocop/cop/mixin/empty_parameter.rb
579
586
  - lib/rubocop/cop/mixin/end_keyword_alignment.rb
587
+ - lib/rubocop/cop/mixin/endless_method_rewriter.rb
580
588
  - lib/rubocop/cop/mixin/enforce_superclass.rb
581
589
  - lib/rubocop/cop/mixin/first_element_line_break.rb
582
590
  - lib/rubocop/cop/mixin/frozen_string_literal.rb
@@ -656,6 +664,7 @@ files:
656
664
  - lib/rubocop/cop/style/access_modifier_declarations.rb
657
665
  - lib/rubocop/cop/style/accessor_grouping.rb
658
666
  - lib/rubocop/cop/style/alias.rb
667
+ - lib/rubocop/cop/style/ambiguous_endless_method_definition.rb
659
668
  - lib/rubocop/cop/style/and_or.rb
660
669
  - lib/rubocop/cop/style/arguments_forwarding.rb
661
670
  - lib/rubocop/cop/style/array_coercion.rb
@@ -669,6 +678,7 @@ files:
669
678
  - lib/rubocop/cop/style/begin_block.rb
670
679
  - lib/rubocop/cop/style/bisected_attr_accessor.rb
671
680
  - lib/rubocop/cop/style/bisected_attr_accessor/macro.rb
681
+ - lib/rubocop/cop/style/bitwise_predicate.rb
672
682
  - lib/rubocop/cop/style/block_comments.rb
673
683
  - lib/rubocop/cop/style/block_delimiters.rb
674
684
  - lib/rubocop/cop/style/case_equality.rb
@@ -684,6 +694,7 @@ files:
684
694
  - lib/rubocop/cop/style/collection_methods.rb
685
695
  - lib/rubocop/cop/style/colon_method_call.rb
686
696
  - lib/rubocop/cop/style/colon_method_definition.rb
697
+ - lib/rubocop/cop/style/combinable_defined.rb
687
698
  - lib/rubocop/cop/style/combinable_loops.rb
688
699
  - lib/rubocop/cop/style/command_literal.rb
689
700
  - lib/rubocop/cop/style/comment_annotation.rb
@@ -696,6 +707,7 @@ files:
696
707
  - lib/rubocop/cop/style/data_inheritance.rb
697
708
  - lib/rubocop/cop/style/date_time.rb
698
709
  - lib/rubocop/cop/style/def_with_parentheses.rb
710
+ - lib/rubocop/cop/style/dig_chain.rb
699
711
  - lib/rubocop/cop/style/dir.rb
700
712
  - lib/rubocop/cop/style/dir_empty.rb
701
713
  - lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb
@@ -725,7 +737,9 @@ files:
725
737
  - lib/rubocop/cop/style/exponential_notation.rb
726
738
  - lib/rubocop/cop/style/fetch_env_var.rb
727
739
  - lib/rubocop/cop/style/file_empty.rb
740
+ - lib/rubocop/cop/style/file_null.rb
728
741
  - lib/rubocop/cop/style/file_read.rb
742
+ - lib/rubocop/cop/style/file_touch.rb
729
743
  - lib/rubocop/cop/style/file_write.rb
730
744
  - lib/rubocop/cop/style/float_division.rb
731
745
  - lib/rubocop/cop/style/for.rb
@@ -756,6 +770,7 @@ files:
756
770
  - lib/rubocop/cop/style/inverse_methods.rb
757
771
  - lib/rubocop/cop/style/invertible_unless_condition.rb
758
772
  - lib/rubocop/cop/style/ip_addresses.rb
773
+ - lib/rubocop/cop/style/keyword_arguments_merging.rb
759
774
  - lib/rubocop/cop/style/keyword_parameters_order.rb
760
775
  - lib/rubocop/cop/style/lambda.rb
761
776
  - lib/rubocop/cop/style/lambda_call.rb
@@ -865,6 +880,7 @@ files:
865
880
  - lib/rubocop/cop/style/return_nil.rb
866
881
  - lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb
867
882
  - lib/rubocop/cop/style/safe_navigation.rb
883
+ - lib/rubocop/cop/style/safe_navigation_chain_length.rb
868
884
  - lib/rubocop/cop/style/sample.rb
869
885
  - lib/rubocop/cop/style/select_by_regexp.rb
870
886
  - lib/rubocop/cop/style/self_assignment.rb
@@ -1019,12 +1035,12 @@ licenses:
1019
1035
  - MIT
1020
1036
  metadata:
1021
1037
  homepage_uri: https://rubocop.org/
1022
- changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.67.0
1038
+ changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.69.0
1023
1039
  source_code_uri: https://github.com/rubocop/rubocop/
1024
- documentation_uri: https://docs.rubocop.org/rubocop/1.67/
1040
+ documentation_uri: https://docs.rubocop.org/rubocop/1.69/
1025
1041
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues
1026
1042
  rubygems_mfa_required: 'true'
1027
- post_install_message:
1043
+ post_install_message:
1028
1044
  rdoc_options: []
1029
1045
  require_paths:
1030
1046
  - lib
@@ -1039,8 +1055,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1039
1055
  - !ruby/object:Gem::Version
1040
1056
  version: '0'
1041
1057
  requirements: []
1042
- rubygems_version: 3.3.7
1043
- signing_key:
1058
+ rubygems_version: 3.4.22
1059
+ signing_key:
1044
1060
  specification_version: 4
1045
1061
  summary: Automatic Ruby code style checking tool.
1046
1062
  test_files: []