makandra-rubocop 9.1.0 → 10.0.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/.ruby-version +1 -1
- data/CHANGELOG.md +9 -0
- data/Gemfile.lock +28 -27
- data/config/default.yml +278 -88
- data/config/ext/rails.yml +250 -14
- data/config/ext/rspec.yml +277 -100
- data/lib/makandra_rubocop/version.rb +1 -1
- data/makandra-rubocop.gemspec +4 -4
- metadata +10 -10
data/config/default.yml
CHANGED
@@ -157,6 +157,8 @@ AllCops:
|
|
157
157
|
rubocop-sequel: [sequel]
|
158
158
|
rubocop-rake: [rake]
|
159
159
|
rubocop-graphql: [graphql]
|
160
|
+
# Enable/Disable checking the methods extended by Active Support.
|
161
|
+
ActiveSupportExtensionsEnabled: false
|
160
162
|
|
161
163
|
#################### Bundler ###############################
|
162
164
|
|
@@ -239,10 +241,22 @@ Bundler/OrderedGems:
|
|
239
241
|
|
240
242
|
#################### Gemspec ###############################
|
241
243
|
|
242
|
-
Gemspec/
|
243
|
-
Description: '
|
244
|
+
Gemspec/DependencyVersion:
|
245
|
+
Description: 'Requires or forbids specifying gem dependency versions.'
|
246
|
+
Enabled: false
|
247
|
+
VersionAdded: '1.29'
|
248
|
+
EnforcedStyle: 'required'
|
249
|
+
SupportedStyles:
|
250
|
+
- 'required'
|
251
|
+
- 'forbidden'
|
252
|
+
Include:
|
253
|
+
- '**/*.gemspec'
|
254
|
+
AllowedGems: []
|
255
|
+
|
256
|
+
Gemspec/DeprecatedAttributeAssignment:
|
257
|
+
Description: Checks that deprecated attribute assignments are not set in a gemspec file.
|
244
258
|
Enabled: true
|
245
|
-
VersionAdded: '1.
|
259
|
+
VersionAdded: '1.30'
|
246
260
|
Include:
|
247
261
|
- '**/*.gemspec'
|
248
262
|
|
@@ -266,8 +280,8 @@ Gemspec/OrderedDependencies:
|
|
266
280
|
- '**/*.gemspec'
|
267
281
|
|
268
282
|
Gemspec/RequireMFA:
|
269
|
-
Description: 'Checks that the gemspec has metadata to require
|
270
|
-
Enabled:
|
283
|
+
Description: 'Checks that the gemspec has metadata to require Multi-Factor Authentication from RubyGems.'
|
284
|
+
Enabled: true
|
271
285
|
VersionAdded: '1.23'
|
272
286
|
Reference:
|
273
287
|
- https://guides.rubygems.org/mfa-requirement-opt-in/
|
@@ -301,8 +315,8 @@ Layout/AccessModifierIndentation:
|
|
301
315
|
SupportedStyles:
|
302
316
|
- outdent
|
303
317
|
- indent
|
304
|
-
# By default
|
305
|
-
#
|
318
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
319
|
+
# but it can be overridden by setting this parameter.
|
306
320
|
IndentationWidth: ~
|
307
321
|
|
308
322
|
Layout/ArgumentAlignment:
|
@@ -330,8 +344,8 @@ Layout/ArgumentAlignment:
|
|
330
344
|
SupportedStyles:
|
331
345
|
- with_first_argument
|
332
346
|
- with_fixed_indentation
|
333
|
-
# By default
|
334
|
-
#
|
347
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
348
|
+
# but it can be overridden by setting this parameter.
|
335
349
|
IndentationWidth: ~
|
336
350
|
|
337
351
|
Layout/ArrayAlignment:
|
@@ -359,8 +373,8 @@ Layout/ArrayAlignment:
|
|
359
373
|
SupportedStyles:
|
360
374
|
- with_first_element
|
361
375
|
- with_fixed_indentation
|
362
|
-
# By default
|
363
|
-
#
|
376
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
377
|
+
# but it can be overridden by setting this parameter.
|
364
378
|
IndentationWidth: ~
|
365
379
|
|
366
380
|
Layout/AssignmentIndentation:
|
@@ -370,8 +384,8 @@ Layout/AssignmentIndentation:
|
|
370
384
|
Enabled: false # We do not want to write the assignment in the following line
|
371
385
|
VersionAdded: '0.49'
|
372
386
|
VersionChanged: '0.77'
|
373
|
-
# By default
|
374
|
-
#
|
387
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
388
|
+
# but it can be overridden by setting this parameter.
|
375
389
|
IndentationWidth: ~
|
376
390
|
|
377
391
|
Layout/BeginEndAlignment:
|
@@ -418,9 +432,9 @@ Layout/CaseIndentation:
|
|
418
432
|
- case
|
419
433
|
- end
|
420
434
|
IndentOneStep: false
|
421
|
-
# By default
|
422
|
-
#
|
423
|
-
# This only matters if `IndentOneStep` is `true
|
435
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
436
|
+
# but it can be overridden by setting this parameter.
|
437
|
+
# This only matters if `IndentOneStep` is `true`.
|
424
438
|
IndentationWidth: ~
|
425
439
|
|
426
440
|
Layout/ClassStructure:
|
@@ -701,8 +715,8 @@ Layout/FirstArgumentIndentation:
|
|
701
715
|
# Same as `special_for_inner_method_call` except that the special rule only
|
702
716
|
# applies if the outer method call encloses its arguments in parentheses.
|
703
717
|
- special_for_inner_method_call_in_parentheses
|
704
|
-
# By default
|
705
|
-
#
|
718
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
719
|
+
# but it can be overridden by setting this parameter.
|
706
720
|
IndentationWidth: ~
|
707
721
|
|
708
722
|
Layout/FirstArrayElementIndentation:
|
@@ -728,8 +742,8 @@ Layout/FirstArrayElementIndentation:
|
|
728
742
|
- special_inside_parentheses
|
729
743
|
- consistent
|
730
744
|
- align_brackets
|
731
|
-
# By default
|
732
|
-
#
|
745
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
746
|
+
# but it can be overridden by setting this parameter.
|
733
747
|
IndentationWidth: ~
|
734
748
|
|
735
749
|
Layout/FirstArrayElementLineBreak:
|
@@ -760,8 +774,8 @@ Layout/FirstHashElementIndentation:
|
|
760
774
|
- special_inside_parentheses
|
761
775
|
- consistent
|
762
776
|
- align_braces
|
763
|
-
# By default
|
764
|
-
#
|
777
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
778
|
+
# but it can be overridden by setting this parameter.
|
765
779
|
IndentationWidth: ~
|
766
780
|
|
767
781
|
Layout/FirstHashElementLineBreak:
|
@@ -796,8 +810,8 @@ Layout/FirstParameterIndentation:
|
|
796
810
|
SupportedStyles:
|
797
811
|
- consistent
|
798
812
|
- align_parentheses
|
799
|
-
# By default
|
800
|
-
#
|
813
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
814
|
+
# but it can be overridden by setting this parameter.
|
801
815
|
IndentationWidth: ~
|
802
816
|
|
803
817
|
Layout/HashAlignment:
|
@@ -887,7 +901,7 @@ Layout/HeredocArgumentClosingParenthesis:
|
|
887
901
|
VersionAdded: '0.68'
|
888
902
|
|
889
903
|
Layout/HeredocIndentation:
|
890
|
-
Description: '
|
904
|
+
Description: 'Checks the indentation of the here document bodies.'
|
891
905
|
StyleGuide: '#squiggly-heredocs'
|
892
906
|
Enabled: true
|
893
907
|
VersionAdded: '0.49'
|
@@ -920,7 +934,7 @@ Layout/IndentationStyle:
|
|
920
934
|
VersionChanged: '0.82'
|
921
935
|
# By default the indentation width from `Layout/IndentationWidth` is used,
|
922
936
|
# but it can be overridden by setting this parameter.
|
923
|
-
# It is used during
|
937
|
+
# It is used during autocorrection to determine how many spaces should
|
924
938
|
# replace each tab.
|
925
939
|
IndentationWidth: ~
|
926
940
|
EnforcedStyle: spaces
|
@@ -935,7 +949,6 @@ Layout/IndentationWidth:
|
|
935
949
|
VersionAdded: '0.49'
|
936
950
|
# Number of spaces for each indentation level.
|
937
951
|
Width: 2
|
938
|
-
IgnoredPatterns: []
|
939
952
|
|
940
953
|
Layout/InitialIndentation:
|
941
954
|
Description: >-
|
@@ -958,6 +971,31 @@ Layout/LeadingEmptyLines:
|
|
958
971
|
VersionAdded: '0.57'
|
959
972
|
VersionChanged: '0.77'
|
960
973
|
|
974
|
+
Layout/LineContinuationLeadingSpace:
|
975
|
+
Description: >-
|
976
|
+
Use trailing spaces instead of leading spaces in strings
|
977
|
+
broken over multiple lines (by a backslash).
|
978
|
+
Enabled: false
|
979
|
+
AutoCorrect: false
|
980
|
+
SafeAutoCorrect: false
|
981
|
+
VersionAdded: '1.31'
|
982
|
+
VersionChanged: '1.32'
|
983
|
+
EnforcedStyle: trailing
|
984
|
+
SupportedStyles:
|
985
|
+
- leading
|
986
|
+
- trailing
|
987
|
+
|
988
|
+
Layout/LineContinuationSpacing:
|
989
|
+
Description: 'Checks the spacing in front of backslash in line continuations.'
|
990
|
+
Enabled: true
|
991
|
+
AutoCorrect: true
|
992
|
+
SafeAutoCorrect: true
|
993
|
+
VersionAdded: '1.31'
|
994
|
+
EnforcedStyle: space
|
995
|
+
SupportedStyles:
|
996
|
+
- space
|
997
|
+
- no_space
|
998
|
+
|
961
999
|
Layout/LineEndStringConcatenationIndentation:
|
962
1000
|
Description: >-
|
963
1001
|
Checks the indentation of the next line after a line that
|
@@ -989,10 +1027,10 @@ Layout/LineLength:
|
|
989
1027
|
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
990
1028
|
# directives like '# rubocop: enable ...' when calculating a line's length.
|
991
1029
|
IgnoreCopDirectives: true
|
992
|
-
# The
|
1030
|
+
# The AllowedPatterns option is a list of !ruby/regexp and/or string
|
993
1031
|
# elements. Strings will be converted to Regexp objects. A line that matches
|
994
1032
|
# any regular expression listed in this option will be ignored by LineLength.
|
995
|
-
|
1033
|
+
AllowedPatterns: []
|
996
1034
|
|
997
1035
|
Layout/MultilineArrayBraceLayout:
|
998
1036
|
Description: >-
|
@@ -1121,6 +1159,13 @@ Layout/MultilineMethodDefinitionBraceLayout:
|
|
1121
1159
|
- new_line
|
1122
1160
|
- same_line
|
1123
1161
|
|
1162
|
+
Layout/MultilineMethodParameterLineBreaks:
|
1163
|
+
Description: >-
|
1164
|
+
Checks that each parameter in a multi-line method definition
|
1165
|
+
starts on a separate line.
|
1166
|
+
Enabled: false
|
1167
|
+
VersionAdded: '1.32'
|
1168
|
+
|
1124
1169
|
Layout/MultilineOperationIndentation:
|
1125
1170
|
Description: >-
|
1126
1171
|
Checks indentation of binary operations that span more than
|
@@ -1458,7 +1503,7 @@ Lint/AmbiguousBlockAssociation:
|
|
1458
1503
|
Enabled: false
|
1459
1504
|
VersionAdded: '0.48'
|
1460
1505
|
VersionChanged: '1.13'
|
1461
|
-
|
1506
|
+
AllowedMethods: []
|
1462
1507
|
|
1463
1508
|
Lint/AmbiguousOperator:
|
1464
1509
|
Description: >-
|
@@ -1471,14 +1516,14 @@ Lint/AmbiguousOperator:
|
|
1471
1516
|
|
1472
1517
|
Lint/AmbiguousOperatorPrecedence:
|
1473
1518
|
Description: >-
|
1474
|
-
|
1475
|
-
|
1476
|
-
Enabled:
|
1519
|
+
Checks for expressions containing multiple binary operations with
|
1520
|
+
ambiguous precedence.
|
1521
|
+
Enabled: false
|
1477
1522
|
VersionAdded: '1.21'
|
1478
1523
|
|
1479
1524
|
Lint/AmbiguousRange:
|
1480
1525
|
Description: Checks for ranges with ambiguous boundaries.
|
1481
|
-
Enabled:
|
1526
|
+
Enabled: true # precedence of range is not always clear
|
1482
1527
|
VersionAdded: '1.19'
|
1483
1528
|
SafeAutoCorrect: false
|
1484
1529
|
RequireParenthesesForMethodChains: false
|
@@ -1504,7 +1549,7 @@ Lint/BigDecimalNew:
|
|
1504
1549
|
VersionAdded: '0.53'
|
1505
1550
|
|
1506
1551
|
Lint/BinaryOperatorWithIdenticalOperands:
|
1507
|
-
Description: '
|
1552
|
+
Description: 'Checks for places where binary operator has identical operands.'
|
1508
1553
|
Enabled: true
|
1509
1554
|
Safe: false
|
1510
1555
|
VersionAdded: '0.89'
|
@@ -1536,6 +1581,11 @@ Lint/ConstantDefinitionInBlock:
|
|
1536
1581
|
Exclude:
|
1537
1582
|
- 'spec/**/*'
|
1538
1583
|
|
1584
|
+
Lint/ConstantOverwrittenInRescue:
|
1585
|
+
Description: 'Checks for overwriting an exception with an exception result by use `rescue =>`.'
|
1586
|
+
Enabled: true
|
1587
|
+
VersionAdded: '1.31'
|
1588
|
+
|
1539
1589
|
Lint/ConstantResolution:
|
1540
1590
|
Description: 'Check that constants are fully qualified with `::`.'
|
1541
1591
|
Enabled: false
|
@@ -1667,7 +1717,9 @@ Lint/DuplicateRegexpCharacterClassElement:
|
|
1667
1717
|
Lint/DuplicateRequire:
|
1668
1718
|
Description: 'Check for duplicate `require`s and `require_relative`s.'
|
1669
1719
|
Enabled: true
|
1720
|
+
SafeAutoCorrect: false
|
1670
1721
|
VersionAdded: '0.90'
|
1722
|
+
VersionChanged: '1.28'
|
1671
1723
|
|
1672
1724
|
Lint/DuplicateRescueException:
|
1673
1725
|
Description: 'Checks that there are no repeated exceptions used in `rescue` expressions.'
|
@@ -1686,10 +1738,10 @@ Lint/ElseLayout:
|
|
1686
1738
|
VersionChanged: '1.2'
|
1687
1739
|
|
1688
1740
|
Lint/EmptyBlock:
|
1689
|
-
Description: '
|
1741
|
+
Description: 'Checks for blocks without a body.'
|
1690
1742
|
Enabled: true
|
1691
1743
|
VersionAdded: '1.1'
|
1692
|
-
VersionChanged: '1.
|
1744
|
+
VersionChanged: '1.15'
|
1693
1745
|
AllowComments: true
|
1694
1746
|
AllowEmptyLambdas: true
|
1695
1747
|
|
@@ -1700,10 +1752,12 @@ Lint/EmptyClass:
|
|
1700
1752
|
AllowComments: false
|
1701
1753
|
|
1702
1754
|
Lint/EmptyConditionalBody:
|
1703
|
-
Description: '
|
1755
|
+
Description: 'Checks for the presence of `if`, `elsif` and `unless` branches without a body.'
|
1704
1756
|
Enabled: true
|
1757
|
+
SafeAutoCorrect: false
|
1705
1758
|
AllowComments: true
|
1706
1759
|
VersionAdded: '0.89'
|
1760
|
+
VersionChanged: '1.34'
|
1707
1761
|
|
1708
1762
|
Lint/EmptyEnsure:
|
1709
1763
|
Description: 'Checks for empty ensure block.'
|
@@ -1822,12 +1876,14 @@ Lint/IneffectiveAccessModifier:
|
|
1822
1876
|
Lint/InheritException:
|
1823
1877
|
Description: 'Avoid inheriting from the `Exception` class.'
|
1824
1878
|
Enabled: true
|
1879
|
+
SafeAutoCorrect: false
|
1825
1880
|
VersionAdded: '0.41'
|
1881
|
+
VersionChanged: '1.26'
|
1826
1882
|
# The default base class in favour of `Exception`.
|
1827
1883
|
EnforcedStyle: runtime_error
|
1828
1884
|
SupportedStyles:
|
1829
|
-
- runtime_error
|
1830
1885
|
- standard_error
|
1886
|
+
- runtime_error
|
1831
1887
|
|
1832
1888
|
Lint/InterpolationCheck:
|
1833
1889
|
Description: 'Raise warning for interpolation in single q strs.'
|
@@ -1877,8 +1933,8 @@ Lint/MissingCopEnableDirective:
|
|
1877
1933
|
|
1878
1934
|
Lint/MissingSuper:
|
1879
1935
|
Description: >-
|
1880
|
-
|
1881
|
-
without calls to `super
|
1936
|
+
Checks for the presence of constructors and lifecycle callbacks
|
1937
|
+
without calls to `super`.
|
1882
1938
|
Enabled: true
|
1883
1939
|
VersionAdded: '0.89'
|
1884
1940
|
VersionChanged: '1.4'
|
@@ -1906,7 +1962,7 @@ Lint/NestedPercentLiteral:
|
|
1906
1962
|
VersionAdded: '0.52'
|
1907
1963
|
|
1908
1964
|
Lint/NextWithoutAccumulator:
|
1909
|
-
Description:
|
1965
|
+
Description: >-
|
1910
1966
|
Do not omit the accumulator when calling `next`
|
1911
1967
|
in a `reduce`/`inject` block.
|
1912
1968
|
Enabled: true
|
@@ -1917,6 +1973,13 @@ Lint/NoReturnInBeginEndBlocks:
|
|
1917
1973
|
Enabled: true
|
1918
1974
|
VersionAdded: '1.2'
|
1919
1975
|
|
1976
|
+
Lint/NonAtomicFileOperation:
|
1977
|
+
Description: Checks for non-atomic file operations.
|
1978
|
+
StyleGuide: '#atomic-file-operations'
|
1979
|
+
Enabled: true
|
1980
|
+
VersionAdded: '1.31'
|
1981
|
+
SafeAutoCorrect: false
|
1982
|
+
|
1920
1983
|
Lint/NonDeterministicRequireOrder:
|
1921
1984
|
Description: 'Always sort arrays returned by Dir.glob when requiring files.'
|
1922
1985
|
Enabled: true
|
@@ -1934,7 +1997,7 @@ Lint/NumberConversion:
|
|
1934
1997
|
VersionAdded: '0.53'
|
1935
1998
|
VersionChanged: '1.1'
|
1936
1999
|
SafeAutoCorrect: false
|
1937
|
-
|
2000
|
+
AllowedMethods: []
|
1938
2001
|
IgnoredClasses:
|
1939
2002
|
- Time
|
1940
2003
|
- DateTime
|
@@ -2017,6 +2080,8 @@ Lint/RedundantDirGlobSort:
|
|
2017
2080
|
Description: 'Checks for redundant `sort` method to `Dir.glob` and `Dir[]`.'
|
2018
2081
|
Enabled: true
|
2019
2082
|
VersionAdded: '1.8'
|
2083
|
+
VersionChanged: '1.26'
|
2084
|
+
SafeAutoCorrect: false
|
2020
2085
|
|
2021
2086
|
Lint/RedundantRequireStatement:
|
2022
2087
|
Description: 'Checks for unnecessary `require` statement.'
|
@@ -2060,6 +2125,12 @@ Lint/RedundantWithObject:
|
|
2060
2125
|
Enabled: true
|
2061
2126
|
VersionAdded: '0.51'
|
2062
2127
|
|
2128
|
+
Lint/RefinementImportMethods:
|
2129
|
+
Description: 'Use `Refinement#import_methods` when using `include` or `prepend` in `refine` block.'
|
2130
|
+
Enabled: false # requires ruby 3.1
|
2131
|
+
SafeAutoCorrect: false
|
2132
|
+
VersionAdded: '1.27'
|
2133
|
+
|
2063
2134
|
Lint/RegexpAsCondition:
|
2064
2135
|
Description: >-
|
2065
2136
|
Do not use regexp literal as a condition.
|
@@ -2075,9 +2146,14 @@ Lint/RequireParentheses:
|
|
2075
2146
|
Enabled: true
|
2076
2147
|
VersionAdded: '0.18'
|
2077
2148
|
|
2149
|
+
Lint/RequireRangeParentheses:
|
2150
|
+
Description: 'Checks that a range literal is enclosed in parentheses when the end of the range is at a line break.'
|
2151
|
+
Enabled: true
|
2152
|
+
VersionAdded: '1.32'
|
2153
|
+
|
2078
2154
|
Lint/RequireRelativeSelfPath:
|
2079
2155
|
Description: 'Checks for uses a file requiring itself with `require_relative`.'
|
2080
|
-
Enabled:
|
2156
|
+
Enabled: true
|
2081
2157
|
VersionAdded: '1.22'
|
2082
2158
|
|
2083
2159
|
Lint/RescueException:
|
@@ -2198,7 +2274,7 @@ Lint/Syntax:
|
|
2198
2274
|
VersionAdded: '0.9'
|
2199
2275
|
|
2200
2276
|
Lint/ToEnumArguments:
|
2201
|
-
Description: '
|
2277
|
+
Description: 'Ensures that `to_enum`/`enum_for`, called for the current method, has correct arguments.'
|
2202
2278
|
Enabled: true
|
2203
2279
|
VersionAdded: '1.1'
|
2204
2280
|
|
@@ -2208,12 +2284,12 @@ Lint/ToJSON:
|
|
2208
2284
|
VersionAdded: '0.66'
|
2209
2285
|
|
2210
2286
|
Lint/TopLevelReturnWithArgument:
|
2211
|
-
Description: '
|
2287
|
+
Description: 'Detects top level return statements with argument.'
|
2212
2288
|
Enabled: true
|
2213
2289
|
VersionAdded: '0.89'
|
2214
2290
|
|
2215
2291
|
Lint/TrailingCommaInAttributeDeclaration:
|
2216
|
-
Description: '
|
2292
|
+
Description: 'Checks for trailing commas in attribute declarations.'
|
2217
2293
|
Enabled: true
|
2218
2294
|
VersionAdded: '0.90'
|
2219
2295
|
|
@@ -2262,11 +2338,11 @@ Lint/UnreachableCode:
|
|
2262
2338
|
VersionAdded: '0.9'
|
2263
2339
|
|
2264
2340
|
Lint/UnreachableLoop:
|
2265
|
-
Description: '
|
2341
|
+
Description: 'Checks for loops that will have at most one iteration.'
|
2266
2342
|
Enabled: true
|
2267
2343
|
VersionAdded: '0.89'
|
2268
2344
|
VersionChanged: '1.7'
|
2269
|
-
|
2345
|
+
AllowedPatterns:
|
2270
2346
|
# RSpec uses `times` in its message expectations
|
2271
2347
|
# eg. `exactly(2).times`
|
2272
2348
|
- !ruby/regexp /(exactly|at_least|at_most)\(\d+\)\.times/
|
@@ -2324,17 +2400,18 @@ Lint/UselessElseWithoutRescue:
|
|
2324
2400
|
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
2325
2401
|
Enabled: true
|
2326
2402
|
VersionAdded: '0.17'
|
2403
|
+
VersionChanged: '1.31'
|
2327
2404
|
|
2328
2405
|
Lint/UselessMethodDefinition:
|
2329
2406
|
Description: 'Checks for useless method definitions.'
|
2330
2407
|
Enabled: true
|
2331
2408
|
VersionAdded: '0.90'
|
2409
|
+
VersionChanged: '0.91'
|
2332
2410
|
Safe: false
|
2333
|
-
AllowComments: true
|
2334
2411
|
|
2335
2412
|
Lint/UselessRuby2Keywords:
|
2336
2413
|
Description: 'Finds unnecessary uses of `ruby2_keywords`.'
|
2337
|
-
Enabled:
|
2414
|
+
Enabled: true
|
2338
2415
|
VersionAdded: '1.23'
|
2339
2416
|
|
2340
2417
|
Lint/UselessSetterCall:
|
@@ -2371,7 +2448,8 @@ Metrics/AbcSize:
|
|
2371
2448
|
VersionChanged: '1.5'
|
2372
2449
|
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
2373
2450
|
# a Float.
|
2374
|
-
|
2451
|
+
AllowedMethods: []
|
2452
|
+
AllowedPatterns: []
|
2375
2453
|
CountRepeatedAttributes: true
|
2376
2454
|
Max: 17
|
2377
2455
|
|
@@ -2383,10 +2461,11 @@ Metrics/BlockLength:
|
|
2383
2461
|
CountComments: false # count full line comments?
|
2384
2462
|
Max: 25
|
2385
2463
|
CountAsOne: []
|
2386
|
-
|
2464
|
+
AllowedMethods:
|
2387
2465
|
# By default, exclude the `#refine` method, as it tends to have larger
|
2388
2466
|
# associated blocks.
|
2389
2467
|
- refine
|
2468
|
+
AllowedPatterns: []
|
2390
2469
|
Exclude:
|
2391
2470
|
- '**/*.gemspec'
|
2392
2471
|
|
@@ -2416,7 +2495,8 @@ Metrics/CyclomaticComplexity:
|
|
2416
2495
|
Enabled: false
|
2417
2496
|
VersionAdded: '0.25'
|
2418
2497
|
VersionChanged: '0.81'
|
2419
|
-
|
2498
|
+
AllowedMethods: []
|
2499
|
+
AllowedPatterns: []
|
2420
2500
|
Max: 7
|
2421
2501
|
|
2422
2502
|
Metrics/MethodLength:
|
@@ -2428,7 +2508,8 @@ Metrics/MethodLength:
|
|
2428
2508
|
CountComments: false # count full line comments?
|
2429
2509
|
Max: 10
|
2430
2510
|
CountAsOne: []
|
2431
|
-
|
2511
|
+
AllowedMethods: []
|
2512
|
+
AllowedPatterns: []
|
2432
2513
|
|
2433
2514
|
Metrics/ModuleLength:
|
2434
2515
|
Description: 'Avoid modules longer than 100 lines of code.'
|
@@ -2456,7 +2537,8 @@ Metrics/PerceivedComplexity:
|
|
2456
2537
|
Enabled: false
|
2457
2538
|
VersionAdded: '0.25'
|
2458
2539
|
VersionChanged: '0.81'
|
2459
|
-
|
2540
|
+
AllowedMethods: []
|
2541
|
+
AllowedPatterns: []
|
2460
2542
|
Max: 8
|
2461
2543
|
|
2462
2544
|
################## Migration #############################
|
@@ -2680,11 +2762,11 @@ Naming/MethodName:
|
|
2680
2762
|
- camelCase
|
2681
2763
|
# Method names matching patterns are always allowed.
|
2682
2764
|
#
|
2683
|
-
#
|
2765
|
+
# AllowedPatterns:
|
2684
2766
|
# - '\A\s*onSelectionBulkChange\s*'
|
2685
2767
|
# - '\A\s*onSelectionCleared\s*'
|
2686
2768
|
#
|
2687
|
-
|
2769
|
+
AllowedPatterns: []
|
2688
2770
|
|
2689
2771
|
Naming/MethodParameterName:
|
2690
2772
|
Description: >-
|
@@ -2760,6 +2842,7 @@ Naming/VariableName:
|
|
2760
2842
|
- snake_case
|
2761
2843
|
- camelCase
|
2762
2844
|
AllowedIdentifiers: []
|
2845
|
+
AllowedPatterns: []
|
2763
2846
|
|
2764
2847
|
Naming/VariableNumber:
|
2765
2848
|
Description: 'Use the configured style when numbering symbols, methods and variables.'
|
@@ -2787,9 +2870,15 @@ Naming/VariableNumber:
|
|
2787
2870
|
- h3 # content_tag :h3
|
2788
2871
|
- h4 # content_tag :h4
|
2789
2872
|
- h5 # content_tag :h5
|
2873
|
+
AllowedPatterns: []
|
2790
2874
|
|
2791
2875
|
#################### Security ##############################
|
2792
2876
|
|
2877
|
+
Security/CompoundHash:
|
2878
|
+
Description: 'When overwriting Object#hash to combine values, prefer delegating to Array#hash over writing a custom implementation.'
|
2879
|
+
Enabled: true
|
2880
|
+
VersionAdded: '1.28'
|
2881
|
+
|
2793
2882
|
Security/Eval:
|
2794
2883
|
Description: 'The use of eval represents a serious security risk.'
|
2795
2884
|
Enabled: false # We all know not to eval. If we need to, there will be a reason.
|
@@ -2797,8 +2886,8 @@ Security/Eval:
|
|
2797
2886
|
|
2798
2887
|
Security/IoMethods:
|
2799
2888
|
Description: >-
|
2800
|
-
|
2801
|
-
|
2889
|
+
Checks for the first argument to `IO.read`, `IO.binread`, `IO.write`, `IO.binwrite`,
|
2890
|
+
`IO.foreach`, and `IO.readlines`.
|
2802
2891
|
Enabled: pending
|
2803
2892
|
Safe: false
|
2804
2893
|
VersionAdded: '1.22'
|
@@ -2851,6 +2940,7 @@ Style/AccessModifierDeclarations:
|
|
2851
2940
|
- inline
|
2852
2941
|
- group
|
2853
2942
|
AllowModifiersOnSymbols: true
|
2943
|
+
SafeAutoCorrect: false
|
2854
2944
|
|
2855
2945
|
Style/AccessorGrouping:
|
2856
2946
|
Description: 'Checks for grouping of accessors in `class` and `module` bodies.'
|
@@ -2985,7 +3075,7 @@ Style/BlockDelimiters:
|
|
2985
3075
|
# This looks at the usage of a block's method to determine its type (e.g. is
|
2986
3076
|
# the result of a `map` assigned to a variable or passed to another
|
2987
3077
|
# method) but exceptions are permitted in the `ProceduralMethods`,
|
2988
|
-
# `FunctionalMethods` and `
|
3078
|
+
# `FunctionalMethods` and `AllowedMethods` sections below.
|
2989
3079
|
- semantic
|
2990
3080
|
# The `braces_for_chaining` style enforces braces around single line blocks
|
2991
3081
|
# and do..end around multi-line blocks, except for multi-line blocks whose
|
@@ -3026,7 +3116,7 @@ Style/BlockDelimiters:
|
|
3026
3116
|
- let!
|
3027
3117
|
- subject
|
3028
3118
|
- watch
|
3029
|
-
|
3119
|
+
AllowedMethods:
|
3030
3120
|
# Methods that can be either procedural or functional and cannot be
|
3031
3121
|
# categorised from their usage alone, e.g.
|
3032
3122
|
#
|
@@ -3043,6 +3133,7 @@ Style/BlockDelimiters:
|
|
3043
3133
|
- lambda
|
3044
3134
|
- proc
|
3045
3135
|
- it
|
3136
|
+
AllowedPatterns: []
|
3046
3137
|
# The AllowBracesOnProceduralOneLiners option is ignored unless the
|
3047
3138
|
# EnforcedStyle is set to `semantic`. If so:
|
3048
3139
|
#
|
@@ -3087,9 +3178,18 @@ Style/CaseEquality:
|
|
3087
3178
|
# # good
|
3088
3179
|
# String === "string"
|
3089
3180
|
AllowOnConstant: false
|
3181
|
+
# If `AllowOnSelfClass` option is enabled, the cop will ignore violations when the receiver of
|
3182
|
+
# the case equality operator is `self.class`.
|
3183
|
+
#
|
3184
|
+
# # bad
|
3185
|
+
# some_class === object
|
3186
|
+
#
|
3187
|
+
# # good
|
3188
|
+
# self.class === object
|
3189
|
+
AllowOnSelfClass: false
|
3090
3190
|
|
3091
3191
|
Style/CaseLikeIf:
|
3092
|
-
Description: '
|
3192
|
+
Description: 'Identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
3093
3193
|
StyleGuide: '#case-vs-if-else'
|
3094
3194
|
Enabled: true
|
3095
3195
|
Safe: false
|
@@ -3146,10 +3246,11 @@ Style/ClassEqualityComparison:
|
|
3146
3246
|
StyleGuide: '#instance-of-vs-class-comparison'
|
3147
3247
|
Enabled: true
|
3148
3248
|
VersionAdded: '0.93'
|
3149
|
-
|
3249
|
+
AllowedMethods:
|
3150
3250
|
- ==
|
3151
3251
|
- equal?
|
3152
3252
|
- eql?
|
3253
|
+
AllowedPatterns: []
|
3153
3254
|
|
3154
3255
|
Style/ClassMethods:
|
3155
3256
|
Description: 'Use self when defining module/class methods.'
|
@@ -3163,7 +3264,7 @@ Style/ClassMethodsDefinitions:
|
|
3163
3264
|
StyleGuide: '#def-self-class-methods'
|
3164
3265
|
Enabled: false
|
3165
3266
|
VersionAdded: '0.89'
|
3166
|
-
EnforcedStyle:
|
3267
|
+
EnforcedStyle: def_self
|
3167
3268
|
SupportedStyles:
|
3168
3269
|
- def_self
|
3169
3270
|
- self_class
|
@@ -3436,6 +3537,12 @@ Style/EmptyElse:
|
|
3436
3537
|
- empty
|
3437
3538
|
- nil
|
3438
3539
|
- both
|
3540
|
+
AllowComments: false
|
3541
|
+
|
3542
|
+
Style/EmptyHeredoc:
|
3543
|
+
Description: 'Checks for using empty heredoc to reduce redundancy.'
|
3544
|
+
Enabled: true
|
3545
|
+
VersionAdded: '1.32'
|
3439
3546
|
|
3440
3547
|
Style/EmptyLambdaParameter:
|
3441
3548
|
Description: 'Omit parens for empty lambda parameters.'
|
@@ -3484,6 +3591,12 @@ Style/EndlessMethod:
|
|
3484
3591
|
- allow_always
|
3485
3592
|
- disallow
|
3486
3593
|
|
3594
|
+
Style/EnvHome:
|
3595
|
+
Description: "Checks for consistent usage of `ENV['HOME']`."
|
3596
|
+
Enabled: true
|
3597
|
+
Safe: false
|
3598
|
+
VersionAdded: '1.29'
|
3599
|
+
|
3487
3600
|
Style/EvalWithLocation:
|
3488
3601
|
Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
|
3489
3602
|
Enabled: true
|
@@ -3521,16 +3634,26 @@ Style/ExponentialNotation:
|
|
3521
3634
|
- engineering
|
3522
3635
|
- integral
|
3523
3636
|
|
3637
|
+
Style/FetchEnvVar:
|
3638
|
+
Description: >-
|
3639
|
+
Suggests `ENV.fetch` for the replacement of `ENV[]`.
|
3640
|
+
Reference:
|
3641
|
+
- https://rubystyle.guide/#hash-fetch-defaults
|
3642
|
+
Enabled: false # We often check for ENV variables in conditions. We don't want to raise errors in those places or use the much longer ENV.fetch('FOO', nil)
|
3643
|
+
VersionAdded: '1.28'
|
3644
|
+
# Environment variables to be excluded from the inspection.
|
3645
|
+
AllowedVars: []
|
3646
|
+
|
3524
3647
|
Style/FileRead:
|
3525
3648
|
Description: 'Favor `File.(bin)read` convenience methods.'
|
3526
3649
|
StyleGuide: '#file-read'
|
3527
|
-
Enabled:
|
3650
|
+
Enabled: true
|
3528
3651
|
VersionAdded: '1.24'
|
3529
3652
|
|
3530
3653
|
Style/FileWrite:
|
3531
3654
|
Description: 'Favor `File.(bin)write` convenience methods.'
|
3532
3655
|
StyleGuide: '#file-write'
|
3533
|
-
Enabled:
|
3656
|
+
Enabled: true
|
3534
3657
|
VersionAdded: '1.24'
|
3535
3658
|
|
3536
3659
|
Style/FloatDivision:
|
@@ -3552,8 +3675,9 @@ Style/For:
|
|
3552
3675
|
Description: 'Checks use of for or each in multiline loops.'
|
3553
3676
|
StyleGuide: '#no-for-loops'
|
3554
3677
|
Enabled: true
|
3678
|
+
SafeAutoCorrect: false
|
3555
3679
|
VersionAdded: '0.13'
|
3556
|
-
VersionChanged: '
|
3680
|
+
VersionChanged: '1.26'
|
3557
3681
|
EnforcedStyle: each
|
3558
3682
|
SupportedStyles:
|
3559
3683
|
- each
|
@@ -3588,7 +3712,8 @@ Style/FormatStringToken:
|
|
3588
3712
|
MaxUnannotatedPlaceholdersAllowed: 1
|
3589
3713
|
VersionAdded: '0.49'
|
3590
3714
|
VersionChanged: '1.0'
|
3591
|
-
|
3715
|
+
AllowedMethods: []
|
3716
|
+
AllowedPatterns: []
|
3592
3717
|
|
3593
3718
|
Style/FrozenStringLiteralComment:
|
3594
3719
|
Description: >-
|
@@ -3633,10 +3758,11 @@ Style/GuardClause:
|
|
3633
3758
|
StyleGuide: '#no-nested-conditionals'
|
3634
3759
|
Enabled: false
|
3635
3760
|
VersionAdded: '0.20'
|
3636
|
-
VersionChanged: '
|
3761
|
+
VersionChanged: '1.31'
|
3637
3762
|
# `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
|
3638
3763
|
# needs to have to trigger this cop
|
3639
3764
|
MinBodyLength: 1
|
3765
|
+
AllowConsecutiveConditionals: false
|
3640
3766
|
|
3641
3767
|
Style/HashAsLastArrayItem:
|
3642
3768
|
Description: >-
|
@@ -3673,6 +3799,7 @@ Style/HashExcept:
|
|
3673
3799
|
that can be replaced with `Hash#except` method.
|
3674
3800
|
Enabled: true
|
3675
3801
|
VersionAdded: '1.7'
|
3802
|
+
VersionChanged: '1.31'
|
3676
3803
|
|
3677
3804
|
Style/HashLikeCase:
|
3678
3805
|
Description: >-
|
@@ -3711,6 +3838,8 @@ Style/HashSyntax:
|
|
3711
3838
|
- never
|
3712
3839
|
# accepts both shorthand and explicit use of hash literal value.
|
3713
3840
|
- either
|
3841
|
+
# like "always", but will avoid mixing styles in a single hash
|
3842
|
+
- consistent
|
3714
3843
|
# Force hashes that have a symbol value to use hash rockets
|
3715
3844
|
UseHashRocketsWithSymbolValues: false
|
3716
3845
|
# Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
|
@@ -3887,9 +4016,34 @@ Style/LineEndConcatenation:
|
|
3887
4016
|
VersionAdded: '0.18'
|
3888
4017
|
VersionChanged: '0.64'
|
3889
4018
|
|
4019
|
+
Style/MagicCommentFormat:
|
4020
|
+
Description: 'Use a consistent style for magic comments.'
|
4021
|
+
Enabled: true
|
4022
|
+
VersionAdded: '1.35'
|
4023
|
+
EnforcedStyle: snake_case
|
4024
|
+
SupportedStyles:
|
4025
|
+
# `snake` will enforce the magic comment is written
|
4026
|
+
# in snake case (words separated by underscores).
|
4027
|
+
# Eg: froze_string_literal: true
|
4028
|
+
- snake_case
|
4029
|
+
# `kebab` will enforce the magic comment is written
|
4030
|
+
# in kebab case (words separated by hyphens).
|
4031
|
+
# Eg: froze-string-literal: true
|
4032
|
+
- kebab_case
|
4033
|
+
DirectiveCapitalization: lowercase
|
4034
|
+
ValueCapitalization: ~
|
4035
|
+
SupportedCapitalizations:
|
4036
|
+
- lowercase
|
4037
|
+
- uppercase
|
4038
|
+
|
4039
|
+
Style/MapCompactWithConditionalBlock:
|
4040
|
+
Description: 'Prefer `select` or `reject` over `map { ... }.compact`.'
|
4041
|
+
Enabled: true
|
4042
|
+
VersionAdded: '1.30'
|
4043
|
+
|
3890
4044
|
Style/MapToHash:
|
3891
4045
|
Description: 'Prefer `to_h` with a block over `map.to_h`.'
|
3892
|
-
Enabled:
|
4046
|
+
Enabled: false # Requires at least Ruby 2.6, but we officially still support Ruby 2.5 (https://makandracards.com/makandra/493762-technologie-radar-entwicklung#section-deprecated).
|
3893
4047
|
VersionAdded: '1.24'
|
3894
4048
|
Safe: false
|
3895
4049
|
|
@@ -3900,8 +4054,8 @@ Style/MethodCallWithArgsParentheses:
|
|
3900
4054
|
VersionAdded: '0.47'
|
3901
4055
|
VersionChanged: '1.7'
|
3902
4056
|
IgnoreMacros: true
|
3903
|
-
|
3904
|
-
|
4057
|
+
AllowedMethods: []
|
4058
|
+
AllowedPatterns: []
|
3905
4059
|
IncludedMacros: []
|
3906
4060
|
AllowParenthesesInMultilineCall: false
|
3907
4061
|
AllowParenthesesInChaining: false
|
@@ -3916,7 +4070,8 @@ Style/MethodCallWithoutArgsParentheses:
|
|
3916
4070
|
Description: 'Do not use parentheses for method calls with no arguments.'
|
3917
4071
|
StyleGuide: '#method-invocation-parens'
|
3918
4072
|
Enabled: true
|
3919
|
-
|
4073
|
+
AllowedMethods: []
|
4074
|
+
AllowedPatterns: []
|
3920
4075
|
VersionAdded: '0.47'
|
3921
4076
|
VersionChanged: '0.55'
|
3922
4077
|
|
@@ -4109,7 +4264,7 @@ Style/NegatedIf:
|
|
4109
4264
|
|
4110
4265
|
Style/NegatedIfElseCondition:
|
4111
4266
|
Description: >-
|
4112
|
-
|
4267
|
+
Checks for uses of `if-else` and ternary operators with a negated condition
|
4113
4268
|
which can be simplified by inverting condition and swapping branches.
|
4114
4269
|
Enabled: false
|
4115
4270
|
VersionAdded: '1.2'
|
@@ -4134,6 +4289,11 @@ Style/NegatedWhile:
|
|
4134
4289
|
Enabled: true
|
4135
4290
|
VersionAdded: '0.20'
|
4136
4291
|
|
4292
|
+
Style/NestedFileDirname:
|
4293
|
+
Description: 'Checks for nested `File.dirname`.'
|
4294
|
+
Enabled: false # requires Ruby 3.1
|
4295
|
+
VersionAdded: '1.26'
|
4296
|
+
|
4137
4297
|
Style/NestedModifier:
|
4138
4298
|
Description: 'Avoid using nested modifiers.'
|
4139
4299
|
StyleGuide: '#no-nested-modifiers'
|
@@ -4265,6 +4425,7 @@ Style/NumericLiterals:
|
|
4265
4425
|
Strict: false
|
4266
4426
|
# You can specify allowed numbers. (e.g. port number 3000, 8080, and etc)
|
4267
4427
|
AllowedNumbers: []
|
4428
|
+
AllowedPatterns: []
|
4268
4429
|
|
4269
4430
|
Style/NumericPredicate:
|
4270
4431
|
Description: >-
|
@@ -4283,12 +4444,26 @@ Style/NumericPredicate:
|
|
4283
4444
|
SupportedStyles:
|
4284
4445
|
- predicate
|
4285
4446
|
- comparison
|
4286
|
-
|
4447
|
+
AllowedMethods: []
|
4448
|
+
AllowedPatterns: []
|
4287
4449
|
# Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
|
4288
4450
|
# false positives.
|
4289
4451
|
Exclude:
|
4290
4452
|
- 'spec/**/*'
|
4291
4453
|
|
4454
|
+
Style/ObjectThen:
|
4455
|
+
Description: 'Enforces the use of consistent method names `Object#yield_self` or `Object#then`.'
|
4456
|
+
StyleGuide: '#object-yield-self-vs-object-then'
|
4457
|
+
Enabled: false
|
4458
|
+
VersionAdded: '1.28'
|
4459
|
+
# Use `Object#yield_self` or `Object#then`?
|
4460
|
+
# Prefer `Object#yield_self` to `Object#then` (yield_self)
|
4461
|
+
# Prefer `Object#then` to `Object#yield_self` (then)
|
4462
|
+
EnforcedStyle: 'then'
|
4463
|
+
SupportedStyles:
|
4464
|
+
- then
|
4465
|
+
- yield_self
|
4466
|
+
|
4292
4467
|
Style/OneLineConditional:
|
4293
4468
|
Description: >-
|
4294
4469
|
Favor the ternary operator (?:) or multi-line constructs over
|
@@ -4301,8 +4476,8 @@ Style/OneLineConditional:
|
|
4301
4476
|
|
4302
4477
|
Style/OpenStructUse:
|
4303
4478
|
Description: >-
|
4304
|
-
|
4305
|
-
|
4479
|
+
Avoid using OpenStruct. As of Ruby 3.0, use is officially discouraged due to performance,
|
4480
|
+
version compatibility, and potential security issues.
|
4306
4481
|
Reference:
|
4307
4482
|
- https://docs.ruby-lang.org/en/3.0.0/OpenStruct.html#class-OpenStruct-label-Caveats
|
4308
4483
|
|
@@ -4526,10 +4701,20 @@ Style/RedundantFreeze:
|
|
4526
4701
|
VersionAdded: '0.34'
|
4527
4702
|
VersionChanged: '0.66'
|
4528
4703
|
|
4704
|
+
Style/RedundantInitialize:
|
4705
|
+
Description: 'Checks for redundant `initialize` methods.'
|
4706
|
+
Enabled: true
|
4707
|
+
Safe: false
|
4708
|
+
AllowComments: true
|
4709
|
+
VersionAdded: '1.27'
|
4710
|
+
VersionChanged: '1.28'
|
4711
|
+
|
4529
4712
|
Style/RedundantInterpolation:
|
4530
4713
|
Description: 'Checks for strings that are just an interpolated expression.'
|
4531
4714
|
Enabled: true
|
4715
|
+
SafeAutoCorrect: false
|
4532
4716
|
VersionAdded: '0.76'
|
4717
|
+
VersionChanged: '1.30'
|
4533
4718
|
|
4534
4719
|
Style/RedundantParentheses:
|
4535
4720
|
Description: "Checks for parentheses that seem not to serve any purpose."
|
@@ -4576,7 +4761,7 @@ Style/RedundantSelfAssignment:
|
|
4576
4761
|
|
4577
4762
|
Style/RedundantSelfAssignmentBranch:
|
4578
4763
|
Description: 'Checks for places where conditional branch makes redundant self-assignment.'
|
4579
|
-
Enabled:
|
4764
|
+
Enabled: true
|
4580
4765
|
VersionAdded: '1.19'
|
4581
4766
|
|
4582
4767
|
Style/RedundantSort:
|
@@ -4640,14 +4825,14 @@ Style/ReturnNil:
|
|
4640
4825
|
|
4641
4826
|
Style/SafeNavigation:
|
4642
4827
|
Description: >-
|
4643
|
-
|
4828
|
+
Transforms usages of a method call safeguarded by
|
4644
4829
|
a check for the existence of the object to
|
4645
4830
|
safe navigation (`&.`).
|
4646
|
-
|
4831
|
+
Autocorrection is unsafe as it assumes the object will
|
4647
4832
|
be `nil` or truthy, but never `false`.
|
4648
4833
|
Enabled: true
|
4649
4834
|
VersionAdded: '0.43'
|
4650
|
-
VersionChanged: '
|
4835
|
+
VersionChanged: '1.27'
|
4651
4836
|
# Safe navigation may cause a statement to start returning `nil` in addition
|
4652
4837
|
# to whatever it used to return.
|
4653
4838
|
ConvertCodeThatCanStartToReturnNil: false
|
@@ -4658,6 +4843,8 @@ Style/SafeNavigation:
|
|
4658
4843
|
- try
|
4659
4844
|
- try!
|
4660
4845
|
SafeAutoCorrect: false
|
4846
|
+
# Maximum length of method chains for register an offense.
|
4847
|
+
MaxChainLength: 2
|
4661
4848
|
|
4662
4849
|
Style/Sample:
|
4663
4850
|
Description: >-
|
@@ -4669,7 +4856,7 @@ Style/Sample:
|
|
4669
4856
|
|
4670
4857
|
Style/SelectByRegexp:
|
4671
4858
|
Description: 'Prefer grep/grep_v to select/reject with a regexp match.'
|
4672
|
-
Enabled:
|
4859
|
+
Enabled: false # Can accidentally break your code, as it only works for arrays, but the cop cannot tell for sure if its an array or a hash calling `select`\`reject`
|
4673
4860
|
SafeAutoCorrect: false
|
4674
4861
|
VersionAdded: '1.22'
|
4675
4862
|
|
@@ -4763,6 +4950,7 @@ Style/SpecialGlobalVars:
|
|
4763
4950
|
SupportedStyles:
|
4764
4951
|
- use_perl_names
|
4765
4952
|
- use_english_names
|
4953
|
+
- use_builtin_english_names
|
4766
4954
|
|
4767
4955
|
Style/StabbyLambdaParentheses:
|
4768
4956
|
Description: 'Check for the usage of parentheses around stabby lambda arguments.'
|
@@ -4864,7 +5052,7 @@ Style/StructInheritance:
|
|
4864
5052
|
VersionChanged: '1.20'
|
4865
5053
|
|
4866
5054
|
Style/SwapValues:
|
4867
|
-
Description: '
|
5055
|
+
Description: 'Enforces the use of shorthand-style swapping of 2 variables.'
|
4868
5056
|
StyleGuide: '#values-swapping'
|
4869
5057
|
Enabled: true
|
4870
5058
|
VersionAdded: '1.1'
|
@@ -4892,13 +5080,15 @@ Style/SymbolProc:
|
|
4892
5080
|
Enabled: false # We can't enforce this because of "Can't create Binding from C level Proc" errors, and because it messes up arity checks.
|
4893
5081
|
Safe: false
|
4894
5082
|
VersionAdded: '0.26'
|
4895
|
-
VersionChanged: '1.
|
5083
|
+
VersionChanged: '1.28'
|
4896
5084
|
AllowMethodsWithArguments: false
|
4897
|
-
# A list of method names to be
|
5085
|
+
# A list of method names to be always allowed by the check.
|
4898
5086
|
# The names should be fairly unique, otherwise you'll end up ignoring lots of code.
|
4899
|
-
|
5087
|
+
AllowedMethods:
|
4900
5088
|
- respond_to
|
4901
5089
|
- define_method
|
5090
|
+
AllowedPatterns: []
|
5091
|
+
AllowComments: false
|
4902
5092
|
|
4903
5093
|
Style/TernaryParentheses:
|
4904
5094
|
Description: 'Checks for use of parentheses around ternary conditions.'
|
@@ -4913,7 +5103,7 @@ Style/TernaryParentheses:
|
|
4913
5103
|
AllowSafeAssignment: true
|
4914
5104
|
|
4915
5105
|
Style/TopLevelMethodDefinition:
|
4916
|
-
Description: '
|
5106
|
+
Description: 'Looks for top-level method definitions.'
|
4917
5107
|
StyleGuide: '#top-level-methods'
|
4918
5108
|
Enabled: false
|
4919
5109
|
VersionAdded: '1.15'
|