rubocop 0.73.0 → 0.77.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 +3 -2
- data/bin/console +1 -0
- data/config/default.yml +332 -295
- data/lib/rubocop.rb +46 -30
- data/lib/rubocop/ast/builder.rb +1 -0
- data/lib/rubocop/ast/node.rb +6 -8
- data/lib/rubocop/ast/node/block_node.rb +2 -0
- data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +1 -12
- data/lib/rubocop/ast/node/return_node.rb +24 -0
- data/lib/rubocop/cli.rb +11 -227
- data/lib/rubocop/cli/command.rb +21 -0
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +105 -0
- data/lib/rubocop/cli/command/base.rb +33 -0
- data/lib/rubocop/cli/command/execute_runner.rb +76 -0
- data/lib/rubocop/cli/command/init_dotfile.rb +45 -0
- data/lib/rubocop/cli/command/show_cops.rb +73 -0
- data/lib/rubocop/cli/command/version.rb +17 -0
- data/lib/rubocop/cli/environment.rb +21 -0
- data/lib/rubocop/comment_config.rb +5 -4
- data/lib/rubocop/config.rb +28 -537
- data/lib/rubocop/config_loader.rb +21 -3
- data/lib/rubocop/config_loader_resolver.rb +4 -3
- data/lib/rubocop/config_obsoletion.rb +275 -0
- data/lib/rubocop/config_validator.rb +246 -0
- data/lib/rubocop/cop/autocorrect_logic.rb +2 -2
- data/lib/rubocop/cop/bundler/gem_comment.rb +4 -4
- data/lib/rubocop/cop/commissioner.rb +15 -7
- data/lib/rubocop/cop/cop.rb +33 -9
- data/lib/rubocop/cop/corrector.rb +8 -7
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +43 -17
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/space_corrector.rb +1 -2
- data/lib/rubocop/cop/generator.rb +3 -3
- data/lib/rubocop/cop/generator/configuration_injector.rb +9 -4
- data/lib/rubocop/cop/generator/require_file_injector.rb +1 -1
- data/lib/rubocop/cop/internal_affairs.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +59 -0
- data/lib/rubocop/cop/layout/{align_arguments.rb → argument_alignment.rb} +1 -1
- data/lib/rubocop/cop/layout/{align_array.rb → array_alignment.rb} +1 -1
- data/lib/rubocop/cop/layout/{indent_assignment.rb → assignment_indentation.rb} +11 -2
- data/lib/rubocop/cop/layout/block_alignment.rb +2 -2
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/comment_indentation.rb +10 -13
- data/lib/rubocop/cop/layout/empty_comment.rb +7 -16
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -7
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +2 -2
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -2
- data/lib/rubocop/cop/layout/end_of_line.rb +8 -3
- data/lib/rubocop/cop/layout/extra_spacing.rb +15 -60
- data/lib/rubocop/cop/layout/{indent_first_argument.rb → first_argument_indentation.rb} +12 -10
- data/lib/rubocop/cop/layout/{indent_first_array_element.rb → first_array_element_indentation.rb} +4 -4
- data/lib/rubocop/cop/layout/{indent_first_hash_element.rb → first_hash_element_indentation.rb} +4 -4
- data/lib/rubocop/cop/layout/{indent_first_parameter.rb → first_parameter_indentation.rb} +3 -3
- data/lib/rubocop/cop/layout/{align_hash.rb → hash_alignment.rb} +8 -4
- data/lib/rubocop/cop/layout/{indent_heredoc.rb → heredoc_indentation.rb} +2 -2
- data/lib/rubocop/cop/layout/indentation_width.rb +19 -5
- data/lib/rubocop/cop/layout/{leading_blank_lines.rb → leading_empty_lines.rb} +1 -1
- data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +24 -2
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/{align_parameters.rb → parameter_alignment.rb} +1 -1
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -0
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +5 -1
- data/lib/rubocop/cop/layout/space_around_keyword.rb +12 -0
- data/lib/rubocop/cop/layout/space_around_operators.rb +43 -24
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +9 -7
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +8 -5
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +7 -0
- data/lib/rubocop/cop/layout/space_inside_parens.rb +6 -6
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +24 -40
- data/lib/rubocop/cop/layout/{trailing_blank_lines.rb → trailing_empty_lines.rb} +1 -1
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +18 -2
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +17 -4
- data/lib/rubocop/cop/lint/debugger.rb +1 -3
- data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
- data/lib/rubocop/cop/lint/{duplicated_key.rb → duplicate_hash_key.rb} +1 -1
- data/lib/rubocop/cop/lint/empty_interpolation.rb +4 -4
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +61 -4
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +10 -36
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -8
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +2 -2
- data/lib/rubocop/cop/lint/{multiple_compare.rb → multiple_comparison.rb} +1 -1
- data/lib/rubocop/cop/lint/number_conversion.rb +1 -1
- data/lib/rubocop/cop/lint/{unneeded_cop_disable_directive.rb → redundant_cop_disable_directive.rb} +24 -24
- data/lib/rubocop/cop/lint/{unneeded_cop_enable_directive.rb → redundant_cop_enable_directive.rb} +6 -8
- data/lib/rubocop/cop/lint/{unneeded_require_statement.rb → redundant_require_statement.rb} +1 -1
- data/lib/rubocop/cop/lint/{unneeded_splat_expansion.rb → redundant_splat_expansion.rb} +12 -7
- data/lib/rubocop/cop/lint/{string_conversion_in_interpolation.rb → redundant_string_coercion.rb} +7 -7
- data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -2
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +5 -6
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +91 -0
- data/lib/rubocop/cop/lint/{handle_exceptions.rb → suppressed_exception.rb} +1 -1
- data/lib/rubocop/cop/lint/unused_block_argument.rb +22 -6
- data/lib/rubocop/cop/lint/unused_method_argument.rb +23 -5
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +57 -23
- data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
- data/lib/rubocop/cop/lint/void.rb +7 -26
- data/lib/rubocop/cop/message_annotator.rb +16 -7
- data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
- data/lib/rubocop/cop/metrics/line_length.rb +48 -42
- data/lib/rubocop/cop/metrics/method_length.rb +1 -1
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +23 -6
- data/lib/rubocop/cop/migration/department_name.rb +44 -0
- data/lib/rubocop/cop/mixin/alignment.rb +1 -1
- data/lib/rubocop/cop/mixin/documentation_comment.rb +0 -2
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +1 -1
- data/lib/rubocop/cop/mixin/{hash_alignment.rb → hash_alignment_styles.rb} +1 -1
- data/lib/rubocop/cop/mixin/interpolation.rb +27 -0
- data/lib/rubocop/cop/mixin/method_complexity.rb +2 -1
- data/lib/rubocop/cop/mixin/nil_methods.rb +4 -4
- data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +87 -0
- data/lib/rubocop/cop/mixin/statement_modifier.rb +5 -2
- data/lib/rubocop/cop/mixin/surrounding_space.rb +7 -5
- data/lib/rubocop/cop/mixin/trailing_comma.rb +8 -6
- data/lib/rubocop/cop/naming/{uncommunicative_block_param_name.rb → block_parameter_name.rb} +3 -3
- data/lib/rubocop/cop/naming/file_name.rb +12 -5
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +5 -5
- data/lib/rubocop/cop/naming/method_name.rb +12 -1
- data/lib/rubocop/cop/naming/{uncommunicative_method_param_name.rb → method_parameter_name.rb} +3 -3
- data/lib/rubocop/cop/naming/predicate_name.rb +6 -6
- data/lib/rubocop/cop/naming/variable_name.rb +1 -0
- data/lib/rubocop/cop/offense.rb +18 -7
- data/lib/rubocop/cop/registry.rb +22 -1
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -0
- data/lib/rubocop/cop/style/alias.rb +1 -1
- data/lib/rubocop/cop/style/array_join.rb +1 -1
- data/lib/rubocop/cop/style/attr.rb +2 -2
- data/lib/rubocop/cop/style/block_delimiters.rb +2 -1
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +35 -16
- data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
- data/lib/rubocop/cop/style/comment_annotation.rb +5 -5
- data/lib/rubocop/cop/style/commented_keyword.rb +16 -30
- data/lib/rubocop/cop/style/conditional_assignment.rb +5 -7
- data/lib/rubocop/cop/style/constant_visibility.rb +13 -2
- data/lib/rubocop/cop/style/copyright.rb +11 -7
- data/lib/rubocop/cop/style/documentation_method.rb +44 -0
- data/lib/rubocop/cop/style/double_cop_disable_directive.rb +10 -4
- data/lib/rubocop/cop/style/empty_case_condition.rb +2 -2
- data/lib/rubocop/cop/style/empty_literal.rb +2 -2
- data/lib/rubocop/cop/style/empty_method.rb +5 -5
- data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
- data/lib/rubocop/cop/style/even_odd.rb +1 -1
- data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -1
- data/lib/rubocop/cop/style/format_string.rb +10 -7
- data/lib/rubocop/cop/style/format_string_token.rb +19 -68
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +28 -33
- data/lib/rubocop/cop/style/guard_clause.rb +39 -10
- data/lib/rubocop/cop/style/hash_syntax.rb +2 -2
- data/lib/rubocop/cop/style/if_unless_modifier.rb +58 -15
- data/lib/rubocop/cop/style/infinite_loop.rb +5 -4
- data/lib/rubocop/cop/style/inverse_methods.rb +19 -13
- data/lib/rubocop/cop/style/ip_addresses.rb +4 -4
- data/lib/rubocop/cop/style/lambda.rb +0 -2
- data/lib/rubocop/cop/style/line_end_concatenation.rb +14 -10
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +25 -25
- data/lib/rubocop/cop/style/method_def_parentheses.rb +17 -9
- data/lib/rubocop/cop/style/mixin_grouping.rb +1 -1
- data/lib/rubocop/cop/style/mixin_usage.rb +11 -1
- data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
- data/lib/rubocop/cop/style/multiline_when_then.rb +1 -1
- data/lib/rubocop/cop/style/nested_modifier.rb +22 -4
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +5 -5
- data/lib/rubocop/cop/style/next.rb +5 -5
- data/lib/rubocop/cop/style/non_nil_check.rb +21 -9
- data/lib/rubocop/cop/style/numeric_literals.rb +7 -3
- data/lib/rubocop/cop/style/option_hash.rb +3 -3
- data/lib/rubocop/cop/style/or_assignment.rb +6 -1
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +14 -0
- data/lib/rubocop/cop/style/{unneeded_capital_w.rb → redundant_capital_w.rb} +1 -1
- data/lib/rubocop/cop/style/{unneeded_condition.rb → redundant_condition.rb} +3 -3
- data/lib/rubocop/cop/style/{unneeded_interpolation.rb → redundant_interpolation.rb} +1 -1
- data/lib/rubocop/cop/style/redundant_parentheses.rb +16 -7
- data/lib/rubocop/cop/style/{unneeded_percent_q.rb → redundant_percent_q.rb} +1 -1
- data/lib/rubocop/cop/style/redundant_return.rb +39 -29
- data/lib/rubocop/cop/style/redundant_self.rb +18 -1
- data/lib/rubocop/cop/style/{unneeded_sort.rb → redundant_sort.rb} +5 -5
- data/lib/rubocop/cop/style/rescue_modifier.rb +24 -0
- data/lib/rubocop/cop/style/safe_navigation.rb +23 -3
- data/lib/rubocop/cop/style/semicolon.rb +13 -2
- data/lib/rubocop/cop/style/single_line_methods.rb +8 -1
- data/lib/rubocop/cop/style/special_global_vars.rb +5 -7
- data/lib/rubocop/cop/style/ternary_parentheses.rb +19 -0
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +4 -6
- data/lib/rubocop/cop/style/trivial_accessors.rb +5 -5
- data/lib/rubocop/cop/style/variable_interpolation.rb +6 -16
- data/lib/rubocop/cop/team.rb +5 -0
- data/lib/rubocop/cop/util.rb +1 -1
- data/lib/rubocop/cop/utils/format_string.rb +120 -0
- data/lib/rubocop/cop/variable_force.rb +7 -5
- data/lib/rubocop/cop/variable_force/variable.rb +15 -2
- data/lib/rubocop/core_ext/string.rb +0 -24
- data/lib/rubocop/formatter/clang_style_formatter.rb +9 -6
- data/lib/rubocop/formatter/emacs_style_formatter.rb +22 -9
- data/lib/rubocop/formatter/file_list_formatter.rb +1 -1
- data/lib/rubocop/formatter/formatter_set.rb +16 -15
- data/lib/rubocop/formatter/pacman_formatter.rb +80 -0
- data/lib/rubocop/formatter/simple_text_formatter.rb +16 -4
- data/lib/rubocop/formatter/tap_formatter.rb +18 -7
- data/lib/rubocop/magic_comment.rb +4 -0
- data/lib/rubocop/node_pattern.rb +3 -1
- data/lib/rubocop/options.rb +17 -22
- data/lib/rubocop/path_util.rb +1 -1
- data/lib/rubocop/processed_source.rb +5 -1
- data/lib/rubocop/rake_task.rb +1 -0
- data/lib/rubocop/result_cache.rb +22 -8
- data/lib/rubocop/rspec/expect_offense.rb +4 -1
- data/lib/rubocop/runner.rb +55 -32
- data/lib/rubocop/target_finder.rb +12 -6
- data/lib/rubocop/version.rb +1 -1
- metadata +47 -32
- data/lib/rubocop/cop/mixin/ignored_method_patterns.rb +0 -19
- data/lib/rubocop/cop/mixin/safe_mode.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8789393bf78c1ae637e196f15a3b312a261b8239996ce92bcd99670ab358bea0
|
4
|
+
data.tar.gz: 6b1e83fe89bcd3e003ea5f95307d212b3e5adce496ddc26dfe6ff92ea4dc3356
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0a92b3b466939337e7d100d255a9c08ff7db25c235c3645ad65e878151899000749a5e20b01eda2be3ec7e4384272cfed2dce12053dd87df4b01be83453c3d9
|
7
|
+
data.tar.gz: d646dad7e86dcacd75a286f70c2843934acb9a7416a40edec51fa373d9f0b3da05f74eac21ad869c24b92b550e2efb66cdf0229dc6ef2fb772edc7a7a6ee5107
|
data/README.md
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
[](https://www.patreon.com/bbatsov)
|
10
10
|
[](#open-collective-backers)
|
11
11
|
[](#open-collective-sponsors)
|
12
|
+
[](https://tidelift.com/subscription/pkg/rubygems-rubocop?utm_source=rubygems-rubocop&utm_medium=referral&utm_campaign=readme)
|
12
13
|
|
13
14
|
<p align="center">
|
14
15
|
<img src="https://raw.githubusercontent.com/rubocop-hq/rubocop/master/logo/rubo-logo-horizontal.png" alt="RuboCop Logo"/>
|
@@ -52,7 +53,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you
|
|
52
53
|
might want to use a conservative version lock in your `Gemfile`:
|
53
54
|
|
54
55
|
```rb
|
55
|
-
gem 'rubocop', '~> 0.
|
56
|
+
gem 'rubocop', '~> 0.77.0', require: false
|
56
57
|
```
|
57
58
|
|
58
59
|
## Quickstart
|
@@ -73,7 +74,7 @@ You can read a lot more about RuboCop in its [official docs](https://docs.ruboco
|
|
73
74
|
RuboCop supports the following Ruby implementations:
|
74
75
|
|
75
76
|
* MRI 2.3+
|
76
|
-
* JRuby 9.
|
77
|
+
* JRuby 9.2+
|
77
78
|
|
78
79
|
## Team
|
79
80
|
|
data/bin/console
CHANGED
data/config/default.yml
CHANGED
@@ -141,11 +141,12 @@ Bundler/GemComment:
|
|
141
141
|
Description: 'Add a comment describing each gem.'
|
142
142
|
Enabled: false
|
143
143
|
VersionAdded: '0.59'
|
144
|
+
VersionChanged: '0.77'
|
144
145
|
Include:
|
145
146
|
- '**/*.gemfile'
|
146
147
|
- '**/Gemfile'
|
147
148
|
- '**/gems.rb'
|
148
|
-
|
149
|
+
IgnoredGems: []
|
149
150
|
|
150
151
|
Bundler/InsecureProtocolSource:
|
151
152
|
Description: >-
|
@@ -218,13 +219,14 @@ Layout/AccessModifierIndentation:
|
|
218
219
|
# But it can be overridden by setting this parameter
|
219
220
|
IndentationWidth: ~
|
220
221
|
|
221
|
-
Layout/
|
222
|
+
Layout/ArgumentAlignment:
|
222
223
|
Description: >-
|
223
224
|
Align the arguments of a method call if they span more
|
224
225
|
than one line.
|
225
226
|
StyleGuide: '#no-double-indent'
|
226
227
|
Enabled: true
|
227
228
|
VersionAdded: '0.68'
|
229
|
+
VersionChanged: '0.77'
|
228
230
|
# Alignment of arguments in multi-line method calls.
|
229
231
|
#
|
230
232
|
# The `with_first_argument` style aligns the following lines along the same
|
@@ -246,117 +248,23 @@ Layout/AlignArguments:
|
|
246
248
|
# But it can be overridden by setting this parameter
|
247
249
|
IndentationWidth: ~
|
248
250
|
|
249
|
-
Layout/
|
251
|
+
Layout/ArrayAlignment:
|
250
252
|
Description: >-
|
251
253
|
Align the elements of an array literal if they span more than
|
252
254
|
one line.
|
253
255
|
StyleGuide: '#align-multiline-arrays'
|
254
256
|
Enabled: true
|
255
257
|
VersionAdded: '0.49'
|
258
|
+
VersionChanged: '0.77'
|
256
259
|
|
257
|
-
Layout/
|
260
|
+
Layout/AssignmentIndentation:
|
258
261
|
Description: >-
|
259
|
-
|
260
|
-
|
262
|
+
Checks the indentation of the first line of the
|
263
|
+
right-hand-side of a multi-line assignment.
|
261
264
|
Enabled: true
|
262
|
-
AllowMultipleStyles: true
|
263
265
|
VersionAdded: '0.49'
|
264
|
-
|
265
|
-
#
|
266
|
-
# key - left alignment of keys
|
267
|
-
# 'a' => 2
|
268
|
-
# 'bb' => 3
|
269
|
-
# separator - alignment of hash rockets, keys are right aligned
|
270
|
-
# 'a' => 2
|
271
|
-
# 'bb' => 3
|
272
|
-
# table - left alignment of keys, hash rockets, and values
|
273
|
-
# 'a' => 2
|
274
|
-
# 'bb' => 3
|
275
|
-
EnforcedHashRocketStyle: key
|
276
|
-
SupportedHashRocketStyles:
|
277
|
-
- key
|
278
|
-
- separator
|
279
|
-
- table
|
280
|
-
# Alignment of entries using colon as separator. Valid values are:
|
281
|
-
#
|
282
|
-
# key - left alignment of keys
|
283
|
-
# a: 0
|
284
|
-
# bb: 1
|
285
|
-
# separator - alignment of colons, keys are right aligned
|
286
|
-
# a: 0
|
287
|
-
# bb: 1
|
288
|
-
# table - left alignment of keys and values
|
289
|
-
# a: 0
|
290
|
-
# bb: 1
|
291
|
-
EnforcedColonStyle: key
|
292
|
-
SupportedColonStyles:
|
293
|
-
- key
|
294
|
-
- separator
|
295
|
-
- table
|
296
|
-
# Select whether hashes that are the last argument in a method call should be
|
297
|
-
# inspected? Valid values are:
|
298
|
-
#
|
299
|
-
# always_inspect - Inspect both implicit and explicit hashes.
|
300
|
-
# Registers an offense for:
|
301
|
-
# function(a: 1,
|
302
|
-
# b: 2)
|
303
|
-
# Registers an offense for:
|
304
|
-
# function({a: 1,
|
305
|
-
# b: 2})
|
306
|
-
# always_ignore - Ignore both implicit and explicit hashes.
|
307
|
-
# Accepts:
|
308
|
-
# function(a: 1,
|
309
|
-
# b: 2)
|
310
|
-
# Accepts:
|
311
|
-
# function({a: 1,
|
312
|
-
# b: 2})
|
313
|
-
# ignore_implicit - Ignore only implicit hashes.
|
314
|
-
# Accepts:
|
315
|
-
# function(a: 1,
|
316
|
-
# b: 2)
|
317
|
-
# Registers an offense for:
|
318
|
-
# function({a: 1,
|
319
|
-
# b: 2})
|
320
|
-
# ignore_explicit - Ignore only explicit hashes.
|
321
|
-
# Accepts:
|
322
|
-
# function({a: 1,
|
323
|
-
# b: 2})
|
324
|
-
# Registers an offense for:
|
325
|
-
# function(a: 1,
|
326
|
-
# b: 2)
|
327
|
-
EnforcedLastArgumentHashStyle: always_inspect
|
328
|
-
SupportedLastArgumentHashStyles:
|
329
|
-
- always_inspect
|
330
|
-
- always_ignore
|
331
|
-
- ignore_implicit
|
332
|
-
- ignore_explicit
|
333
|
-
|
334
|
-
Layout/AlignParameters:
|
335
|
-
Description: >-
|
336
|
-
Align the parameters of a method definition if they span more
|
337
|
-
than one line.
|
338
|
-
StyleGuide: '#no-double-indent'
|
339
|
-
Enabled: true
|
340
|
-
VersionAdded: '0.49'
|
341
|
-
VersionChanged: '0.68'
|
342
|
-
# Alignment of parameters in multi-line method calls.
|
343
|
-
#
|
344
|
-
# The `with_first_parameter` style aligns the following lines along the same
|
345
|
-
# column as the first parameter.
|
346
|
-
#
|
347
|
-
# def method_foo(a,
|
348
|
-
# b)
|
349
|
-
#
|
350
|
-
# The `with_fixed_indentation` style aligns the following lines with one
|
351
|
-
# level of indentation relative to the start of the line with the method call.
|
352
|
-
#
|
353
|
-
# def method_foo(a,
|
354
|
-
# b)
|
355
|
-
EnforcedStyle: with_first_parameter
|
356
|
-
SupportedStyles:
|
357
|
-
- with_first_parameter
|
358
|
-
- with_fixed_indentation
|
359
|
-
# By default, the indentation width from Layout/IndentationWidth is used
|
266
|
+
VersionChanged: '0.77'
|
267
|
+
# By default, the indentation width from `Layout/IndentationWidth` is used
|
360
268
|
# But it can be overridden by setting this parameter
|
361
269
|
IndentationWidth: ~
|
362
270
|
|
@@ -624,56 +532,11 @@ Layout/ExtraSpacing:
|
|
624
532
|
# When true, forces the alignment of `=` in assignments on consecutive lines.
|
625
533
|
ForceEqualSignAlignment: false
|
626
534
|
|
627
|
-
Layout/
|
628
|
-
Description: >-
|
629
|
-
Checks for a line break before the first element in a
|
630
|
-
multi-line array.
|
631
|
-
Enabled: false
|
632
|
-
VersionAdded: '0.49'
|
633
|
-
|
634
|
-
Layout/FirstHashElementLineBreak:
|
635
|
-
Description: >-
|
636
|
-
Checks for a line break before the first element in a
|
637
|
-
multi-line hash.
|
638
|
-
Enabled: false
|
639
|
-
VersionAdded: '0.49'
|
640
|
-
|
641
|
-
Layout/FirstMethodArgumentLineBreak:
|
642
|
-
Description: >-
|
643
|
-
Checks for a line break before the first argument in a
|
644
|
-
multi-line method call.
|
645
|
-
Enabled: false
|
646
|
-
VersionAdded: '0.49'
|
647
|
-
|
648
|
-
Layout/FirstMethodParameterLineBreak:
|
649
|
-
Description: >-
|
650
|
-
Checks for a line break before the first parameter in a
|
651
|
-
multi-line method parameter definition.
|
652
|
-
Enabled: false
|
653
|
-
VersionAdded: '0.49'
|
654
|
-
|
655
|
-
Layout/HeredocArgumentClosingParenthesis:
|
656
|
-
Description: >-
|
657
|
-
Checks for the placement of the closing parenthesis in a
|
658
|
-
method call that passes a HEREDOC string as an argument.
|
659
|
-
Enabled: false
|
660
|
-
StyleGuide: '#heredoc-argument-closing-parentheses'
|
661
|
-
VersionAdded: '0.68'
|
662
|
-
|
663
|
-
Layout/IndentAssignment:
|
664
|
-
Description: >-
|
665
|
-
Checks the indentation of the first line of the
|
666
|
-
right-hand-side of a multi-line assignment.
|
667
|
-
Enabled: true
|
668
|
-
VersionAdded: '0.49'
|
669
|
-
# By default, the indentation width from `Layout/IndentationWidth` is used
|
670
|
-
# But it can be overridden by setting this parameter
|
671
|
-
IndentationWidth: ~
|
672
|
-
|
673
|
-
Layout/IndentFirstArgument:
|
535
|
+
Layout/FirstArgumentIndentation:
|
674
536
|
Description: 'Checks the indentation of the first argument in a method call.'
|
675
537
|
Enabled: true
|
676
538
|
VersionAdded: '0.68'
|
539
|
+
VersionChanged: '0.77'
|
677
540
|
EnforcedStyle: special_for_inner_method_call_in_parentheses
|
678
541
|
SupportedStyles:
|
679
542
|
# The first parameter should always be indented one step more than the
|
@@ -694,12 +557,13 @@ Layout/IndentFirstArgument:
|
|
694
557
|
# But it can be overridden by setting this parameter
|
695
558
|
IndentationWidth: ~
|
696
559
|
|
697
|
-
Layout/
|
560
|
+
Layout/FirstArrayElementIndentation:
|
698
561
|
Description: >-
|
699
562
|
Checks the indentation of the first element in an array
|
700
563
|
literal.
|
701
564
|
Enabled: true
|
702
565
|
VersionAdded: '0.68'
|
566
|
+
VersionChanged: '0.77'
|
703
567
|
# The value `special_inside_parentheses` means that array literals with
|
704
568
|
# brackets that have their opening bracket on the same line as a surrounding
|
705
569
|
# opening round parenthesis, shall have their first element indented relative
|
@@ -720,10 +584,18 @@ Layout/IndentFirstArrayElement:
|
|
720
584
|
# But it can be overridden by setting this parameter
|
721
585
|
IndentationWidth: ~
|
722
586
|
|
723
|
-
Layout/
|
587
|
+
Layout/FirstArrayElementLineBreak:
|
588
|
+
Description: >-
|
589
|
+
Checks for a line break before the first element in a
|
590
|
+
multi-line array.
|
591
|
+
Enabled: false
|
592
|
+
VersionAdded: '0.49'
|
593
|
+
|
594
|
+
Layout/FirstHashElementIndentation:
|
724
595
|
Description: 'Checks the indentation of the first key in a hash literal.'
|
725
596
|
Enabled: true
|
726
597
|
VersionAdded: '0.68'
|
598
|
+
VersionChanged: '0.77'
|
727
599
|
# The value `special_inside_parentheses` means that hash literals with braces
|
728
600
|
# that have their opening brace on the same line as a surrounding opening
|
729
601
|
# round parenthesis, shall have their first key indented relative to the
|
@@ -744,13 +616,34 @@ Layout/IndentFirstHashElement:
|
|
744
616
|
# But it can be overridden by setting this parameter
|
745
617
|
IndentationWidth: ~
|
746
618
|
|
747
|
-
Layout/
|
619
|
+
Layout/FirstHashElementLineBreak:
|
620
|
+
Description: >-
|
621
|
+
Checks for a line break before the first element in a
|
622
|
+
multi-line hash.
|
623
|
+
Enabled: false
|
624
|
+
VersionAdded: '0.49'
|
625
|
+
|
626
|
+
Layout/FirstMethodArgumentLineBreak:
|
627
|
+
Description: >-
|
628
|
+
Checks for a line break before the first argument in a
|
629
|
+
multi-line method call.
|
630
|
+
Enabled: false
|
631
|
+
VersionAdded: '0.49'
|
632
|
+
|
633
|
+
Layout/FirstMethodParameterLineBreak:
|
634
|
+
Description: >-
|
635
|
+
Checks for a line break before the first parameter in a
|
636
|
+
multi-line method parameter definition.
|
637
|
+
Enabled: false
|
638
|
+
VersionAdded: '0.49'
|
639
|
+
|
640
|
+
Layout/FirstParameterIndentation:
|
748
641
|
Description: >-
|
749
642
|
Checks the indentation of the first parameter in a
|
750
643
|
method definition.
|
751
644
|
Enabled: true
|
752
645
|
VersionAdded: '0.49'
|
753
|
-
VersionChanged: '0.
|
646
|
+
VersionChanged: '0.77'
|
754
647
|
EnforcedStyle: consistent
|
755
648
|
SupportedStyles:
|
756
649
|
- consistent
|
@@ -759,12 +652,98 @@ Layout/IndentFirstParameter:
|
|
759
652
|
# But it can be overridden by setting this parameter
|
760
653
|
IndentationWidth: ~
|
761
654
|
|
762
|
-
Layout/
|
655
|
+
Layout/HashAlignment:
|
656
|
+
Description: >-
|
657
|
+
Align the elements of a hash literal if they span more than
|
658
|
+
one line.
|
659
|
+
Enabled: true
|
660
|
+
AllowMultipleStyles: true
|
661
|
+
VersionAdded: '0.49'
|
662
|
+
VersionChanged: '0.77'
|
663
|
+
# Alignment of entries using hash rocket as separator. Valid values are:
|
664
|
+
#
|
665
|
+
# key - left alignment of keys
|
666
|
+
# 'a' => 2
|
667
|
+
# 'bb' => 3
|
668
|
+
# separator - alignment of hash rockets, keys are right aligned
|
669
|
+
# 'a' => 2
|
670
|
+
# 'bb' => 3
|
671
|
+
# table - left alignment of keys, hash rockets, and values
|
672
|
+
# 'a' => 2
|
673
|
+
# 'bb' => 3
|
674
|
+
EnforcedHashRocketStyle: key
|
675
|
+
SupportedHashRocketStyles:
|
676
|
+
- key
|
677
|
+
- separator
|
678
|
+
- table
|
679
|
+
# Alignment of entries using colon as separator. Valid values are:
|
680
|
+
#
|
681
|
+
# key - left alignment of keys
|
682
|
+
# a: 0
|
683
|
+
# bb: 1
|
684
|
+
# separator - alignment of colons, keys are right aligned
|
685
|
+
# a: 0
|
686
|
+
# bb: 1
|
687
|
+
# table - left alignment of keys and values
|
688
|
+
# a: 0
|
689
|
+
# bb: 1
|
690
|
+
EnforcedColonStyle: key
|
691
|
+
SupportedColonStyles:
|
692
|
+
- key
|
693
|
+
- separator
|
694
|
+
- table
|
695
|
+
# Select whether hashes that are the last argument in a method call should be
|
696
|
+
# inspected? Valid values are:
|
697
|
+
#
|
698
|
+
# always_inspect - Inspect both implicit and explicit hashes.
|
699
|
+
# Registers an offense for:
|
700
|
+
# function(a: 1,
|
701
|
+
# b: 2)
|
702
|
+
# Registers an offense for:
|
703
|
+
# function({a: 1,
|
704
|
+
# b: 2})
|
705
|
+
# always_ignore - Ignore both implicit and explicit hashes.
|
706
|
+
# Accepts:
|
707
|
+
# function(a: 1,
|
708
|
+
# b: 2)
|
709
|
+
# Accepts:
|
710
|
+
# function({a: 1,
|
711
|
+
# b: 2})
|
712
|
+
# ignore_implicit - Ignore only implicit hashes.
|
713
|
+
# Accepts:
|
714
|
+
# function(a: 1,
|
715
|
+
# b: 2)
|
716
|
+
# Registers an offense for:
|
717
|
+
# function({a: 1,
|
718
|
+
# b: 2})
|
719
|
+
# ignore_explicit - Ignore only explicit hashes.
|
720
|
+
# Accepts:
|
721
|
+
# function({a: 1,
|
722
|
+
# b: 2})
|
723
|
+
# Registers an offense for:
|
724
|
+
# function(a: 1,
|
725
|
+
# b: 2)
|
726
|
+
EnforcedLastArgumentHashStyle: always_inspect
|
727
|
+
SupportedLastArgumentHashStyles:
|
728
|
+
- always_inspect
|
729
|
+
- always_ignore
|
730
|
+
- ignore_implicit
|
731
|
+
- ignore_explicit
|
732
|
+
|
733
|
+
Layout/HeredocArgumentClosingParenthesis:
|
734
|
+
Description: >-
|
735
|
+
Checks for the placement of the closing parenthesis in a
|
736
|
+
method call that passes a HEREDOC string as an argument.
|
737
|
+
Enabled: false
|
738
|
+
StyleGuide: '#heredoc-argument-closing-parentheses'
|
739
|
+
VersionAdded: '0.68'
|
740
|
+
|
741
|
+
Layout/HeredocIndentation:
|
763
742
|
Description: 'This cop checks the indentation of the here document bodies.'
|
764
743
|
StyleGuide: '#squiggly-heredocs'
|
765
744
|
Enabled: true
|
766
745
|
VersionAdded: '0.49'
|
767
|
-
VersionChanged: '0.
|
746
|
+
VersionChanged: '0.77'
|
768
747
|
EnforcedStyle: squiggly
|
769
748
|
SupportedStyles:
|
770
749
|
- squiggly
|
@@ -806,11 +785,6 @@ Layout/InitialIndentation:
|
|
806
785
|
Enabled: true
|
807
786
|
VersionAdded: '0.49'
|
808
787
|
|
809
|
-
Layout/LeadingBlankLines:
|
810
|
-
Description: Check for unnecessary blank lines at the beginning of a file.
|
811
|
-
Enabled: true
|
812
|
-
VersionAdded: '0.57'
|
813
|
-
|
814
788
|
Layout/LeadingCommentSpace:
|
815
789
|
Description: 'Comments should start with a space.'
|
816
790
|
StyleGuide: '#hash-space'
|
@@ -819,6 +793,12 @@ Layout/LeadingCommentSpace:
|
|
819
793
|
VersionChanged: '0.73'
|
820
794
|
AllowDoxygenCommentStyle: false
|
821
795
|
|
796
|
+
Layout/LeadingEmptyLines:
|
797
|
+
Description: Check for unnecessary blank lines at the beginning of a file.
|
798
|
+
Enabled: true
|
799
|
+
VersionAdded: '0.57'
|
800
|
+
VersionChanged: '0.77'
|
801
|
+
|
822
802
|
Layout/MultilineArrayBraceLayout:
|
823
803
|
Description: >-
|
824
804
|
Checks that the closing brace in an array literal is
|
@@ -960,6 +940,35 @@ Layout/MultilineOperationIndentation:
|
|
960
940
|
# But it can be overridden by setting this parameter
|
961
941
|
IndentationWidth: ~
|
962
942
|
|
943
|
+
Layout/ParameterAlignment:
|
944
|
+
Description: >-
|
945
|
+
Align the parameters of a method definition if they span more
|
946
|
+
than one line.
|
947
|
+
StyleGuide: '#no-double-indent'
|
948
|
+
Enabled: true
|
949
|
+
VersionAdded: '0.49'
|
950
|
+
VersionChanged: '0.77'
|
951
|
+
# Alignment of parameters in multi-line method calls.
|
952
|
+
#
|
953
|
+
# The `with_first_parameter` style aligns the following lines along the same
|
954
|
+
# column as the first parameter.
|
955
|
+
#
|
956
|
+
# def method_foo(a,
|
957
|
+
# b)
|
958
|
+
#
|
959
|
+
# The `with_fixed_indentation` style aligns the following lines with one
|
960
|
+
# level of indentation relative to the start of the line with the method call.
|
961
|
+
#
|
962
|
+
# def method_foo(a,
|
963
|
+
# b)
|
964
|
+
EnforcedStyle: with_first_parameter
|
965
|
+
SupportedStyles:
|
966
|
+
- with_first_parameter
|
967
|
+
- with_fixed_indentation
|
968
|
+
# By default, the indentation width from Layout/IndentationWidth is used
|
969
|
+
# But it can be overridden by setting this parameter
|
970
|
+
IndentationWidth: ~
|
971
|
+
|
963
972
|
Layout/RescueEnsureAlignment:
|
964
973
|
Description: 'Align rescues and ensures correctly.'
|
965
974
|
Enabled: true
|
@@ -1202,11 +1211,12 @@ Layout/Tab:
|
|
1202
1211
|
# replace each tab.
|
1203
1212
|
IndentationWidth: ~
|
1204
1213
|
|
1205
|
-
Layout/
|
1214
|
+
Layout/TrailingEmptyLines:
|
1206
1215
|
Description: 'Checks trailing blank lines and final newline.'
|
1207
1216
|
StyleGuide: '#newline-eof'
|
1208
1217
|
Enabled: true
|
1209
1218
|
VersionAdded: '0.49'
|
1219
|
+
VersionChanged: '0.77'
|
1210
1220
|
EnforcedStyle: final_newline
|
1211
1221
|
SupportedStyles:
|
1212
1222
|
- final_newline
|
@@ -1290,16 +1300,17 @@ Lint/DuplicateCaseCondition:
|
|
1290
1300
|
Enabled: true
|
1291
1301
|
VersionAdded: '0.45'
|
1292
1302
|
|
1303
|
+
Lint/DuplicateHashKey:
|
1304
|
+
Description: 'Check for duplicate keys in hash literals.'
|
1305
|
+
Enabled: true
|
1306
|
+
VersionAdded: '0.34'
|
1307
|
+
VersionChanged: '0.77'
|
1308
|
+
|
1293
1309
|
Lint/DuplicateMethods:
|
1294
1310
|
Description: 'Check for duplicate method definitions.'
|
1295
1311
|
Enabled: true
|
1296
1312
|
VersionAdded: '0.29'
|
1297
1313
|
|
1298
|
-
Lint/DuplicatedKey:
|
1299
|
-
Description: 'Check for duplicate keys in hash literals.'
|
1300
|
-
Enabled: true
|
1301
|
-
VersionAdded: '0.34'
|
1302
|
-
|
1303
1314
|
Lint/EachWithObjectArgument:
|
1304
1315
|
Description: 'Check for immutable argument given to each_with_object.'
|
1305
1316
|
Enabled: true
|
@@ -1367,14 +1378,6 @@ Lint/FormatParameterMismatch:
|
|
1367
1378
|
Enabled: true
|
1368
1379
|
VersionAdded: '0.33'
|
1369
1380
|
|
1370
|
-
Lint/HandleExceptions:
|
1371
|
-
Description: "Don't suppress exception."
|
1372
|
-
StyleGuide: '#dont-hide-exceptions'
|
1373
|
-
Enabled: true
|
1374
|
-
AllowComments: false
|
1375
|
-
VersionAdded: '0.9'
|
1376
|
-
VersionChanged: '0.70'
|
1377
|
-
|
1378
1381
|
Lint/HeredocMethodCallPosition:
|
1379
1382
|
Description: >-
|
1380
1383
|
Checks for the ordering of a method call where
|
@@ -1444,10 +1447,11 @@ Lint/MissingCopEnableDirective:
|
|
1444
1447
|
# .inf for any size
|
1445
1448
|
MaximumRangeSize: .inf
|
1446
1449
|
|
1447
|
-
Lint/
|
1448
|
-
Description: "Use `&&` operator to compare multiple
|
1450
|
+
Lint/MultipleComparison:
|
1451
|
+
Description: "Use `&&` operator to compare multiple values."
|
1449
1452
|
Enabled: true
|
1450
1453
|
VersionAdded: '0.47'
|
1454
|
+
VersionChanged: '0.77'
|
1451
1455
|
|
1452
1456
|
Lint/NestedMethodDefinition:
|
1453
1457
|
Description: 'Do not use nested method definitions.'
|
@@ -1512,6 +1516,36 @@ Lint/RandOne:
|
|
1512
1516
|
Enabled: true
|
1513
1517
|
VersionAdded: '0.36'
|
1514
1518
|
|
1519
|
+
Lint/RedundantCopDisableDirective:
|
1520
|
+
Description: >-
|
1521
|
+
Checks for rubocop:disable comments that can be removed.
|
1522
|
+
Note: this cop is not disabled when disabling all cops.
|
1523
|
+
It must be explicitly disabled.
|
1524
|
+
Enabled: true
|
1525
|
+
VersionAdded: '0.76'
|
1526
|
+
|
1527
|
+
Lint/RedundantCopEnableDirective:
|
1528
|
+
Description: Checks for rubocop:enable comments that can be removed.
|
1529
|
+
Enabled: true
|
1530
|
+
VersionAdded: '0.76'
|
1531
|
+
|
1532
|
+
Lint/RedundantRequireStatement:
|
1533
|
+
Description: 'Checks for unnecessary `require` statement.'
|
1534
|
+
Enabled: true
|
1535
|
+
VersionAdded: '0.76'
|
1536
|
+
|
1537
|
+
Lint/RedundantSplatExpansion:
|
1538
|
+
Description: 'Checks for splat unnecessarily being called on literals.'
|
1539
|
+
Enabled: true
|
1540
|
+
VersionChanged: '0.76'
|
1541
|
+
|
1542
|
+
Lint/RedundantStringCoercion:
|
1543
|
+
Description: 'Checks for Object#to_s usage in string interpolation.'
|
1544
|
+
StyleGuide: '#no-to-s'
|
1545
|
+
Enabled: true
|
1546
|
+
VersionAdded: '0.19'
|
1547
|
+
VersionChanged: '0.77'
|
1548
|
+
|
1515
1549
|
Lint/RedundantWithIndex:
|
1516
1550
|
Description: 'Checks for redundant `with_index`.'
|
1517
1551
|
Enabled: true
|
@@ -1557,8 +1591,8 @@ Lint/SafeNavigationChain:
|
|
1557
1591
|
Description: 'Do not chain ordinary method call after safe navigation operator.'
|
1558
1592
|
Enabled: true
|
1559
1593
|
VersionAdded: '0.47'
|
1560
|
-
VersionChanged: '0.
|
1561
|
-
|
1594
|
+
VersionChanged: '0.77'
|
1595
|
+
AllowedMethods:
|
1562
1596
|
- present?
|
1563
1597
|
- blank?
|
1564
1598
|
- presence
|
@@ -1572,14 +1606,14 @@ Lint/SafeNavigationConsistency:
|
|
1572
1606
|
for all method calls on that same object.
|
1573
1607
|
Enabled: true
|
1574
1608
|
VersionAdded: '0.55'
|
1575
|
-
|
1609
|
+
VersionChanged: '0.77'
|
1610
|
+
AllowedMethods:
|
1576
1611
|
- present?
|
1577
1612
|
- blank?
|
1578
1613
|
- presence
|
1579
1614
|
- try
|
1580
1615
|
- try!
|
1581
1616
|
|
1582
|
-
|
1583
1617
|
Lint/SafeNavigationWithEmpty:
|
1584
1618
|
Description: 'Avoid `foo&.empty?` in conditionals.'
|
1585
1619
|
Enabled: true
|
@@ -1591,6 +1625,11 @@ Lint/ScriptPermission:
|
|
1591
1625
|
VersionAdded: '0.49'
|
1592
1626
|
VersionChanged: '0.50'
|
1593
1627
|
|
1628
|
+
Lint/SendWithMixinArgument:
|
1629
|
+
Description: 'Checks for `send` method when using mixin.'
|
1630
|
+
Enabled: true
|
1631
|
+
VersionAdded: '0.75'
|
1632
|
+
|
1594
1633
|
Lint/ShadowedArgument:
|
1595
1634
|
Description: 'Avoid reassigning arguments before they were used.'
|
1596
1635
|
Enabled: true
|
@@ -1612,12 +1651,13 @@ Lint/ShadowingOuterLocalVariable:
|
|
1612
1651
|
Enabled: true
|
1613
1652
|
VersionAdded: '0.9'
|
1614
1653
|
|
1615
|
-
Lint/
|
1616
|
-
Description: '
|
1617
|
-
StyleGuide: '#
|
1654
|
+
Lint/SuppressedException:
|
1655
|
+
Description: "Don't suppress exceptions."
|
1656
|
+
StyleGuide: '#dont-hide-exceptions'
|
1618
1657
|
Enabled: true
|
1619
|
-
|
1620
|
-
|
1658
|
+
AllowComments: false
|
1659
|
+
VersionAdded: '0.9'
|
1660
|
+
VersionChanged: '0.77'
|
1621
1661
|
|
1622
1662
|
Lint/Syntax:
|
1623
1663
|
Description: 'Checks syntax error.'
|
@@ -1640,29 +1680,6 @@ Lint/UnifiedInteger:
|
|
1640
1680
|
Enabled: true
|
1641
1681
|
VersionAdded: '0.43'
|
1642
1682
|
|
1643
|
-
Lint/UnneededCopDisableDirective:
|
1644
|
-
Description: >-
|
1645
|
-
Checks for rubocop:disable comments that can be removed.
|
1646
|
-
Note: this cop is not disabled when disabling all cops.
|
1647
|
-
It must be explicitly disabled.
|
1648
|
-
Enabled: true
|
1649
|
-
VersionAdded: '0.53'
|
1650
|
-
|
1651
|
-
Lint/UnneededCopEnableDirective:
|
1652
|
-
Description: Checks for rubocop:enable comments that can be removed.
|
1653
|
-
Enabled: true
|
1654
|
-
VersionAdded: '0.53'
|
1655
|
-
|
1656
|
-
Lint/UnneededRequireStatement:
|
1657
|
-
Description: 'Checks for unnecessary `require` statement.'
|
1658
|
-
Enabled: true
|
1659
|
-
VersionAdded: '0.51'
|
1660
|
-
|
1661
|
-
Lint/UnneededSplatExpansion:
|
1662
|
-
Description: 'Checks for splat unnecessarily being called on literals.'
|
1663
|
-
Enabled: true
|
1664
|
-
VersionAdded: '0.43'
|
1665
|
-
|
1666
1683
|
Lint/UnreachableCode:
|
1667
1684
|
Description: 'Unreachable code.'
|
1668
1685
|
Enabled: true
|
@@ -1745,7 +1762,7 @@ Metrics/AbcSize:
|
|
1745
1762
|
branches, and conditions.
|
1746
1763
|
Reference:
|
1747
1764
|
- http://c2.com/cgi/wiki?AbcMetric
|
1748
|
-
- https://en.wikipedia.org/wiki/ABC_Software_Metric
|
1765
|
+
- https://en.wikipedia.org/wiki/ABC_Software_Metric
|
1749
1766
|
Enabled: true
|
1750
1767
|
VersionAdded: '0.27'
|
1751
1768
|
VersionChanged: '0.66'
|
@@ -1809,7 +1826,7 @@ Metrics/LineLength:
|
|
1809
1826
|
- https
|
1810
1827
|
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
1811
1828
|
# directives like '# rubocop: enable ...' when calculating a line's length.
|
1812
|
-
IgnoreCopDirectives:
|
1829
|
+
IgnoreCopDirectives: true
|
1813
1830
|
# The IgnoredPatterns option is a list of !ruby/regexp and/or string
|
1814
1831
|
# elements. Strings will be converted to Regexp objects. A line that matches
|
1815
1832
|
# any regular expression listed in this option will be ignored by LineLength.
|
@@ -1848,6 +1865,14 @@ Metrics/PerceivedComplexity:
|
|
1848
1865
|
VersionAdded: '0.25'
|
1849
1866
|
Max: 7
|
1850
1867
|
|
1868
|
+
################## Migration #############################
|
1869
|
+
|
1870
|
+
Migration/DepartmentName:
|
1871
|
+
Description: >-
|
1872
|
+
Check that cop names in rubocop:disable (etc) comments are
|
1873
|
+
given with department name.
|
1874
|
+
Enabled: false
|
1875
|
+
|
1851
1876
|
#################### Naming ##############################
|
1852
1877
|
|
1853
1878
|
Naming/AccessorMethodName:
|
@@ -1868,6 +1893,21 @@ Naming/BinaryOperatorParameterName:
|
|
1868
1893
|
Enabled: true
|
1869
1894
|
VersionAdded: '0.50'
|
1870
1895
|
|
1896
|
+
Naming/BlockParameterName:
|
1897
|
+
Description: >-
|
1898
|
+
Checks for block parameter names that contain capital letters,
|
1899
|
+
end in numbers, or do not meet a minimal length.
|
1900
|
+
Enabled: true
|
1901
|
+
VersionAdded: '0.53'
|
1902
|
+
VersionChanged: '0.77'
|
1903
|
+
# Parameter names may be equal to or greater than this value
|
1904
|
+
MinNameLength: 1
|
1905
|
+
AllowNamesEndingInNumbers: true
|
1906
|
+
# Allowed names that will not register an offense
|
1907
|
+
AllowedNames: []
|
1908
|
+
# Forbidden names that will register an offense
|
1909
|
+
ForbiddenNames: []
|
1910
|
+
|
1871
1911
|
Naming/ClassAndModuleCamelCase:
|
1872
1912
|
Description: 'Use CamelCase for classes and modules.'
|
1873
1913
|
StyleGuide: '#camelcase-classes'
|
@@ -1959,7 +1999,7 @@ Naming/HeredocDelimiterNaming:
|
|
1959
1999
|
StyleGuide: '#heredoc-delimiters'
|
1960
2000
|
Enabled: true
|
1961
2001
|
VersionAdded: '0.50'
|
1962
|
-
|
2002
|
+
ForbiddenDelimiters:
|
1963
2003
|
- !ruby/regexp '/(^|\s)(EO[A-Z]{1}|END)(\s|$)/'
|
1964
2004
|
|
1965
2005
|
Naming/MemoizedInstanceVariableName:
|
@@ -1983,26 +2023,58 @@ Naming/MethodName:
|
|
1983
2023
|
SupportedStyles:
|
1984
2024
|
- snake_case
|
1985
2025
|
- camelCase
|
2026
|
+
# Method names matching patterns are always allowed.
|
2027
|
+
#
|
2028
|
+
# IgnoredPatterns:
|
2029
|
+
# - '\A\s*onSelectionBulkChange\s*'
|
2030
|
+
# - '\A\s*onSelectionCleared\s*'
|
2031
|
+
#
|
2032
|
+
IgnoredPatterns: []
|
2033
|
+
|
2034
|
+
Naming/MethodParameterName:
|
2035
|
+
Description: >-
|
2036
|
+
Checks for method parameter names that contain capital letters,
|
2037
|
+
end in numbers, or do not meet a minimal length.
|
2038
|
+
Enabled: true
|
2039
|
+
VersionAdded: '0.53'
|
2040
|
+
VersionChanged: '0.77'
|
2041
|
+
# Parameter names may be equal to or greater than this value
|
2042
|
+
MinNameLength: 3
|
2043
|
+
AllowNamesEndingInNumbers: true
|
2044
|
+
# Allowed names that will not register an offense
|
2045
|
+
AllowedNames:
|
2046
|
+
- io
|
2047
|
+
- id
|
2048
|
+
- to
|
2049
|
+
- by
|
2050
|
+
- 'on'
|
2051
|
+
- in
|
2052
|
+
- at
|
2053
|
+
- ip
|
2054
|
+
- db
|
2055
|
+
- os
|
2056
|
+
# Forbidden names that will register an offense
|
2057
|
+
ForbiddenNames: []
|
1986
2058
|
|
1987
2059
|
Naming/PredicateName:
|
1988
2060
|
Description: 'Check the names of predicate methods.'
|
1989
2061
|
StyleGuide: '#bool-methods-qmark'
|
1990
2062
|
Enabled: true
|
1991
2063
|
VersionAdded: '0.50'
|
1992
|
-
VersionChanged: '0.
|
2064
|
+
VersionChanged: '0.77'
|
1993
2065
|
# Predicate name prefixes.
|
1994
2066
|
NamePrefix:
|
1995
2067
|
- is_
|
1996
2068
|
- has_
|
1997
2069
|
- have_
|
1998
2070
|
# Predicate name prefixes that should be removed.
|
1999
|
-
|
2071
|
+
ForbiddenPrefixes:
|
2000
2072
|
- is_
|
2001
2073
|
- has_
|
2002
2074
|
- have_
|
2003
|
-
# Predicate names which, despite having a
|
2075
|
+
# Predicate names which, despite having a forbidden prefix, or no `?`,
|
2004
2076
|
# should still be accepted
|
2005
|
-
|
2077
|
+
AllowedMethods:
|
2006
2078
|
- is_a?
|
2007
2079
|
# Method definition macros for dynamically generated methods.
|
2008
2080
|
MethodDefinitionMacros:
|
@@ -2020,45 +2092,6 @@ Naming/RescuedExceptionsVariableName:
|
|
2020
2092
|
VersionChanged: '0.68'
|
2021
2093
|
PreferredName: e
|
2022
2094
|
|
2023
|
-
Naming/UncommunicativeBlockParamName:
|
2024
|
-
Description: >-
|
2025
|
-
Checks for block parameter names that contain capital letters,
|
2026
|
-
end in numbers, or do not meet a minimal length.
|
2027
|
-
Enabled: true
|
2028
|
-
VersionAdded: '0.53'
|
2029
|
-
# Parameter names may be equal to or greater than this value
|
2030
|
-
MinNameLength: 1
|
2031
|
-
AllowNamesEndingInNumbers: true
|
2032
|
-
# Whitelisted names that will not register an offense
|
2033
|
-
AllowedNames: []
|
2034
|
-
# Blacklisted names that will register an offense
|
2035
|
-
ForbiddenNames: []
|
2036
|
-
|
2037
|
-
Naming/UncommunicativeMethodParamName:
|
2038
|
-
Description: >-
|
2039
|
-
Checks for method parameter names that contain capital letters,
|
2040
|
-
end in numbers, or do not meet a minimal length.
|
2041
|
-
Enabled: true
|
2042
|
-
VersionAdded: '0.53'
|
2043
|
-
VersionChanged: '0.59'
|
2044
|
-
# Parameter names may be equal to or greater than this value
|
2045
|
-
MinNameLength: 3
|
2046
|
-
AllowNamesEndingInNumbers: true
|
2047
|
-
# Whitelisted names that will not register an offense
|
2048
|
-
AllowedNames:
|
2049
|
-
- io
|
2050
|
-
- id
|
2051
|
-
- to
|
2052
|
-
- by
|
2053
|
-
- 'on'
|
2054
|
-
- in
|
2055
|
-
- at
|
2056
|
-
- ip
|
2057
|
-
- db
|
2058
|
-
# Blacklisted names that will register an offense
|
2059
|
-
ForbiddenNames: []
|
2060
|
-
|
2061
|
-
|
2062
2095
|
Naming/VariableName:
|
2063
2096
|
Description: 'Use the configured style when naming variables.'
|
2064
2097
|
StyleGuide: '#snake-case-symbols-methods-vars'
|
@@ -2705,7 +2738,7 @@ Style/FormatStringToken:
|
|
2705
2738
|
- template
|
2706
2739
|
- unannotated
|
2707
2740
|
VersionAdded: '0.49'
|
2708
|
-
VersionChanged: '0.
|
2741
|
+
VersionChanged: '0.75'
|
2709
2742
|
|
2710
2743
|
Style/FrozenStringLiteralComment:
|
2711
2744
|
Description: >-
|
@@ -2853,8 +2886,9 @@ Style/IpAddresses:
|
|
2853
2886
|
Description: "Don't include literal IP addresses in code."
|
2854
2887
|
Enabled: false
|
2855
2888
|
VersionAdded: '0.58'
|
2856
|
-
|
2857
|
-
|
2889
|
+
VersionChanged: '0.77'
|
2890
|
+
# Allow addresses to be permitted
|
2891
|
+
AllowedAddresses:
|
2858
2892
|
- "::"
|
2859
2893
|
# :: is a valid IPv6 address, but could potentially be legitimately in code
|
2860
2894
|
|
@@ -2898,6 +2932,7 @@ Style/MethodCallWithArgsParentheses:
|
|
2898
2932
|
VersionChanged: '0.61'
|
2899
2933
|
IgnoreMacros: true
|
2900
2934
|
IgnoredMethods: []
|
2935
|
+
IgnoredPatterns: []
|
2901
2936
|
IncludedMacros: []
|
2902
2937
|
AllowParenthesesInMultilineCall: false
|
2903
2938
|
AllowParenthesesInChaining: false
|
@@ -3052,7 +3087,7 @@ Style/MultilineWhenThen:
|
|
3052
3087
|
Description: 'Do not use then for multi-line when statement.'
|
3053
3088
|
StyleGuide: '#no-then'
|
3054
3089
|
Enabled: true
|
3055
|
-
VersionAdded: '0.
|
3090
|
+
VersionAdded: '0.73'
|
3056
3091
|
|
3057
3092
|
Style/MultipleComparison:
|
3058
3093
|
Description: >-
|
@@ -3126,8 +3161,8 @@ Style/NestedParenthesizedCalls:
|
|
3126
3161
|
argument list of another parenthesized method call.
|
3127
3162
|
Enabled: true
|
3128
3163
|
VersionAdded: '0.36'
|
3129
|
-
VersionChanged: '0.
|
3130
|
-
|
3164
|
+
VersionChanged: '0.77'
|
3165
|
+
AllowedMethods:
|
3131
3166
|
- be
|
3132
3167
|
- be_a
|
3133
3168
|
- be_an
|
@@ -3380,6 +3415,16 @@ Style/RedundantBegin:
|
|
3380
3415
|
VersionAdded: '0.10'
|
3381
3416
|
VersionChanged: '0.21'
|
3382
3417
|
|
3418
|
+
Style/RedundantCapitalW:
|
3419
|
+
Description: 'Checks for %W when interpolation is not needed.'
|
3420
|
+
Enabled: true
|
3421
|
+
VersionAdded: '0.76'
|
3422
|
+
|
3423
|
+
Style/RedundantCondition:
|
3424
|
+
Description: 'Checks for unnecessary conditional expressions.'
|
3425
|
+
Enabled: true
|
3426
|
+
VersionAdded: '0.76'
|
3427
|
+
|
3383
3428
|
Style/RedundantConditional:
|
3384
3429
|
Description: "Don't return true/false from a conditional."
|
3385
3430
|
Enabled: true
|
@@ -3398,11 +3443,22 @@ Style/RedundantFreeze:
|
|
3398
3443
|
VersionAdded: '0.34'
|
3399
3444
|
VersionChanged: '0.66'
|
3400
3445
|
|
3446
|
+
Style/RedundantInterpolation:
|
3447
|
+
Description: 'Checks for strings that are just an interpolated expression.'
|
3448
|
+
Enabled: true
|
3449
|
+
VersionAdded: '0.76'
|
3450
|
+
|
3401
3451
|
Style/RedundantParentheses:
|
3402
3452
|
Description: "Checks for parentheses that seem not to serve any purpose."
|
3403
3453
|
Enabled: true
|
3404
3454
|
VersionAdded: '0.36'
|
3405
3455
|
|
3456
|
+
Style/RedundantPercentQ:
|
3457
|
+
Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
|
3458
|
+
StyleGuide: '#percent-q'
|
3459
|
+
Enabled: true
|
3460
|
+
VersionAdded: '0.76'
|
3461
|
+
|
3406
3462
|
Style/RedundantReturn:
|
3407
3463
|
Description: "Don't use return where it's not required."
|
3408
3464
|
StyleGuide: '#no-explicit-return'
|
@@ -3419,6 +3475,13 @@ Style/RedundantSelf:
|
|
3419
3475
|
VersionAdded: '0.10'
|
3420
3476
|
VersionChanged: '0.13'
|
3421
3477
|
|
3478
|
+
Style/RedundantSort:
|
3479
|
+
Description: >-
|
3480
|
+
Use `min` instead of `sort.first`,
|
3481
|
+
`max_by` instead of `sort_by...last`, etc.
|
3482
|
+
Enabled: true
|
3483
|
+
VersionAdded: '0.76'
|
3484
|
+
|
3422
3485
|
Style/RedundantSortBy:
|
3423
3486
|
Description: 'Use `sort` instead of `sort_by { |x| x }`.'
|
3424
3487
|
Enabled: true
|
@@ -3476,11 +3539,11 @@ Style/SafeNavigation:
|
|
3476
3539
|
safe navigation (`&.`).
|
3477
3540
|
Enabled: true
|
3478
3541
|
VersionAdded: '0.43'
|
3479
|
-
VersionChanged: '0.
|
3542
|
+
VersionChanged: '0.77'
|
3480
3543
|
# Safe navigation may cause a statement to start returning `nil` in addition
|
3481
3544
|
# to whatever it used to return.
|
3482
3545
|
ConvertCodeThatCanStartToReturnNil: false
|
3483
|
-
|
3546
|
+
AllowedMethods:
|
3484
3547
|
- present?
|
3485
3548
|
- blank?
|
3486
3549
|
- presence
|
@@ -3585,6 +3648,8 @@ Style/StringHashKeys:
|
|
3585
3648
|
StyleGuide: '#symbols-as-keys'
|
3586
3649
|
Enabled: false
|
3587
3650
|
VersionAdded: '0.52'
|
3651
|
+
VersionChanged: '0.75'
|
3652
|
+
Safe: false
|
3588
3653
|
|
3589
3654
|
Style/StringLiterals:
|
3590
3655
|
Description: 'Checks if uses of quotes match the configured preference.'
|
@@ -3756,7 +3821,7 @@ Style/TrivialAccessors:
|
|
3756
3821
|
StyleGuide: '#attr_family'
|
3757
3822
|
Enabled: true
|
3758
3823
|
VersionAdded: '0.9'
|
3759
|
-
VersionChanged: '0.
|
3824
|
+
VersionChanged: '0.77'
|
3760
3825
|
# When set to `false` the cop will suggest the use of accessor methods
|
3761
3826
|
# in situations like:
|
3762
3827
|
#
|
@@ -3777,7 +3842,7 @@ Style/TrivialAccessors:
|
|
3777
3842
|
# Commonly used in DSLs
|
3778
3843
|
AllowDSLWriters: false
|
3779
3844
|
IgnoreClassMethods: false
|
3780
|
-
|
3845
|
+
AllowedMethod:
|
3781
3846
|
- to_ary
|
3782
3847
|
- to_a
|
3783
3848
|
- to_c
|
@@ -3804,35 +3869,6 @@ Style/UnlessElse:
|
|
3804
3869
|
Enabled: true
|
3805
3870
|
VersionAdded: '0.9'
|
3806
3871
|
|
3807
|
-
Style/UnneededCapitalW:
|
3808
|
-
Description: 'Checks for %W when interpolation is not needed.'
|
3809
|
-
Enabled: true
|
3810
|
-
VersionAdded: '0.21'
|
3811
|
-
VersionChanged: '0.24'
|
3812
|
-
|
3813
|
-
Style/UnneededCondition:
|
3814
|
-
Description: 'Checks for unnecessary conditional expressions.'
|
3815
|
-
Enabled: true
|
3816
|
-
VersionAdded: '0.57'
|
3817
|
-
|
3818
|
-
Style/UnneededInterpolation:
|
3819
|
-
Description: 'Checks for strings that are just an interpolated expression.'
|
3820
|
-
Enabled: true
|
3821
|
-
VersionAdded: '0.36'
|
3822
|
-
|
3823
|
-
Style/UnneededPercentQ:
|
3824
|
-
Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
|
3825
|
-
StyleGuide: '#percent-q'
|
3826
|
-
Enabled: true
|
3827
|
-
VersionAdded: '0.24'
|
3828
|
-
|
3829
|
-
Style/UnneededSort:
|
3830
|
-
Description: >-
|
3831
|
-
Use `min` instead of `sort.first`,
|
3832
|
-
`max_by` instead of `sort_by...last`, etc.
|
3833
|
-
Enabled: true
|
3834
|
-
VersionAdded: '0.55'
|
3835
|
-
|
3836
3872
|
Style/UnpackFirst:
|
3837
3873
|
Description: >-
|
3838
3874
|
Checks for accessing the first element of `String#unpack`
|
@@ -3903,8 +3939,9 @@ Style/YodaCondition:
|
|
3903
3939
|
- require_for_all_comparison_operators
|
3904
3940
|
# enforce yoda only for equality operators: `!=` and `==`
|
3905
3941
|
- require_for_equality_operators_only
|
3942
|
+
Safe: false
|
3906
3943
|
VersionAdded: '0.49'
|
3907
|
-
VersionChanged: '0.
|
3944
|
+
VersionChanged: '0.75'
|
3908
3945
|
|
3909
3946
|
Style/ZeroLengthPredicate:
|
3910
3947
|
Description: 'Use #empty? when testing for objects of length 0.'
|