rubocop 1.30.0 → 1.31.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/config/default.yml +41 -8
  4. data/config/obsoletion.yml +2 -0
  5. data/exe/rubocop +15 -7
  6. data/lib/rubocop/cli/command/auto_genenerate_config.rb +1 -1
  7. data/lib/rubocop/cli/command/suggest_extensions.rb +3 -3
  8. data/lib/rubocop/config.rb +4 -0
  9. data/lib/rubocop/config_loader.rb +1 -0
  10. data/lib/rubocop/config_validator.rb +9 -5
  11. data/lib/rubocop/cop/base.rb +4 -0
  12. data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -1
  13. data/lib/rubocop/cop/bundler/gem_filename.rb +4 -4
  14. data/lib/rubocop/cop/bundler/ordered_gems.rb +2 -2
  15. data/lib/rubocop/cop/corrector.rb +2 -2
  16. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +3 -3
  17. data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +1 -1
  18. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +31 -16
  19. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -1
  20. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
  21. data/lib/rubocop/cop/gemspec/require_mfa.rb +20 -20
  22. data/lib/rubocop/cop/generator.rb +1 -1
  23. data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +1 -5
  24. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
  25. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
  26. data/lib/rubocop/cop/layout/argument_alignment.rb +1 -1
  27. data/lib/rubocop/cop/layout/empty_comment.rb +1 -1
  28. data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +25 -4
  29. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +4 -4
  30. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +9 -9
  31. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +9 -9
  32. data/lib/rubocop/cop/layout/first_argument_indentation.rb +27 -27
  33. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +17 -11
  34. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +49 -10
  35. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -1
  36. data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +68 -0
  37. data/lib/rubocop/cop/layout/line_continuation_spacing.rb +130 -0
  38. data/lib/rubocop/cop/layout/multiline_block_layout.rb +1 -1
  39. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +2 -2
  40. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +2 -2
  41. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +1 -1
  42. data/lib/rubocop/cop/layout/space_around_operators.rb +1 -1
  43. data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -1
  44. data/lib/rubocop/cop/layout/space_before_first_arg.rb +1 -1
  45. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +10 -10
  46. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -3
  47. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +7 -7
  48. data/lib/rubocop/cop/layout/trailing_whitespace.rb +1 -1
  49. data/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +51 -0
  50. data/lib/rubocop/cop/lint/interpolation_check.rb +1 -1
  51. data/lib/rubocop/cop/lint/literal_as_condition.rb +5 -0
  52. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +122 -0
  53. data/lib/rubocop/cop/lint/number_conversion.rb +3 -3
  54. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  55. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +5 -5
  56. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +1 -1
  57. data/lib/rubocop/cop/lint/redundant_require_statement.rb +1 -1
  58. data/lib/rubocop/cop/lint/regexp_as_condition.rb +2 -2
  59. data/lib/rubocop/cop/lint/struct_new_override.rb +2 -2
  60. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -1
  61. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +44 -0
  62. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -1
  63. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +41 -12
  64. data/lib/rubocop/cop/mixin/range_help.rb +7 -3
  65. data/lib/rubocop/cop/naming/accessor_method_name.rb +3 -1
  66. data/lib/rubocop/cop/naming/variable_number.rb +17 -17
  67. data/lib/rubocop/cop/style/accessor_grouping.rb +1 -1
  68. data/lib/rubocop/cop/style/and_or.rb +8 -8
  69. data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -1
  70. data/lib/rubocop/cop/style/block_delimiters.rb +4 -2
  71. data/lib/rubocop/cop/style/commented_keyword.rb +1 -1
  72. data/lib/rubocop/cop/style/conditional_assignment.rb +1 -0
  73. data/lib/rubocop/cop/style/empty_else.rb +10 -10
  74. data/lib/rubocop/cop/style/empty_method.rb +16 -1
  75. data/lib/rubocop/cop/style/encoding.rb +1 -1
  76. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -1
  77. data/lib/rubocop/cop/style/fetch_env_var.rb +9 -2
  78. data/lib/rubocop/cop/style/format_string_token.rb +48 -17
  79. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +1 -1
  80. data/lib/rubocop/cop/style/guard_clause.rb +8 -6
  81. data/lib/rubocop/cop/style/hash_as_last_array_item.rb +1 -1
  82. data/lib/rubocop/cop/style/hash_except.rb +88 -8
  83. data/lib/rubocop/cop/style/hash_syntax.rb +2 -2
  84. data/lib/rubocop/cop/style/implicit_runtime_error.rb +2 -2
  85. data/lib/rubocop/cop/style/keyword_parameters_order.rb +1 -1
  86. data/lib/rubocop/cop/style/line_end_concatenation.rb +1 -1
  87. data/lib/rubocop/cop/style/map_to_hash.rb +1 -1
  88. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +2 -2
  89. data/lib/rubocop/cop/style/missing_else.rb +24 -24
  90. data/lib/rubocop/cop/style/multiline_if_modifier.rb +2 -2
  91. data/lib/rubocop/cop/style/multiline_if_then.rb +1 -1
  92. data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +1 -3
  93. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
  94. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
  95. data/lib/rubocop/cop/style/multiline_when_then.rb +1 -3
  96. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +1 -1
  97. data/lib/rubocop/cop/style/nested_ternary_operator.rb +19 -7
  98. data/lib/rubocop/cop/style/nil_lambda.rb +1 -1
  99. data/lib/rubocop/cop/style/not.rb +1 -1
  100. data/lib/rubocop/cop/style/redundant_argument.rb +1 -1
  101. data/lib/rubocop/cop/style/redundant_return.rb +1 -1
  102. data/lib/rubocop/cop/style/redundant_self_assignment.rb +1 -1
  103. data/lib/rubocop/cop/style/rescue_standard_error.rb +10 -10
  104. data/lib/rubocop/cop/style/safe_navigation.rb +3 -0
  105. data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -2
  106. data/lib/rubocop/cop/style/string_concatenation.rb +5 -6
  107. data/lib/rubocop/cop/style/struct_inheritance.rb +2 -2
  108. data/lib/rubocop/cop/style/swap_values.rb +1 -1
  109. data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
  110. data/lib/rubocop/cop/style/unpack_first.rb +1 -1
  111. data/lib/rubocop/cop/util.rb +1 -1
  112. data/lib/rubocop/cops_documentation_generator.rb +18 -1
  113. data/lib/rubocop/formatter/disabled_config_formatter.rb +8 -5
  114. data/lib/rubocop/formatter/formatter_set.rb +20 -19
  115. data/lib/rubocop/formatter/git_hub_actions_formatter.rb +15 -2
  116. data/lib/rubocop/formatter/html_formatter.rb +0 -1
  117. data/lib/rubocop/formatter/offense_count_formatter.rb +2 -0
  118. data/lib/rubocop/formatter/simple_text_formatter.rb +6 -7
  119. data/lib/rubocop/formatter.rb +31 -0
  120. data/lib/rubocop/options.rb +25 -2
  121. data/lib/rubocop/rake_task.rb +30 -9
  122. data/lib/rubocop/runner.rb +2 -2
  123. data/lib/rubocop/server/cache.rb +109 -0
  124. data/lib/rubocop/server/cli.rb +104 -0
  125. data/lib/rubocop/server/client_command/base.rb +44 -0
  126. data/lib/rubocop/server/client_command/exec.rb +59 -0
  127. data/lib/rubocop/server/client_command/restart.rb +25 -0
  128. data/lib/rubocop/server/client_command/start.rb +43 -0
  129. data/lib/rubocop/server/client_command/status.rb +28 -0
  130. data/lib/rubocop/server/client_command/stop.rb +31 -0
  131. data/lib/rubocop/server/client_command.rb +26 -0
  132. data/lib/rubocop/server/core.rb +79 -0
  133. data/lib/rubocop/server/errors.rb +23 -0
  134. data/lib/rubocop/server/helper.rb +34 -0
  135. data/lib/rubocop/server/server_command/base.rb +50 -0
  136. data/lib/rubocop/server/server_command/exec.rb +34 -0
  137. data/lib/rubocop/server/server_command/stop.rb +24 -0
  138. data/lib/rubocop/server/server_command.rb +21 -0
  139. data/lib/rubocop/server/socket_reader.rb +65 -0
  140. data/lib/rubocop/server.rb +53 -0
  141. data/lib/rubocop/version.rb +15 -8
  142. data/lib/rubocop.rb +7 -26
  143. metadata +42 -5
  144. data/lib/rubocop/cop/gemspec/date_assignment.rb +0 -49
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- module Cop
5
- module Gemspec
6
- # Checks that `date =` is not used in gemspec file.
7
- # It is set automatically when the gem is packaged.
8
- #
9
- # @example
10
- #
11
- # # bad
12
- # Gem::Specification.new do |spec|
13
- # spec.name = 'your_cool_gem_name'
14
- # spec.date = Time.now.strftime('%Y-%m-%d')
15
- # end
16
- #
17
- # # good
18
- # Gem::Specification.new do |spec|
19
- # spec.name = 'your_cool_gem_name'
20
- # end
21
- #
22
- class DateAssignment < Base
23
- include RangeHelp
24
- include GemspecHelp
25
- extend AutoCorrector
26
-
27
- MSG = 'Do not use `date =` in gemspec, it is set automatically when the gem is packaged.'
28
-
29
- def on_block(block_node)
30
- return unless gem_specification?(block_node)
31
-
32
- block_parameter = block_node.arguments.first.source
33
-
34
- date_assignment = block_node.descendants.detect do |node|
35
- node.send_type? && node.receiver&.source == block_parameter && node.method?(:date=)
36
- end
37
-
38
- return unless date_assignment
39
-
40
- add_offense(date_assignment) do |corrector|
41
- range = range_by_whole_lines(date_assignment.source_range, include_final_newline: true)
42
-
43
- corrector.remove(range)
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end