rubocop 1.5.1 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/config/default.yml +111 -14
- data/config/obsoletion.yml +196 -0
- data/lib/rubocop.rb +20 -1
- data/lib/rubocop/cli/command/suggest_extensions.rb +19 -19
- data/lib/rubocop/comment_config.rb +6 -6
- data/lib/rubocop/config.rb +8 -5
- data/lib/rubocop/config_loader.rb +10 -6
- data/lib/rubocop/config_loader_resolver.rb +21 -4
- data/lib/rubocop/config_obsoletion.rb +64 -262
- data/lib/rubocop/config_obsoletion/changed_enforced_styles.rb +33 -0
- data/lib/rubocop/config_obsoletion/changed_parameter.rb +21 -0
- data/lib/rubocop/config_obsoletion/cop_rule.rb +34 -0
- data/lib/rubocop/config_obsoletion/extracted_cop.rb +44 -0
- data/lib/rubocop/config_obsoletion/parameter_rule.rb +44 -0
- data/lib/rubocop/config_obsoletion/removed_cop.rb +41 -0
- data/lib/rubocop/config_obsoletion/renamed_cop.rb +34 -0
- data/lib/rubocop/config_obsoletion/rule.rb +41 -0
- data/lib/rubocop/config_obsoletion/split_cop.rb +27 -0
- data/lib/rubocop/config_validator.rb +11 -4
- data/lib/rubocop/cop/base.rb +17 -15
- data/lib/rubocop/cop/cop.rb +2 -2
- data/lib/rubocop/cop/correctors/string_literal_corrector.rb +6 -8
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +3 -2
- data/lib/rubocop/cop/internal_affairs.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +145 -0
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +19 -3
- data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +1 -1
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +26 -0
- data/lib/rubocop/cop/layout/line_length.rb +6 -16
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +7 -3
- data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -10
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -0
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +2 -0
- data/lib/rubocop/cop/layout/space_before_brackets.rb +62 -0
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +13 -10
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +2 -2
- data/lib/rubocop/cop/lint/ambiguous_assignment.rb +59 -0
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +7 -2
- data/lib/rubocop/cop/lint/deprecated_constants.rb +75 -0
- data/lib/rubocop/cop/lint/duplicate_branch.rb +64 -2
- data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +44 -0
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +10 -6
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +2 -1
- data/lib/rubocop/cop/lint/redundant_dir_glob_sort.rb +48 -0
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +50 -17
- data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -11
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +13 -0
- data/lib/rubocop/cop/lint/unreachable_loop.rb +17 -0
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -1
- data/lib/rubocop/cop/migration/department_name.rb +1 -1
- data/lib/rubocop/cop/mixin/allowed_identifiers.rb +18 -0
- data/lib/rubocop/cop/mixin/comments_help.rb +1 -10
- data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -1
- data/lib/rubocop/cop/mixin/string_help.rb +4 -1
- data/lib/rubocop/cop/naming/accessor_method_name.rb +15 -1
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +59 -5
- data/lib/rubocop/cop/naming/variable_name.rb +2 -0
- data/lib/rubocop/cop/naming/variable_number.rb +1 -8
- data/lib/rubocop/cop/registry.rb +10 -0
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +3 -1
- data/lib/rubocop/cop/style/character_literal.rb +10 -11
- data/lib/rubocop/cop/style/collection_methods.rb +14 -1
- data/lib/rubocop/cop/style/commented_keyword.rb +22 -5
- data/lib/rubocop/cop/style/empty_literal.rb +6 -2
- data/lib/rubocop/cop/style/endless_method.rb +102 -0
- data/lib/rubocop/cop/style/float_division.rb +44 -1
- data/lib/rubocop/cop/style/for.rb +2 -0
- data/lib/rubocop/cop/style/hash_except.rb +95 -0
- data/lib/rubocop/cop/style/hash_like_case.rb +2 -1
- data/lib/rubocop/cop/style/if_inside_else.rb +8 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +4 -0
- data/lib/rubocop/cop/style/ip_addresses.rb +1 -1
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +12 -2
- data/lib/rubocop/cop/style/lambda_call.rb +2 -1
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +7 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +16 -6
- data/lib/rubocop/cop/style/method_def_parentheses.rb +7 -0
- data/lib/rubocop/cop/style/multiline_method_signature.rb +26 -1
- data/lib/rubocop/cop/style/multiline_when_then.rb +3 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +13 -3
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +4 -0
- data/lib/rubocop/cop/style/perl_backrefs.rb +86 -9
- data/lib/rubocop/cop/style/raise_args.rb +5 -2
- data/lib/rubocop/cop/style/redundant_argument.rb +21 -2
- data/lib/rubocop/cop/style/redundant_freeze.rb +8 -4
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +24 -8
- data/lib/rubocop/cop/style/redundant_return.rb +1 -1
- data/lib/rubocop/cop/style/single_line_block_params.rb +30 -7
- data/lib/rubocop/cop/style/single_line_methods.rb +33 -2
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +25 -9
- data/lib/rubocop/cop/style/special_global_vars.rb +1 -13
- data/lib/rubocop/cop/style/string_concatenation.rb +26 -1
- data/lib/rubocop/cop/style/string_literals.rb +14 -8
- data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +4 -3
- data/lib/rubocop/cop/style/symbol_proc.rb +5 -4
- data/lib/rubocop/cop/util.rb +3 -1
- data/lib/rubocop/ext/regexp_node.rb +31 -9
- data/lib/rubocop/ext/regexp_parser.rb +21 -3
- data/lib/rubocop/formatter/emacs_style_formatter.rb +2 -0
- data/lib/rubocop/formatter/simple_text_formatter.rb +2 -0
- data/lib/rubocop/formatter/tap_formatter.rb +2 -0
- data/lib/rubocop/lockfile.rb +40 -0
- data/lib/rubocop/options.rb +9 -9
- data/lib/rubocop/rspec/cop_helper.rb +0 -4
- data/lib/rubocop/rspec/expect_offense.rb +34 -22
- data/lib/rubocop/runner.rb +16 -1
- data/lib/rubocop/target_finder.rb +4 -2
- data/lib/rubocop/target_ruby.rb +47 -11
- data/lib/rubocop/util.rb +16 -0
- data/lib/rubocop/version.rb +8 -2
- metadata +42 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e14b02ef2156539b9acbf92f0a131cbf5459cccdbb799cf96116f51b61e45c3
|
4
|
+
data.tar.gz: 2322dcababa13d2dbc001fc4a6fb8fe8c39e39b0d27869f4b1b5c59aceefa577
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afc301f47f48f46587318215a0d64a246ac9f4007f7c2396867a1c26cff2a467d59ebd30531adaf5dd3eebcaea001f19b34ab4737bebfe4b51dda7f329a0b4f9
|
7
|
+
data.tar.gz: ee54178b27d0dc5e058f004a27ea53d581583bf3386bf2fc572b4b16ad6099d849720935a6c632aaade0a3c71ca92129c0b3c9dc4dff80e00977d5141bc02615
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -51,7 +51,7 @@ To prevent an unwanted RuboCop update you might want to use a conservative versi
|
|
51
51
|
in your `Gemfile`:
|
52
52
|
|
53
53
|
```rb
|
54
|
-
gem 'rubocop', '~> 1.
|
54
|
+
gem 'rubocop', '~> 1.8', require: false
|
55
55
|
```
|
56
56
|
|
57
57
|
See [versioning](https://docs.rubocop.org/rubocop/1.0/versioning.html) for further details.
|
@@ -241,5 +241,5 @@ RuboCop's changelog is available [here](CHANGELOG.md).
|
|
241
241
|
|
242
242
|
## Copyright
|
243
243
|
|
244
|
-
Copyright (c) 2012-
|
244
|
+
Copyright (c) 2012-2021 Bozhidar Batsov. See [LICENSE.txt](LICENSE.txt) for
|
245
245
|
further details.
|
data/config/default.yml
CHANGED
@@ -132,12 +132,13 @@ AllCops:
|
|
132
132
|
# If a value is specified for TargetRubyVersion then it is used. Acceptable
|
133
133
|
# values are specificed as a float (i.e. 2.5); the teeny version of Ruby
|
134
134
|
# should not be included. If the project specifies a Ruby version in the
|
135
|
-
# .ruby-version
|
136
|
-
# the desired version of Ruby by inspecting the
|
137
|
-
#
|
138
|
-
#
|
139
|
-
# from the lock file.) If the
|
140
|
-
#
|
135
|
+
# .tool-versions or .ruby-version files, Gemfile or gems.rb file, RuboCop will
|
136
|
+
# try to determine the desired version of Ruby by inspecting the
|
137
|
+
# .tool-versions file first, then .ruby-version, followed by the Gemfile.lock
|
138
|
+
# or gems.locked file. (Although the Ruby version is specified in the Gemfile
|
139
|
+
# or gems.rb file, RuboCop reads the final value from the lock file.) If the
|
140
|
+
# Ruby version is still unresolved, RuboCop will use the oldest officially
|
141
|
+
# supported Ruby version (currently Ruby 2.4).
|
141
142
|
TargetRubyVersion: ~
|
142
143
|
# Determines if a notification for extension libraries should be shown when
|
143
144
|
# rubocop is run. Keys are the name of the extension, and values are an array
|
@@ -473,7 +474,7 @@ Layout/EmptyLineBetweenDefs:
|
|
473
474
|
StyleGuide: '#empty-lines-between-methods'
|
474
475
|
Enabled: true
|
475
476
|
VersionAdded: '0.49'
|
476
|
-
VersionChanged: '1.
|
477
|
+
VersionChanged: '1.7'
|
477
478
|
EmptyLineBetweenMethodDefs: true
|
478
479
|
EmptyLineBetweenClassDefs: true
|
479
480
|
EmptyLineBetweenModuleDefs: true
|
@@ -1192,6 +1193,12 @@ Layout/SpaceBeforeBlockBraces:
|
|
1192
1193
|
- no_space
|
1193
1194
|
VersionChanged: '0.52'
|
1194
1195
|
|
1196
|
+
Layout/SpaceBeforeBrackets:
|
1197
|
+
Description: 'Checks for receiver with a space before the opening brackets.'
|
1198
|
+
StyleGuide: '#space-in-brackets-access'
|
1199
|
+
Enabled: pending
|
1200
|
+
VersionAdded: '1.7'
|
1201
|
+
|
1195
1202
|
Layout/SpaceBeforeComma:
|
1196
1203
|
Description: 'No spaces before commas.'
|
1197
1204
|
Enabled: true
|
@@ -1354,6 +1361,11 @@ Layout/TrailingWhitespace:
|
|
1354
1361
|
#################### Lint ##################################
|
1355
1362
|
### Warnings
|
1356
1363
|
|
1364
|
+
Lint/AmbiguousAssignment:
|
1365
|
+
Description: 'Checks for mistyped shorthand assignments.'
|
1366
|
+
Enabled: pending
|
1367
|
+
VersionAdded: '1.7'
|
1368
|
+
|
1357
1369
|
Lint/AmbiguousBlockAssociation:
|
1358
1370
|
Description: >-
|
1359
1371
|
Checks for ambiguous block association with method when param passed without
|
@@ -1396,6 +1408,7 @@ Lint/BinaryOperatorWithIdenticalOperands:
|
|
1396
1408
|
Enabled: true
|
1397
1409
|
Safe: false
|
1398
1410
|
VersionAdded: '0.89'
|
1411
|
+
VersionChanged: '1.7'
|
1399
1412
|
|
1400
1413
|
Lint/BooleanSymbol:
|
1401
1414
|
Description: 'Check for `:true` and `:false` symbols.'
|
@@ -1456,6 +1469,34 @@ Lint/DeprecatedClassMethods:
|
|
1456
1469
|
Enabled: true
|
1457
1470
|
VersionAdded: '0.19'
|
1458
1471
|
|
1472
|
+
Lint/DeprecatedConstants:
|
1473
|
+
Description: 'Checks for deprecated constants.'
|
1474
|
+
Enabled: pending
|
1475
|
+
VersionAdded: '1.8'
|
1476
|
+
# You can configure deprecated constants.
|
1477
|
+
# If there is an alternative method, you can set alternative value as `Alternative`.
|
1478
|
+
# And you can set the deprecated version as `DeprecatedVersion`.
|
1479
|
+
# These options can be omitted if they are not needed.
|
1480
|
+
#
|
1481
|
+
# DeprecatedConstants:
|
1482
|
+
# 'DEPRECATED_CONSTANT':
|
1483
|
+
# Alternative: 'alternative_value'
|
1484
|
+
# DeprecatedVersion: 'deprecated_version'
|
1485
|
+
#
|
1486
|
+
DeprecatedConstants:
|
1487
|
+
'NIL':
|
1488
|
+
Alternative: 'nil'
|
1489
|
+
DeprecatedVersion: '2.4'
|
1490
|
+
'TRUE':
|
1491
|
+
Alternative: 'true'
|
1492
|
+
DeprecatedVersion: '2.4'
|
1493
|
+
'FALSE':
|
1494
|
+
Alternative: 'false'
|
1495
|
+
DeprecatedVersion: '2.4'
|
1496
|
+
'Random::DEFAULT':
|
1497
|
+
Alternative: 'Random.new'
|
1498
|
+
DeprecatedVersion: '3.0'
|
1499
|
+
|
1459
1500
|
Lint/DeprecatedOpenSSLConstant:
|
1460
1501
|
Description: "Don't use algorithm constants for `OpenSSL::Cipher` and `OpenSSL::Digest`."
|
1461
1502
|
Enabled: true
|
@@ -1472,6 +1513,9 @@ Lint/DuplicateBranch:
|
|
1472
1513
|
Description: Checks that there are no repeated bodies within `if/unless`, `case-when` and `rescue` constructs.
|
1473
1514
|
Enabled: pending
|
1474
1515
|
VersionAdded: '1.3'
|
1516
|
+
VersionChanged: '1.7'
|
1517
|
+
IgnoreLiteralBranches: false
|
1518
|
+
IgnoreConstantBranches: false
|
1475
1519
|
|
1476
1520
|
Lint/DuplicateCaseCondition:
|
1477
1521
|
Description: 'Do not repeat values in case conditionals.'
|
@@ -1658,6 +1702,11 @@ Lint/InterpolationCheck:
|
|
1658
1702
|
VersionAdded: '0.50'
|
1659
1703
|
VersionChanged: '0.87'
|
1660
1704
|
|
1705
|
+
Lint/LambdaWithoutLiteralBlock:
|
1706
|
+
Description: 'Checks uses of lambda without a literal block.'
|
1707
|
+
Enabled: pending
|
1708
|
+
VersionAdded: '1.8'
|
1709
|
+
|
1661
1710
|
Lint/LiteralAsCondition:
|
1662
1711
|
Description: 'Checks of literals used in conditions.'
|
1663
1712
|
Enabled: true
|
@@ -1820,6 +1869,11 @@ Lint/RedundantCopEnableDirective:
|
|
1820
1869
|
Enabled: true
|
1821
1870
|
VersionAdded: '0.76'
|
1822
1871
|
|
1872
|
+
Lint/RedundantDirGlobSort:
|
1873
|
+
Description: 'Checks for redundant `sort` method to `Dir.glob` and `Dir[]`.'
|
1874
|
+
Enabled: pending
|
1875
|
+
VersionAdded: '1.8'
|
1876
|
+
|
1823
1877
|
Lint/RedundantRequireStatement:
|
1824
1878
|
Description: 'Checks for unnecessary `require` statement.'
|
1825
1879
|
Enabled: true
|
@@ -1842,6 +1896,8 @@ Lint/RedundantSplatExpansion:
|
|
1842
1896
|
Description: 'Checks for splat unnecessarily being called on literals.'
|
1843
1897
|
Enabled: true
|
1844
1898
|
VersionAdded: '0.76'
|
1899
|
+
VersionChanged: '1.7'
|
1900
|
+
AllowPercentLiteralArrayArgument: true
|
1845
1901
|
|
1846
1902
|
Lint/RedundantStringCoercion:
|
1847
1903
|
Description: 'Checks for Object#to_s usage in string interpolation.'
|
@@ -2045,6 +2101,11 @@ Lint/UnreachableLoop:
|
|
2045
2101
|
Description: 'This cop checks for loops that will have at most one iteration.'
|
2046
2102
|
Enabled: true
|
2047
2103
|
VersionAdded: '0.89'
|
2104
|
+
VersionChanged: '1.7'
|
2105
|
+
IgnoredPatterns:
|
2106
|
+
# RSpec uses `times` in its message expectations
|
2107
|
+
# eg. `exactly(2).times`
|
2108
|
+
- !ruby/regexp /(exactly|at_least|at_most)\(\d+\)\.times/
|
2048
2109
|
|
2049
2110
|
Lint/UnusedBlockArgument:
|
2050
2111
|
Description: 'Checks for unused block arguments.'
|
@@ -2479,10 +2540,12 @@ Naming/VariableName:
|
|
2479
2540
|
StyleGuide: '#snake-case-symbols-methods-vars'
|
2480
2541
|
Enabled: true
|
2481
2542
|
VersionAdded: '0.50'
|
2543
|
+
VersionChanged: '1.8'
|
2482
2544
|
EnforcedStyle: snake_case
|
2483
2545
|
SupportedStyles:
|
2484
2546
|
- snake_case
|
2485
2547
|
- camelCase
|
2548
|
+
AllowedIdentifiers: []
|
2486
2549
|
|
2487
2550
|
Naming/VariableNumber:
|
2488
2551
|
Description: 'Use the configured style when numbering symbols, methods and variables.'
|
@@ -2895,7 +2958,7 @@ Style/CollectionMethods:
|
|
2895
2958
|
StyleGuide: '#map-find-select-reduce-include-size'
|
2896
2959
|
Enabled: false
|
2897
2960
|
VersionAdded: '0.9'
|
2898
|
-
VersionChanged: '
|
2961
|
+
VersionChanged: '1.7'
|
2899
2962
|
Safe: false
|
2900
2963
|
# Mapping from undesired method to desired method
|
2901
2964
|
# e.g. to use `detect` over `find`:
|
@@ -2910,6 +2973,11 @@ Style/CollectionMethods:
|
|
2910
2973
|
detect: 'find'
|
2911
2974
|
find_all: 'select'
|
2912
2975
|
member?: 'include?'
|
2976
|
+
# Methods in this array accept a final symbol as an implicit block
|
2977
|
+
# eg. `inject(:+)`
|
2978
|
+
MethodsAcceptingSymbol:
|
2979
|
+
- inject
|
2980
|
+
- reduce
|
2913
2981
|
|
2914
2982
|
Style/ColonMethodCall:
|
2915
2983
|
Description: 'Do not use :: for method call.'
|
@@ -2969,6 +3037,7 @@ Style/CommentedKeyword:
|
|
2969
3037
|
Description: 'Do not place comments on the same line as certain keywords.'
|
2970
3038
|
Enabled: true
|
2971
3039
|
VersionAdded: '0.51'
|
3040
|
+
VersionChanged: '1.7'
|
2972
3041
|
|
2973
3042
|
Style/ConditionalAssignment:
|
2974
3043
|
Description: >-
|
@@ -3168,6 +3237,17 @@ Style/EndBlock:
|
|
3168
3237
|
VersionAdded: '0.9'
|
3169
3238
|
VersionChanged: '0.81'
|
3170
3239
|
|
3240
|
+
Style/EndlessMethod:
|
3241
|
+
Description: 'Avoid the use of multi-lined endless method definitions.'
|
3242
|
+
StyleGuide: '#endless-methods'
|
3243
|
+
Enabled: pending
|
3244
|
+
VersionAdded: '1.8'
|
3245
|
+
EnforcedStyle: allow_single_line
|
3246
|
+
SupportedStyles:
|
3247
|
+
- allow_single_line
|
3248
|
+
- allow_always
|
3249
|
+
- disallow
|
3250
|
+
|
3171
3251
|
Style/EvalWithLocation:
|
3172
3252
|
Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
|
3173
3253
|
Enabled: true
|
@@ -3209,9 +3289,10 @@ Style/ExponentialNotation:
|
|
3209
3289
|
Style/FloatDivision:
|
3210
3290
|
Description: 'For performing float division, coerce one side only.'
|
3211
3291
|
StyleGuide: '#float-division'
|
3212
|
-
Reference: 'https://
|
3292
|
+
Reference: 'https://blog.rubystyle.guide/ruby/2019/06/21/float-division.html'
|
3213
3293
|
Enabled: true
|
3214
3294
|
VersionAdded: '0.72'
|
3295
|
+
VersionChanged: '1.6'
|
3215
3296
|
EnforcedStyle: single_coerce
|
3216
3297
|
SupportedStyles:
|
3217
3298
|
- left_coerce
|
@@ -3327,6 +3408,13 @@ Style/HashEachMethods:
|
|
3327
3408
|
VersionAdded: '0.80'
|
3328
3409
|
Safe: false
|
3329
3410
|
|
3411
|
+
Style/HashExcept:
|
3412
|
+
Description: >-
|
3413
|
+
Checks for usages of `Hash#reject`, `Hash#select`, and `Hash#filter` methods
|
3414
|
+
that can be replaced with `Hash#except` method.
|
3415
|
+
Enabled: pending
|
3416
|
+
VersionAdded: '1.7'
|
3417
|
+
|
3330
3418
|
Style/HashLikeCase:
|
3331
3419
|
Description: >-
|
3332
3420
|
Checks for places where `case-when` represents a simple 1:1
|
@@ -3481,6 +3569,7 @@ Style/KeywordParametersOrder:
|
|
3481
3569
|
StyleGuide: '#keyword-parameters-order'
|
3482
3570
|
Enabled: true
|
3483
3571
|
VersionAdded: '0.90'
|
3572
|
+
VersionChanged: '1.7'
|
3484
3573
|
|
3485
3574
|
Style/Lambda:
|
3486
3575
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
@@ -3519,7 +3608,7 @@ Style/MethodCallWithArgsParentheses:
|
|
3519
3608
|
StyleGuide: '#method-invocation-parens'
|
3520
3609
|
Enabled: false
|
3521
3610
|
VersionAdded: '0.47'
|
3522
|
-
VersionChanged: '
|
3611
|
+
VersionChanged: '1.7'
|
3523
3612
|
IgnoreMacros: true
|
3524
3613
|
IgnoredMethods: []
|
3525
3614
|
IgnoredPatterns: []
|
@@ -3553,7 +3642,7 @@ Style/MethodDefParentheses:
|
|
3553
3642
|
StyleGuide: '#method-parens'
|
3554
3643
|
Enabled: true
|
3555
3644
|
VersionAdded: '0.16'
|
3556
|
-
VersionChanged: '
|
3645
|
+
VersionChanged: '1.7'
|
3557
3646
|
EnforcedStyle: require_parentheses
|
3558
3647
|
SupportedStyles:
|
3559
3648
|
- require_parentheses
|
@@ -3659,6 +3748,7 @@ Style/MultilineMethodSignature:
|
|
3659
3748
|
Description: 'Avoid multi-line method signatures.'
|
3660
3749
|
Enabled: false
|
3661
3750
|
VersionAdded: '0.59'
|
3751
|
+
VersionChanged: '1.7'
|
3662
3752
|
|
3663
3753
|
Style/MultilineTernaryOperator:
|
3664
3754
|
Description: >-
|
@@ -3687,7 +3777,8 @@ Style/MutableConstant:
|
|
3687
3777
|
Description: 'Do not assign mutable objects to constants.'
|
3688
3778
|
Enabled: true
|
3689
3779
|
VersionAdded: '0.34'
|
3690
|
-
VersionChanged: '
|
3780
|
+
VersionChanged: '1.8'
|
3781
|
+
SafeAutoCorrect: false
|
3691
3782
|
EnforcedStyle: literals
|
3692
3783
|
SupportedStyles:
|
3693
3784
|
# literals: freeze literals assigned to constants
|
@@ -4025,11 +4116,16 @@ Style/RedundantArgument:
|
|
4025
4116
|
Enabled: pending
|
4026
4117
|
Safe: false
|
4027
4118
|
VersionAdded: '1.4'
|
4119
|
+
VersionChanged: '1.7'
|
4028
4120
|
Methods:
|
4029
4121
|
# Array#join
|
4030
4122
|
join: ''
|
4031
4123
|
# String#split
|
4032
4124
|
split: ' '
|
4125
|
+
# String#chomp
|
4126
|
+
chomp: "\n"
|
4127
|
+
# String#chomp!
|
4128
|
+
chomp!: "\n"
|
4033
4129
|
|
4034
4130
|
Style/RedundantAssignment:
|
4035
4131
|
Description: 'Checks for redundant assignment before returning.'
|
@@ -4272,7 +4368,7 @@ Style/SingleLineBlockParams:
|
|
4272
4368
|
Description: 'Enforces the names of some block params.'
|
4273
4369
|
Enabled: false
|
4274
4370
|
VersionAdded: '0.16'
|
4275
|
-
VersionChanged: '
|
4371
|
+
VersionChanged: '1.6'
|
4276
4372
|
Methods:
|
4277
4373
|
- reduce:
|
4278
4374
|
- acc
|
@@ -4286,7 +4382,7 @@ Style/SingleLineMethods:
|
|
4286
4382
|
StyleGuide: '#no-single-line-methods'
|
4287
4383
|
Enabled: true
|
4288
4384
|
VersionAdded: '0.9'
|
4289
|
-
VersionChanged: '
|
4385
|
+
VersionChanged: '1.8'
|
4290
4386
|
AllowIfMethodIsEmpty: true
|
4291
4387
|
|
4292
4388
|
Style/SlicingWithRange:
|
@@ -4345,6 +4441,7 @@ Style/StringConcatenation:
|
|
4345
4441
|
Enabled: true
|
4346
4442
|
Safe: false
|
4347
4443
|
VersionAdded: '0.89'
|
4444
|
+
VersionChanged: '1.6'
|
4348
4445
|
|
4349
4446
|
Style/StringHashKeys:
|
4350
4447
|
Description: 'Prefer symbols instead of strings as hash keys.'
|
@@ -0,0 +1,196 @@
|
|
1
|
+
# Configuration of obsolete/deprecated cops used by `ConfigObsoletion`
|
2
|
+
|
3
|
+
# Cops that were renamed
|
4
|
+
renamed:
|
5
|
+
Layout/AlignArguments: Layout/ArgumentAlignment
|
6
|
+
Layout/AlignArray: Layout/ArrayAlignment
|
7
|
+
Layout/AlignHash: Layout/HashAlignment
|
8
|
+
Layout/AlignParameters: Layout/ParameterAlignment
|
9
|
+
Layout/IndentArray: Layout/FirstArrayElementIndentation
|
10
|
+
Layout/IndentAssignment: Layout/AssignmentIndentation
|
11
|
+
Layout/IndentFirstArgument: Layout/FirstArgumentIndentation
|
12
|
+
Layout/IndentFirstArrayElement: Layout/FirstArrayElementIndentation
|
13
|
+
Layout/IndentFirstHashElement: Layout/FirstHashElementIndentation
|
14
|
+
Layout/IndentFirstParameter: Layout/FirstParameterIndentation
|
15
|
+
Layout/IndentHash: Layout/FirstHashElementIndentation
|
16
|
+
Layout/IndentHeredoc: Layout/HeredocIndentation
|
17
|
+
Layout/LeadingBlankLines: Layout/LeadingEmptyLines
|
18
|
+
Layout/Tab: Layout/IndentationStyle
|
19
|
+
Layout/TrailingBlankLines: Layout/TrailingEmptyLines
|
20
|
+
Lint/BlockAlignment: Layout/BlockAlignment
|
21
|
+
Lint/DefEndAlignment: Layout/DefEndAlignment
|
22
|
+
Lint/DuplicatedKey: Lint/DuplicateHashKey
|
23
|
+
Lint/EndAlignment: Layout/EndAlignment
|
24
|
+
Lint/EndInMethod: Style/EndBlock
|
25
|
+
Lint/Eval: Security/Eval
|
26
|
+
Lint/HandleExceptions: Lint/SuppressedException
|
27
|
+
Lint/MultipleCompare: Lint/MultipleComparison
|
28
|
+
Lint/StringConversionInInterpolation: Lint/RedundantStringCoercion
|
29
|
+
Lint/UnneededCopDisableDirective: Lint/RedundantCopDisableDirective
|
30
|
+
Lint/UnneededCopEnableDirective: Lint/RedundantCopEnableDirective
|
31
|
+
Lint/UnneededRequireStatement: Lint/RedundantRequireStatement
|
32
|
+
Lint/UnneededSplatExpansion: Lint/RedundantSplatExpansion
|
33
|
+
Metrics/LineLength: Layout/LineLength
|
34
|
+
Naming/UncommunicativeBlockParamName: Naming/BlockParameterName
|
35
|
+
Naming/UncommunicativeMethodParamName: Naming/MethodParameterName
|
36
|
+
Style/AccessorMethodName: Naming/AccessorMethodName
|
37
|
+
Style/AsciiIdentifiers: Naming/AsciiIdentifiers
|
38
|
+
Style/ClassAndModuleCamelCase: Naming/ClassAndModuleCamelCase
|
39
|
+
Style/ConstantName: Naming/ConstantName
|
40
|
+
Style/DeprecatedHashMethods: Style/PreferredHashMethods
|
41
|
+
Style/FileName: Naming/FileName
|
42
|
+
Style/FlipFlop: Lint/FlipFlop
|
43
|
+
Style/MethodCallParentheses: Style/MethodCallWithoutArgsParentheses
|
44
|
+
Style/MethodName: Naming/MethodName
|
45
|
+
Style/OpMethod: Naming/BinaryOperatorParameterName
|
46
|
+
Style/PredicateName: Naming/PredicateName
|
47
|
+
Style/SingleSpaceBeforeFirstArg: Layout/SpaceBeforeFirstArg
|
48
|
+
Style/UnneededCapitalW: Style/RedundantCapitalW
|
49
|
+
Style/UnneededCondition: Style/RedundantCondition
|
50
|
+
Style/UnneededInterpolation: Style/RedundantInterpolation
|
51
|
+
Style/UnneededPercentQ: Style/RedundantPercentQ
|
52
|
+
Style/UnneededSort: Style/RedundantSort
|
53
|
+
Style/VariableName: Naming/VariableName
|
54
|
+
Style/VariableNumber: Naming/VariableNumber
|
55
|
+
|
56
|
+
# Cops that were removed
|
57
|
+
removed:
|
58
|
+
Layout/SpaceAfterControlKeyword:
|
59
|
+
alternatives: Layout/SpaceAroundKeyword
|
60
|
+
Layout/SpaceBeforeModifierKeyword:
|
61
|
+
alternatives: Layout/SpaceAroundKeyword
|
62
|
+
Lint/InvalidCharacterLiteral:
|
63
|
+
reason: it was never being actually triggered
|
64
|
+
Lint/RescueWithoutErrorClass:
|
65
|
+
alternatives: Style/RescueStandardError
|
66
|
+
Lint/SpaceBeforeFirstArg:
|
67
|
+
reason: >
|
68
|
+
it was a duplicate of `Layout/SpaceBeforeFirstArg`. Please use
|
69
|
+
`Layout/SpaceBeforeFirstArg` instead
|
70
|
+
Lint/UselessComparison:
|
71
|
+
reason: >
|
72
|
+
it has been superseded by
|
73
|
+
`Lint/BinaryOperatorWithIdenticalOperands`. Please use
|
74
|
+
`Lint/BinaryOperatorWithIdenticalOperands` instead
|
75
|
+
Style/BracesAroundHashParameters: true
|
76
|
+
Style/MethodMissingSuper:
|
77
|
+
reason: >
|
78
|
+
it has been superseded by `Lint/MissingSuper`. Please use
|
79
|
+
`Lint/MissingSuper` instead
|
80
|
+
Style/SpaceAfterControlKeyword:
|
81
|
+
alternatives: Layout/SpaceAroundKeyword
|
82
|
+
Style/SpaceBeforeModifierKeyword:
|
83
|
+
alternatives: Layout/SpaceAroundKeyword
|
84
|
+
Style/TrailingComma:
|
85
|
+
alternatives:
|
86
|
+
- Style/TrailingCommaInArguments
|
87
|
+
- Style/TrailingCommaInArrayLiteral
|
88
|
+
- Style/TrailingCommaInHashLiteral
|
89
|
+
Style/TrailingCommaInLiteral:
|
90
|
+
alternatives:
|
91
|
+
- Style/TrailingCommaInArrayLiteral
|
92
|
+
- Style/TrailingCommaInHashLiteral
|
93
|
+
|
94
|
+
# Cops split into multiple other cops
|
95
|
+
split:
|
96
|
+
Style/MethodMissing:
|
97
|
+
alternatives:
|
98
|
+
- Style/MethodMissingSuper
|
99
|
+
- Style/MissingRespondToMissing
|
100
|
+
|
101
|
+
# Cops that were extracted into a different gem
|
102
|
+
extracted:
|
103
|
+
Performance/*: rubocop-performance
|
104
|
+
Rails/*: rubocop-rails
|
105
|
+
|
106
|
+
# Cop parameters that have been changed
|
107
|
+
# Can be treated as a warning instead of a failure with `severity: warning`
|
108
|
+
changed_parameters:
|
109
|
+
- cops:
|
110
|
+
- Layout/SpaceAroundOperators
|
111
|
+
- Style/SpaceAroundOperators
|
112
|
+
parameters: MultiSpaceAllowedForOperators
|
113
|
+
reason: >
|
114
|
+
If your intention was to allow extra spaces for alignment, please
|
115
|
+
use `AllowForAlignment: true` instead.
|
116
|
+
- cops: Style/Encoding
|
117
|
+
parameters:
|
118
|
+
- EnforcedStyle
|
119
|
+
- SupportedStyles
|
120
|
+
- AutoCorrectEncodingComment
|
121
|
+
reason: '`Style/Encoding` no longer supports styles. The "never" behavior is always assumed.'
|
122
|
+
- cops: Style/IfUnlessModifier
|
123
|
+
parameters: MaxLineLength
|
124
|
+
reason: >
|
125
|
+
`Style/IfUnlessModifier: MaxLineLength` has been removed.
|
126
|
+
Use `Layout/LineLength: Max` instead
|
127
|
+
- cops: Style/WhileUntilModifier
|
128
|
+
parameters: MaxLineLength
|
129
|
+
reason: >
|
130
|
+
`Style/WhileUntilModifier: MaxLineLength` has been removed.
|
131
|
+
Use `Layout/LineLength: Max` instead
|
132
|
+
- cops: AllCops
|
133
|
+
parameters: RunRailsCops
|
134
|
+
reason: |-
|
135
|
+
Use the following configuration instead:
|
136
|
+
Rails:
|
137
|
+
Enabled: true
|
138
|
+
- cops: Layout/CaseIndentation
|
139
|
+
parameters: IndentWhenRelativeTo
|
140
|
+
alternative: EnforcedStyle
|
141
|
+
- cops:
|
142
|
+
- Lint/BlockAlignment
|
143
|
+
- Layout/BlockAlignment
|
144
|
+
- Lint/EndAlignment
|
145
|
+
- Layout/EndAlignment
|
146
|
+
- Lint/DefEndAlignment
|
147
|
+
- Layout/DefEndAlignment
|
148
|
+
parameters: AlignWith
|
149
|
+
alternative: EnforcedStyleAlignWith
|
150
|
+
- cops: Rails/UniqBeforePluck
|
151
|
+
parameters: EnforcedMode
|
152
|
+
alternative: EnforcedStyle
|
153
|
+
- cops: Style/MethodCallWithArgsParentheses
|
154
|
+
parameters: IgnoredMethodPatterns
|
155
|
+
alternative: IgnoredPatterns
|
156
|
+
- cops:
|
157
|
+
- Performance/Count
|
158
|
+
- Performance/Detect
|
159
|
+
parameters: SafeMode
|
160
|
+
reason: "`SafeMode` has been removed. Use `SafeAutoCorrect` instead."
|
161
|
+
- cops: Bundler/GemComment
|
162
|
+
parameters: Whitelist
|
163
|
+
alternative: IgnoredGems
|
164
|
+
- cops:
|
165
|
+
- Lint/SafeNavigationChain
|
166
|
+
- Lint/SafeNavigationConsistency
|
167
|
+
- Style/NestedParenthesizedCalls
|
168
|
+
- Style/SafeNavigation
|
169
|
+
- Style/TrivialAccessors
|
170
|
+
parameters: Whitelist
|
171
|
+
alternative: AllowedMethods
|
172
|
+
- cops: Style/IpAddresses
|
173
|
+
parameters: Whitelist
|
174
|
+
alternative: AllowedAddresses
|
175
|
+
- cops: Naming/HeredocDelimiterNaming
|
176
|
+
parameters: Blacklist
|
177
|
+
alternative: ForbiddenDelimiters
|
178
|
+
- cops: Naming/PredicateName
|
179
|
+
parameters: NamePrefixBlacklist
|
180
|
+
alternative: ForbiddenPrefixes
|
181
|
+
- cops: Naming/PredicateName
|
182
|
+
parameters: NameWhitelist
|
183
|
+
alternative: AllowedMethods
|
184
|
+
- cops:
|
185
|
+
- Metrics/BlockLength
|
186
|
+
- Metrics/MethodLength
|
187
|
+
parameters: ExcludedMethods
|
188
|
+
alternative: IgnoredMethods
|
189
|
+
severity: warning
|
190
|
+
|
191
|
+
# Enforced styles that have been removed or replaced
|
192
|
+
changed_enforced_styles:
|
193
|
+
- cops: Layout/IndentationConsistency
|
194
|
+
parameters: EnforcedStyle
|
195
|
+
value: rails
|
196
|
+
alternative: indented_internal_methods
|