rubocop 1.23.0 → 1.24.1
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 -2
- data/config/default.yml +46 -1
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +1 -1
- data/lib/rubocop/cli/command/init_dotfile.rb +1 -1
- data/lib/rubocop/cli/command/show_docs_url.rb +48 -0
- data/lib/rubocop/cli/command/suggest_extensions.rb +1 -1
- data/lib/rubocop/cli.rb +1 -0
- data/lib/rubocop/config_loader_resolver.rb +1 -1
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -1
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/if_then_corrector.rb +55 -0
- data/lib/rubocop/cop/documentation.rb +19 -2
- data/lib/rubocop/cop/gemspec/require_mfa.rb +8 -10
- data/lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb +47 -0
- data/lib/rubocop/cop/internal_affairs/undefined_config.rb +3 -1
- data/lib/rubocop/cop/internal_affairs.rb +1 -0
- data/lib/rubocop/cop/layout/comment_indentation.rb +31 -2
- data/lib/rubocop/cop/layout/dot_position.rb +4 -0
- data/lib/rubocop/cop/layout/hash_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_colon.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +4 -0
- data/lib/rubocop/cop/lint/constant_definition_in_block.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +16 -4
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +6 -0
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +4 -0
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +7 -4
- data/lib/rubocop/cop/metrics/block_length.rb +1 -0
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +0 -9
- data/lib/rubocop/cop/metrics/method_length.rb +1 -0
- data/lib/rubocop/cop/metrics/module_length.rb +1 -1
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -1
- data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +1 -1
- data/lib/rubocop/cop/mixin/enforce_superclass.rb +5 -0
- data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +4 -3
- data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +56 -0
- data/lib/rubocop/cop/naming/block_forwarding.rb +107 -0
- data/lib/rubocop/cop/security/open.rb +11 -1
- data/lib/rubocop/cop/style/character_literal.rb +8 -1
- data/lib/rubocop/cop/style/collection_compact.rb +31 -13
- data/lib/rubocop/cop/style/combinable_loops.rb +2 -2
- data/lib/rubocop/cop/style/empty_case_condition.rb +10 -0
- data/lib/rubocop/cop/style/file_read.rb +112 -0
- data/lib/rubocop/cop/style/file_write.rb +124 -0
- data/lib/rubocop/cop/style/hash_conversion.rb +2 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +22 -0
- data/lib/rubocop/cop/style/hash_transform_keys.rb +6 -6
- data/lib/rubocop/cop/style/hash_transform_values.rb +6 -6
- data/lib/rubocop/cop/style/if_inside_else.rb +15 -0
- data/lib/rubocop/cop/style/map_to_hash.rb +68 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +13 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +3 -1
- data/lib/rubocop/cop/style/method_def_parentheses.rb +17 -13
- data/lib/rubocop/cop/style/numeric_literals.rb +10 -1
- data/lib/rubocop/cop/style/one_line_conditional.rb +18 -39
- data/lib/rubocop/cop/style/redundant_interpolation.rb +17 -3
- data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +5 -1
- data/lib/rubocop/cop/style/redundant_self.rb +1 -1
- data/lib/rubocop/cop/style/safe_navigation.rb +1 -5
- data/lib/rubocop/cop/style/single_line_block_params.rb +2 -2
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +3 -1
- data/lib/rubocop/cop/team.rb +1 -1
- data/lib/rubocop/cop/util.rb +9 -1
- data/lib/rubocop/options.rb +6 -1
- data/lib/rubocop/remote_config.rb +1 -3
- data/lib/rubocop/result_cache.rb +1 -1
- data/lib/rubocop/version.rb +1 -1
- data/lib/rubocop.rb +7 -0
- metadata +13 -5
@@ -39,7 +39,7 @@ module RuboCop
|
|
39
39
|
return unless eligible_method?(node)
|
40
40
|
return unless eligible_arguments?(node)
|
41
41
|
|
42
|
-
method_name = node.
|
42
|
+
method_name = node.method_name
|
43
43
|
return if args_match?(method_name, node.arguments)
|
44
44
|
|
45
45
|
preferred_block_arguments = build_preferred_arguments_map(node, target_args(method_name))
|
@@ -81,7 +81,7 @@ module RuboCop
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def eligible_method?(node)
|
84
|
-
node.
|
84
|
+
node.receiver && method_names.include?(node.method_name)
|
85
85
|
end
|
86
86
|
|
87
87
|
def methods
|
@@ -82,7 +82,9 @@ module RuboCop
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def autocorrect(corrector, node, if_branch)
|
85
|
-
|
85
|
+
if node.condition.or_type? || node.condition.assignment?
|
86
|
+
corrector.wrap(node.condition, '(', ')')
|
87
|
+
end
|
86
88
|
|
87
89
|
correct_from_unless_to_if(corrector, node) if node.unless?
|
88
90
|
|
data/lib/rubocop/cop/team.rb
CHANGED
data/lib/rubocop/cop/util.rb
CHANGED
@@ -30,8 +30,15 @@ module RuboCop
|
|
30
30
|
node.loc.respond_to?(:end) && node.loc.end && node.loc.end.is?(')')
|
31
31
|
end
|
32
32
|
|
33
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
33
34
|
def add_parentheses(node, corrector)
|
34
|
-
if
|
35
|
+
if node.args_type?
|
36
|
+
arguments_range = node.source_range
|
37
|
+
args_with_space = range_with_surrounding_space(range: arguments_range, side: :left)
|
38
|
+
leading_space = range_between(args_with_space.begin_pos, arguments_range.begin_pos)
|
39
|
+
corrector.replace(leading_space, '(')
|
40
|
+
corrector.insert_after(arguments_range, ')')
|
41
|
+
elsif !node.respond_to?(:arguments)
|
35
42
|
corrector.wrap(node, '(', ')')
|
36
43
|
elsif node.arguments.empty?
|
37
44
|
corrector.insert_after(node, '()')
|
@@ -43,6 +50,7 @@ module RuboCop
|
|
43
50
|
corrector.insert_after(args_end(node), ')')
|
44
51
|
end
|
45
52
|
end
|
53
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
46
54
|
|
47
55
|
def args_begin(node)
|
48
56
|
loc = node.loc
|
data/lib/rubocop/options.rb
CHANGED
@@ -15,7 +15,7 @@ module RuboCop
|
|
15
15
|
'root of the project. RuboCop will use this path to determine which ' \
|
16
16
|
'cops are enabled (via eg. Include/Exclude), and so that certain cops ' \
|
17
17
|
'like Naming/FileName can be checked.'
|
18
|
-
EXITING_OPTIONS = %i[version verbose_version show_cops].freeze
|
18
|
+
EXITING_OPTIONS = %i[version verbose_version show_cops show_docs_url].freeze
|
19
19
|
DEFAULT_MAXIMUM_EXCLUSION_ITEMS = 15
|
20
20
|
|
21
21
|
def initialize
|
@@ -188,6 +188,9 @@ module RuboCop
|
|
188
188
|
option(opts, '--show-cops [COP1,COP2,...]') do |list|
|
189
189
|
@options[:show_cops] = list.nil? ? [] : list.split(',')
|
190
190
|
end
|
191
|
+
option(opts, '--show-docs-url [COP1,COP2,...]') do |list|
|
192
|
+
@options[:show_docs_url] = list.nil? ? [] : list.split(',')
|
193
|
+
end
|
191
194
|
end
|
192
195
|
end
|
193
196
|
|
@@ -475,6 +478,8 @@ module RuboCop
|
|
475
478
|
show_cops: ['Shows the given cops, or all cops by',
|
476
479
|
'default, and their configurations for the',
|
477
480
|
'current directory.'],
|
481
|
+
show_docs_url: ['Display url to documentation for the given',
|
482
|
+
'cops, or base url by default.'],
|
478
483
|
fail_fast: ['Inspect files in order of modification',
|
479
484
|
'time and stop after the first file',
|
480
485
|
'containing offenses.'],
|
data/lib/rubocop/result_cache.rb
CHANGED
@@ -179,7 +179,7 @@ module RuboCop
|
|
179
179
|
.select { |path| File.file?(path) }
|
180
180
|
.sort!
|
181
181
|
.each do |path|
|
182
|
-
content = File.
|
182
|
+
content = File.binread(path)
|
183
183
|
digest << Zlib.crc32(content).to_s # mtime not reliable
|
184
184
|
end
|
185
185
|
digest << RuboCop::Version::STRING << RuboCop::AST::Version::STRING
|
data/lib/rubocop/version.rb
CHANGED
data/lib/rubocop.rb
CHANGED
@@ -94,6 +94,7 @@ require_relative 'rubocop/cop/mixin/line_length_help'
|
|
94
94
|
require_relative 'rubocop/cop/mixin/match_range'
|
95
95
|
require_relative 'rubocop/cop/metrics/utils/repeated_csend_discount'
|
96
96
|
require_relative 'rubocop/cop/metrics/utils/repeated_attribute_discount'
|
97
|
+
require_relative 'rubocop/cop/mixin/hash_shorthand_syntax'
|
97
98
|
require_relative 'rubocop/cop/mixin/method_complexity'
|
98
99
|
require_relative 'rubocop/cop/mixin/method_preference'
|
99
100
|
require_relative 'rubocop/cop/mixin/min_body_length'
|
@@ -139,6 +140,7 @@ require_relative 'rubocop/cop/correctors/condition_corrector'
|
|
139
140
|
require_relative 'rubocop/cop/correctors/each_to_for_corrector'
|
140
141
|
require_relative 'rubocop/cop/correctors/empty_line_corrector'
|
141
142
|
require_relative 'rubocop/cop/correctors/for_to_each_corrector'
|
143
|
+
require_relative 'rubocop/cop/correctors/if_then_corrector'
|
142
144
|
require_relative 'rubocop/cop/correctors/lambda_literal_to_method_corrector'
|
143
145
|
require_relative 'rubocop/cop/correctors/line_break_corrector'
|
144
146
|
require_relative 'rubocop/cop/correctors/multiline_literal_brace_corrector'
|
@@ -405,6 +407,7 @@ require_relative 'rubocop/cop/metrics/perceived_complexity'
|
|
405
407
|
|
406
408
|
require_relative 'rubocop/cop/naming/accessor_method_name'
|
407
409
|
require_relative 'rubocop/cop/naming/ascii_identifiers'
|
410
|
+
require_relative 'rubocop/cop/naming/block_forwarding'
|
408
411
|
require_relative 'rubocop/cop/naming/block_parameter_name'
|
409
412
|
require_relative 'rubocop/cop/naming/class_and_module_camel_case'
|
410
413
|
require_relative 'rubocop/cop/naming/constant_name'
|
@@ -481,6 +484,8 @@ require_relative 'rubocop/cop/style/even_odd'
|
|
481
484
|
require_relative 'rubocop/cop/style/expand_path_arguments'
|
482
485
|
require_relative 'rubocop/cop/style/explicit_block_argument'
|
483
486
|
require_relative 'rubocop/cop/style/exponential_notation'
|
487
|
+
require_relative 'rubocop/cop/style/file_read'
|
488
|
+
require_relative 'rubocop/cop/style/file_write'
|
484
489
|
require_relative 'rubocop/cop/style/float_division'
|
485
490
|
require_relative 'rubocop/cop/style/for'
|
486
491
|
require_relative 'rubocop/cop/style/format_string'
|
@@ -513,6 +518,7 @@ require_relative 'rubocop/cop/style/keyword_parameters_order'
|
|
513
518
|
require_relative 'rubocop/cop/style/lambda'
|
514
519
|
require_relative 'rubocop/cop/style/lambda_call'
|
515
520
|
require_relative 'rubocop/cop/style/line_end_concatenation'
|
521
|
+
require_relative 'rubocop/cop/style/map_to_hash'
|
516
522
|
require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
|
517
523
|
require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
|
518
524
|
require_relative 'rubocop/cop/style/multiline_in_pattern_then'
|
@@ -705,6 +711,7 @@ require_relative 'rubocop/cli/command/auto_genenerate_config'
|
|
705
711
|
require_relative 'rubocop/cli/command/execute_runner'
|
706
712
|
require_relative 'rubocop/cli/command/init_dotfile'
|
707
713
|
require_relative 'rubocop/cli/command/show_cops'
|
714
|
+
require_relative 'rubocop/cli/command/show_docs_url'
|
708
715
|
require_relative 'rubocop/cli/command/suggest_extensions'
|
709
716
|
require_relative 'rubocop/cli/command/version'
|
710
717
|
require_relative 'rubocop/config_regeneration'
|
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.24.1
|
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: 2021-
|
13
|
+
date: 2021-12-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parallel
|
@@ -100,7 +100,7 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
103
|
+
version: 1.15.1
|
104
104
|
- - "<"
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: '2.0'
|
@@ -110,7 +110,7 @@ dependencies:
|
|
110
110
|
requirements:
|
111
111
|
- - ">="
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version: 1.
|
113
|
+
version: 1.15.1
|
114
114
|
- - "<"
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '2.0'
|
@@ -196,6 +196,7 @@ files:
|
|
196
196
|
- lib/rubocop/cli/command/execute_runner.rb
|
197
197
|
- lib/rubocop/cli/command/init_dotfile.rb
|
198
198
|
- lib/rubocop/cli/command/show_cops.rb
|
199
|
+
- lib/rubocop/cli/command/show_docs_url.rb
|
199
200
|
- lib/rubocop/cli/command/suggest_extensions.rb
|
200
201
|
- lib/rubocop/cli/command/version.rb
|
201
202
|
- lib/rubocop/cli/environment.rb
|
@@ -233,6 +234,7 @@ files:
|
|
233
234
|
- lib/rubocop/cop/correctors/each_to_for_corrector.rb
|
234
235
|
- lib/rubocop/cop/correctors/empty_line_corrector.rb
|
235
236
|
- lib/rubocop/cop/correctors/for_to_each_corrector.rb
|
237
|
+
- lib/rubocop/cop/correctors/if_then_corrector.rb
|
236
238
|
- lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb
|
237
239
|
- lib/rubocop/cop/correctors/line_break_corrector.rb
|
238
240
|
- lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb
|
@@ -271,6 +273,7 @@ files:
|
|
271
273
|
- lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb
|
272
274
|
- lib/rubocop/cop/internal_affairs/redundant_location_argument.rb
|
273
275
|
- lib/rubocop/cop/internal_affairs/redundant_message_argument.rb
|
276
|
+
- lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb
|
274
277
|
- lib/rubocop/cop/internal_affairs/style_detected_api_use.rb
|
275
278
|
- lib/rubocop/cop/internal_affairs/undefined_config.rb
|
276
279
|
- lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
|
@@ -542,6 +545,7 @@ files:
|
|
542
545
|
- lib/rubocop/cop/mixin/gem_declaration.rb
|
543
546
|
- lib/rubocop/cop/mixin/gemspec_help.rb
|
544
547
|
- lib/rubocop/cop/mixin/hash_alignment_styles.rb
|
548
|
+
- lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
|
545
549
|
- lib/rubocop/cop/mixin/hash_transform_method.rb
|
546
550
|
- lib/rubocop/cop/mixin/heredoc.rb
|
547
551
|
- lib/rubocop/cop/mixin/ignored_methods.rb
|
@@ -587,6 +591,7 @@ files:
|
|
587
591
|
- lib/rubocop/cop/naming/accessor_method_name.rb
|
588
592
|
- lib/rubocop/cop/naming/ascii_identifiers.rb
|
589
593
|
- lib/rubocop/cop/naming/binary_operator_parameter_name.rb
|
594
|
+
- lib/rubocop/cop/naming/block_forwarding.rb
|
590
595
|
- lib/rubocop/cop/naming/block_parameter_name.rb
|
591
596
|
- lib/rubocop/cop/naming/class_and_module_camel_case.rb
|
592
597
|
- lib/rubocop/cop/naming/constant_name.rb
|
@@ -671,6 +676,8 @@ files:
|
|
671
676
|
- lib/rubocop/cop/style/expand_path_arguments.rb
|
672
677
|
- lib/rubocop/cop/style/explicit_block_argument.rb
|
673
678
|
- lib/rubocop/cop/style/exponential_notation.rb
|
679
|
+
- lib/rubocop/cop/style/file_read.rb
|
680
|
+
- lib/rubocop/cop/style/file_write.rb
|
674
681
|
- lib/rubocop/cop/style/float_division.rb
|
675
682
|
- lib/rubocop/cop/style/for.rb
|
676
683
|
- lib/rubocop/cop/style/format_string.rb
|
@@ -703,6 +710,7 @@ files:
|
|
703
710
|
- lib/rubocop/cop/style/lambda.rb
|
704
711
|
- lib/rubocop/cop/style/lambda_call.rb
|
705
712
|
- lib/rubocop/cop/style/line_end_concatenation.rb
|
713
|
+
- lib/rubocop/cop/style/map_to_hash.rb
|
706
714
|
- lib/rubocop/cop/style/method_call_with_args_parentheses.rb
|
707
715
|
- lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
|
708
716
|
- lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb
|
@@ -903,7 +911,7 @@ metadata:
|
|
903
911
|
homepage_uri: https://rubocop.org/
|
904
912
|
changelog_uri: https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md
|
905
913
|
source_code_uri: https://github.com/rubocop/rubocop/
|
906
|
-
documentation_uri: https://docs.rubocop.org/rubocop/1.
|
914
|
+
documentation_uri: https://docs.rubocop.org/rubocop/1.24/
|
907
915
|
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
|
908
916
|
rubygems_mfa_required: 'true'
|
909
917
|
post_install_message:
|