rubocop 1.63.0 → 1.64.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/config/default.yml +18 -3
- data/lib/rubocop/cached_data.rb +11 -3
- data/lib/rubocop/cli/command/show_docs_url.rb +2 -2
- data/lib/rubocop/cli.rb +4 -0
- data/lib/rubocop/config.rb +2 -3
- data/lib/rubocop/cop/base.rb +9 -14
- data/lib/rubocop/cop/bundler/gem_version.rb +3 -5
- data/lib/rubocop/cop/documentation.rb +16 -6
- data/lib/rubocop/cop/gemspec/dependency_version.rb +3 -5
- data/lib/rubocop/cop/internal_affairs/example_description.rb +1 -1
- data/lib/rubocop/cop/layout/comment_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/empty_comment.rb +3 -1
- data/lib/rubocop/cop/layout/first_array_element_indentation.rb +2 -0
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +3 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +1 -1
- data/lib/rubocop/cop/lint/mixed_case_range.rb +9 -4
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_code.rb +4 -2
- data/lib/rubocop/cop/lint/unreachable_loop.rb +8 -2
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +5 -5
- data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +9 -2
- data/lib/rubocop/cop/security/compound_hash.rb +2 -2
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +50 -0
- data/lib/rubocop/cop/style/arguments_forwarding.rb +5 -2
- data/lib/rubocop/cop/style/conditional_assignment.rb +1 -1
- data/lib/rubocop/cop/style/copyright.rb +10 -8
- data/lib/rubocop/cop/style/documentation_method.rb +20 -0
- data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +18 -0
- data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +5 -3
- data/lib/rubocop/cop/style/map_into_array.rb +3 -3
- data/lib/rubocop/cop/style/numeric_predicate.rb +10 -2
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
- data/lib/rubocop/cop/style/redundant_line_continuation.rb +3 -1
- data/lib/rubocop/cop/style/require_order.rb +1 -1
- data/lib/rubocop/cop/style/send.rb +4 -4
- data/lib/rubocop/cop/style/send_with_literal_method_name.rb +83 -0
- data/lib/rubocop/cop/style/special_global_vars.rb +1 -2
- data/lib/rubocop/cop/style/super_arguments.rb +137 -0
- data/lib/rubocop/cop/style/symbol_proc.rb +32 -5
- data/lib/rubocop/cop/style/top_level_method_definition.rb +1 -1
- data/lib/rubocop/formatter/disabled_config_formatter.rb +13 -9
- data/lib/rubocop/formatter/formatter_set.rb +7 -1
- data/lib/rubocop/lockfile.rb +25 -6
- data/lib/rubocop/lsp/routes.rb +9 -12
- data/lib/rubocop/lsp/server.rb +2 -0
- data/lib/rubocop/lsp.rb +9 -2
- data/lib/rubocop/options.rb +3 -3
- data/lib/rubocop/rake_task.rb +1 -1
- data/lib/rubocop/runner.rb +5 -4
- data/lib/rubocop/version.rb +4 -4
- data/lib/rubocop.rb +2 -0
- metadata +6 -4
data/lib/rubocop/lsp/routes.rb
CHANGED
@@ -45,10 +45,6 @@ module RuboCop
|
|
45
45
|
result: LanguageServer::Protocol::Interface::InitializeResult.new(
|
46
46
|
capabilities: LanguageServer::Protocol::Interface::ServerCapabilities.new(
|
47
47
|
document_formatting_provider: true,
|
48
|
-
diagnostic_provider: LanguageServer::Protocol::Interface::DiagnosticOptions.new(
|
49
|
-
inter_file_dependencies: false,
|
50
|
-
workspace_diagnostics: false
|
51
|
-
),
|
52
48
|
text_document_sync: LanguageServer::Protocol::Interface::TextDocumentSyncOptions.new(
|
53
49
|
change: LanguageServer::Protocol::Constant::TextDocumentSyncKind::FULL,
|
54
50
|
open_close: true
|
@@ -60,8 +56,9 @@ module RuboCop
|
|
60
56
|
|
61
57
|
handle 'initialized' do |_request|
|
62
58
|
version = RuboCop::Version::STRING
|
59
|
+
yjit = Object.const_defined?('RubyVM::YJIT') && RubyVM::YJIT.enabled? ? ' +YJIT' : ''
|
63
60
|
|
64
|
-
Logger.log("RuboCop #{version} language server initialized, PID #{Process.pid}")
|
61
|
+
Logger.log("RuboCop #{version} language server#{yjit} initialized, PID #{Process.pid}")
|
65
62
|
end
|
66
63
|
|
67
64
|
handle 'shutdown' do |request|
|
@@ -72,12 +69,6 @@ module RuboCop
|
|
72
69
|
end
|
73
70
|
end
|
74
71
|
|
75
|
-
handle 'textDocument/diagnostic' do |request|
|
76
|
-
doc = request[:params][:textDocument]
|
77
|
-
result = diagnostic(doc[:uri], doc[:text])
|
78
|
-
@server.write(result)
|
79
|
-
end
|
80
|
-
|
81
72
|
handle 'textDocument/didChange' do |request|
|
82
73
|
params = request[:params]
|
83
74
|
result = diagnostic(params[:textDocument][:uri], params[:contentChanges][0][:text])
|
@@ -126,6 +117,12 @@ module RuboCop
|
|
126
117
|
end
|
127
118
|
|
128
119
|
uri = request[:params][:arguments][0][:uri]
|
120
|
+
formatted = nil
|
121
|
+
|
122
|
+
# The `workspace/executeCommand` is an LSP method triggered by intentional user actions,
|
123
|
+
# so the user's intention for autocorrection is respected.
|
124
|
+
LSP.disable { formatted = format_file(uri, command: command) }
|
125
|
+
|
129
126
|
@server.write(
|
130
127
|
id: request[:id],
|
131
128
|
method: 'workspace/applyEdit',
|
@@ -133,7 +130,7 @@ module RuboCop
|
|
133
130
|
label: label,
|
134
131
|
edit: {
|
135
132
|
changes: {
|
136
|
-
uri =>
|
133
|
+
uri => formatted
|
137
134
|
}
|
138
135
|
}
|
139
136
|
}
|
data/lib/rubocop/lsp/server.rb
CHANGED
data/lib/rubocop/lsp.rb
CHANGED
@@ -22,8 +22,15 @@ module RuboCop
|
|
22
22
|
# Disable LSP.
|
23
23
|
#
|
24
24
|
# @return [void]
|
25
|
-
def disable
|
26
|
-
|
25
|
+
def disable(&block)
|
26
|
+
if block
|
27
|
+
original = @enabled
|
28
|
+
@enabled = false
|
29
|
+
yield
|
30
|
+
@enabled = original
|
31
|
+
else
|
32
|
+
@enabled = false
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
29
36
|
end
|
data/lib/rubocop/options.rb
CHANGED
@@ -573,7 +573,7 @@ module RuboCop
|
|
573
573
|
'cops. Only valid for --format junit.'],
|
574
574
|
display_only_fail_level_offenses:
|
575
575
|
['Only output offense messages at',
|
576
|
-
'the specified --fail-level or above'],
|
576
|
+
'the specified --fail-level or above.'],
|
577
577
|
display_only_correctable: ['Only output correctable offense messages.'],
|
578
578
|
display_only_safe_correctable: ['Only output safe-correctable offense messages',
|
579
579
|
'when combined with --display-only-correctable.'],
|
@@ -636,8 +636,8 @@ module RuboCop
|
|
636
636
|
raise_cop_error: ['Raise cop-related errors with cause and location.',
|
637
637
|
'This is used to prevent cops from failing silently.',
|
638
638
|
'Default is false.'],
|
639
|
-
profile: 'Profile rubocop',
|
640
|
-
memory: 'Profile rubocop memory usage'
|
639
|
+
profile: 'Profile rubocop.',
|
640
|
+
memory: 'Profile rubocop memory usage.'
|
641
641
|
}.freeze
|
642
642
|
end
|
643
643
|
# rubocop:enable Metrics/ModuleLength
|
data/lib/rubocop/rake_task.rb
CHANGED
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
def run_cli(verbose, options)
|
45
45
|
# We lazy-load RuboCop so that the task doesn't dramatically impact the
|
46
46
|
# load time of your Rakefile.
|
47
|
-
|
47
|
+
require_relative '../rubocop'
|
48
48
|
|
49
49
|
cli = CLI.new
|
50
50
|
puts 'Running RuboCop...' if verbose
|
data/lib/rubocop/runner.rb
CHANGED
@@ -20,10 +20,11 @@ module RuboCop
|
|
20
20
|
message = 'Infinite loop detected'
|
21
21
|
message += " in #{path}" if path
|
22
22
|
message += " and caused by #{root_cause}" if root_cause
|
23
|
-
message +=
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
message += "\n"
|
24
|
+
hint = 'Hint: Please update to the latest RuboCop version if not already in use, ' \
|
25
|
+
"and report a bug if the issue still occurs on this version.\n" \
|
26
|
+
'Please check the latest version at https://rubygems.org/gems/rubocop.'
|
27
|
+
super(Rainbow(message).red + Rainbow(hint).yellow)
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
data/lib/rubocop/version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# This module holds the RuboCop version information.
|
5
5
|
module Version
|
6
|
-
STRING = '1.
|
6
|
+
STRING = '1.64.0'
|
7
7
|
|
8
8
|
MSG = '%<version>s (using %<parser_version>s, ' \
|
9
9
|
'rubocop-ast %<rubocop_ast_version>s, ' \
|
@@ -42,9 +42,9 @@ module RuboCop
|
|
42
42
|
# @api private
|
43
43
|
def self.parser_version
|
44
44
|
config_path = ConfigFinder.find_config_path(Dir.pwd)
|
45
|
-
yaml =
|
46
|
-
|
47
|
-
|
45
|
+
yaml = Util.silence_warnings do
|
46
|
+
ConfigLoader.load_yaml_configuration(config_path)
|
47
|
+
end
|
48
48
|
|
49
49
|
if yaml.dig('AllCops', 'ParserEngine') == 'parser_prism'
|
50
50
|
require 'prism'
|
data/lib/rubocop.rb
CHANGED
@@ -666,6 +666,7 @@ require_relative 'rubocop/cop/style/select_by_regexp'
|
|
666
666
|
require_relative 'rubocop/cop/style/self_assignment'
|
667
667
|
require_relative 'rubocop/cop/style/semicolon'
|
668
668
|
require_relative 'rubocop/cop/style/send'
|
669
|
+
require_relative 'rubocop/cop/style/send_with_literal_method_name'
|
669
670
|
require_relative 'rubocop/cop/style/signal_exception'
|
670
671
|
require_relative 'rubocop/cop/style/single_argument_dig'
|
671
672
|
require_relative 'rubocop/cop/style/single_line_block_params'
|
@@ -682,6 +683,7 @@ require_relative 'rubocop/cop/style/string_literals_in_interpolation'
|
|
682
683
|
require_relative 'rubocop/cop/style/string_methods'
|
683
684
|
require_relative 'rubocop/cop/style/strip'
|
684
685
|
require_relative 'rubocop/cop/style/struct_inheritance'
|
686
|
+
require_relative 'rubocop/cop/style/super_arguments'
|
685
687
|
require_relative 'rubocop/cop/style/super_with_args_parentheses'
|
686
688
|
require_relative 'rubocop/cop/style/swap_values'
|
687
689
|
require_relative 'rubocop/cop/style/symbol_array'
|
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.
|
4
|
+
version: 1.64.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-05-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
@@ -885,6 +885,7 @@ files:
|
|
885
885
|
- lib/rubocop/cop/style/self_assignment.rb
|
886
886
|
- lib/rubocop/cop/style/semicolon.rb
|
887
887
|
- lib/rubocop/cop/style/send.rb
|
888
|
+
- lib/rubocop/cop/style/send_with_literal_method_name.rb
|
888
889
|
- lib/rubocop/cop/style/signal_exception.rb
|
889
890
|
- lib/rubocop/cop/style/single_argument_dig.rb
|
890
891
|
- lib/rubocop/cop/style/single_line_block_params.rb
|
@@ -904,6 +905,7 @@ files:
|
|
904
905
|
- lib/rubocop/cop/style/string_methods.rb
|
905
906
|
- lib/rubocop/cop/style/strip.rb
|
906
907
|
- lib/rubocop/cop/style/struct_inheritance.rb
|
908
|
+
- lib/rubocop/cop/style/super_arguments.rb
|
907
909
|
- lib/rubocop/cop/style/super_with_args_parentheses.rb
|
908
910
|
- lib/rubocop/cop/style/swap_values.rb
|
909
911
|
- lib/rubocop/cop/style/symbol_array.rb
|
@@ -1032,9 +1034,9 @@ licenses:
|
|
1032
1034
|
- MIT
|
1033
1035
|
metadata:
|
1034
1036
|
homepage_uri: https://rubocop.org/
|
1035
|
-
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.
|
1037
|
+
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.64.0
|
1036
1038
|
source_code_uri: https://github.com/rubocop/rubocop/
|
1037
|
-
documentation_uri: https://docs.rubocop.org/rubocop/1.
|
1039
|
+
documentation_uri: https://docs.rubocop.org/rubocop/1.64/
|
1038
1040
|
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
|
1039
1041
|
rubygems_mfa_required: 'true'
|
1040
1042
|
post_install_message:
|