chefstyle 1.1.3 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/chefstyle +2 -3
- data/chefstyle.gemspec +2 -5
- data/config/chefstyle.yml +63 -7
- data/config/disable_all.yml +68 -4
- data/config/upstream.yml +280 -35
- data/lib/chefstyle.rb +12 -3
- data/lib/chefstyle/version.rb +4 -3
- data/lib/rubocop/chef.rb +11 -0
- data/lib/rubocop/cop/chef/ruby/gemspec_require_rubygems.rb +46 -0
- data/lib/rubocop/cop/chef/ruby/require_net_https.rb +54 -0
- data/lib/rubocop/cop/chef/ruby/ruby_27_keyword_argument_warnings.rb +57 -0
- data/lib/rubocop/cop/chef/ruby/unless_defined_require.rb +123 -0
- metadata +9 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f8855b643a12f7609e03fe4fef4bec806eacfc1b609ad3f927fa2750be52c5d
|
4
|
+
data.tar.gz: 1d2af7269153108d67ce8d02503a6b32226a182907436b80cc57b6583c612386
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab7bc2f6b2f3e22d060be4e6e30eacfc171e7fb5bee4f1ac11ca5a4b6cf190745fe79c20b0b4d65c9bee5d0d4b61431a3bedbd7a08a8db4c2a18d6f634af4a25
|
7
|
+
data.tar.gz: 7b34f9396e79b75b88a726c6b14fb25138197eb087a4bba9dbf31c93eb33a314a8b76ecc1c963c3182981cf99e64595dd766d37a66a9c992de7159775cd5d473
|
data/bin/chefstyle
CHANGED
data/chefstyle.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
#
|
2
|
-
lib = File.expand_path("
|
1
|
+
# frozen_string_literal: true
|
2
|
+
lib = File.expand_path("lib", __dir__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require "chefstyle/version"
|
5
5
|
|
@@ -18,8 +18,5 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = %w{chefstyle}
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler"
|
22
|
-
spec.add_development_dependency "rake", ">= 12.0"
|
23
|
-
spec.add_development_dependency "rspec"
|
24
21
|
spec.add_dependency("rubocop", Chefstyle::RUBOCOP_VERSION)
|
25
22
|
end
|
data/config/chefstyle.yml
CHANGED
@@ -482,11 +482,15 @@ Style/WhileUntilModifier:
|
|
482
482
|
Style/WordArray:
|
483
483
|
Enabled: true
|
484
484
|
|
485
|
+
# we are ruby > 2.0 only so we can remove encoding comments for utf-8
|
486
|
+
Style/Encoding:
|
487
|
+
Enabled: true
|
488
|
+
|
485
489
|
#
|
486
490
|
# Disabled Style
|
487
491
|
#
|
488
492
|
|
489
|
-
#
|
493
|
+
# reduces memory usage, but isn't a simple autocorrect so we need to do this one project at a time
|
490
494
|
Style/FrozenStringLiteralComment:
|
491
495
|
Enabled: false
|
492
496
|
|
@@ -529,10 +533,6 @@ Style/FormatString:
|
|
529
533
|
Style/IfUnlessModifier:
|
530
534
|
Enabled: false
|
531
535
|
|
532
|
-
# we are ruby > 2.0 only so can disable the Encoding cop
|
533
|
-
Style/Encoding:
|
534
|
-
Enabled: false
|
535
|
-
|
536
536
|
# Dan is -1 on this one: https://github.com/chef/chef/pull/4526#issuecomment-179950045
|
537
537
|
Layout/IndentFirstHashElement:
|
538
538
|
Enabled: false
|
@@ -554,7 +554,7 @@ Style/RescueModifier:
|
|
554
554
|
Style/AsciiComments:
|
555
555
|
Enabled: false
|
556
556
|
|
557
|
-
# Parens around ternaries often make them more readable and reduces cognitive load over operator
|
557
|
+
# Parens around ternaries often make them more readable and reduces cognitive load over operator precedence
|
558
558
|
Style/TernaryParentheses:
|
559
559
|
Enabled: false
|
560
560
|
|
@@ -631,4 +631,60 @@ Style/CommentedKeyword:
|
|
631
631
|
|
632
632
|
# make sure we catch this Ruby 3.0 breaking change now
|
633
633
|
Lint/DeprecatedOpenSSLConstant:
|
634
|
-
Enabled: true
|
634
|
+
Enabled: true
|
635
|
+
|
636
|
+
# alert on invalid ruby synatx
|
637
|
+
Lint/Syntax:
|
638
|
+
Enabled: true
|
639
|
+
|
640
|
+
# remove extra requires like 'thread'
|
641
|
+
Lint/RedundantRequireStatement:
|
642
|
+
Enabled: true
|
643
|
+
|
644
|
+
# simplify stripping strings
|
645
|
+
Style/Strip:
|
646
|
+
Enabled: true
|
647
|
+
|
648
|
+
# simplify getting min/max
|
649
|
+
Style/RedundantSort:
|
650
|
+
Enabled: true
|
651
|
+
|
652
|
+
# no need for .rb in requires
|
653
|
+
Style/RedundantFileExtensionInRequire:
|
654
|
+
Enabled: true
|
655
|
+
|
656
|
+
# more code you don't need
|
657
|
+
Style/RedundantCondition:
|
658
|
+
Enabled: true
|
659
|
+
|
660
|
+
# Use __dir__ to simplify things
|
661
|
+
Style/Dir:
|
662
|
+
Enabled: true
|
663
|
+
|
664
|
+
# Use __FILE__ or __dir__ to simplify expand_paths
|
665
|
+
Style/ExpandPathArguments:
|
666
|
+
Enabled: true
|
667
|
+
|
668
|
+
ChefRuby/Ruby27KeywordArgumentWarnings:
|
669
|
+
Description: Pass options to shell_out helpers without the brackets to avoid Ruby 2.7 deprecation warnings.
|
670
|
+
Enabled: true
|
671
|
+
VersionAdded: '1.3.0'
|
672
|
+
|
673
|
+
ChefRuby/UnlessDefinedRequire:
|
674
|
+
Description: Workaround RubyGems' slow requires by only running require if the constant isn't already defined
|
675
|
+
Enabled: true
|
676
|
+
VersionAdded: '1.3.0'
|
677
|
+
Include:
|
678
|
+
- 'lib/**/*'
|
679
|
+
|
680
|
+
ChefRuby/GemspecRequireRubygems:
|
681
|
+
Description: Rubygems does not need to be required in a Gemspec
|
682
|
+
Enabled: true
|
683
|
+
VersionAdded: '1.3.0'
|
684
|
+
Include:
|
685
|
+
- '**/*.gemspec'
|
686
|
+
|
687
|
+
ChefRuby/RequireNetHttps:
|
688
|
+
Description: net/https is deprecated and just includes net/http and openssl. We should include those directly instead
|
689
|
+
Enabled: true
|
690
|
+
VersionAdded: '1.3.0'
|
data/config/disable_all.yml
CHANGED
@@ -25,6 +25,8 @@ Layout/ArrayAlignment:
|
|
25
25
|
Enabled: false
|
26
26
|
Layout/AssignmentIndentation:
|
27
27
|
Enabled: false
|
28
|
+
Layout/BeginEndAlignment:
|
29
|
+
Enabled: false
|
28
30
|
Layout/BlockAlignment:
|
29
31
|
Enabled: false
|
30
32
|
Layout/BlockEndNewline:
|
@@ -53,6 +55,8 @@ Layout/EmptyLineAfterGuardClause:
|
|
53
55
|
Enabled: false
|
54
56
|
Layout/EmptyLineAfterMagicComment:
|
55
57
|
Enabled: false
|
58
|
+
Layout/EmptyLineAfterMultilineCondition:
|
59
|
+
Enabled: false
|
56
60
|
Layout/EmptyLineBetweenDefs:
|
57
61
|
Enabled: false
|
58
62
|
Layout/EmptyLinesAroundAccessModifier:
|
@@ -207,10 +211,14 @@ Lint/AssignmentInCondition:
|
|
207
211
|
Enabled: false
|
208
212
|
Lint/BigDecimalNew:
|
209
213
|
Enabled: false
|
214
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
215
|
+
Enabled: false
|
210
216
|
Lint/BooleanSymbol:
|
211
217
|
Enabled: false
|
212
218
|
Lint/CircularArgumentReference:
|
213
219
|
Enabled: false
|
220
|
+
Lint/ConstantDefinitionInBlock:
|
221
|
+
Enabled: false
|
214
222
|
Lint/ConstantResolution:
|
215
223
|
Enabled: false
|
216
224
|
Lint/Debugger:
|
@@ -223,18 +231,28 @@ Lint/DisjunctiveAssignmentInConstructor:
|
|
223
231
|
Enabled: false
|
224
232
|
Lint/DuplicateCaseCondition:
|
225
233
|
Enabled: false
|
234
|
+
Lint/DuplicateElsifCondition:
|
235
|
+
Enabled: false
|
226
236
|
Lint/DuplicateHashKey:
|
227
237
|
Enabled: false
|
228
238
|
Lint/DuplicateMethods:
|
229
239
|
Enabled: false
|
240
|
+
Lint/DuplicateRequire:
|
241
|
+
Enabled: false
|
242
|
+
Lint/DuplicateRescueException:
|
243
|
+
Enabled: false
|
230
244
|
Lint/EachWithObjectArgument:
|
231
245
|
Enabled: false
|
232
246
|
Lint/ElseLayout:
|
233
247
|
Enabled: false
|
248
|
+
Lint/EmptyConditionalBody:
|
249
|
+
Enabled: false
|
234
250
|
Lint/EmptyEnsure:
|
235
251
|
Enabled: false
|
236
252
|
Lint/EmptyExpression:
|
237
253
|
Enabled: false
|
254
|
+
Lint/EmptyFile:
|
255
|
+
Enabled: false
|
238
256
|
Lint/EmptyInterpolation:
|
239
257
|
Enabled: false
|
240
258
|
Lint/EmptyWhen:
|
@@ -245,12 +263,16 @@ Lint/ErbNewArguments:
|
|
245
263
|
Enabled: false
|
246
264
|
Lint/FlipFlop:
|
247
265
|
Enabled: false
|
266
|
+
Lint/FloatComparison:
|
267
|
+
Enabled: false
|
248
268
|
Lint/FloatOutOfRange:
|
249
269
|
Enabled: false
|
250
270
|
Lint/FormatParameterMismatch:
|
251
271
|
Enabled: false
|
252
272
|
Lint/HeredocMethodCallPosition:
|
253
273
|
Enabled: false
|
274
|
+
Lint/IdentityComparison:
|
275
|
+
Enabled: false
|
254
276
|
Lint/ImplicitStringConcatenation:
|
255
277
|
Enabled: false
|
256
278
|
Lint/InheritException:
|
@@ -267,6 +289,8 @@ Lint/Loop:
|
|
267
289
|
Enabled: false
|
268
290
|
Lint/MissingCopEnableDirective:
|
269
291
|
Enabled: false
|
292
|
+
Lint/MissingSuper:
|
293
|
+
Enabled: false
|
270
294
|
Lint/MixedRegexpCaptureTypes:
|
271
295
|
Enabled: false
|
272
296
|
Lint/MultipleComparison:
|
@@ -285,6 +309,8 @@ Lint/NumberConversion:
|
|
285
309
|
Enabled: false
|
286
310
|
Lint/OrderedMagicComments:
|
287
311
|
Enabled: false
|
312
|
+
Lint/OutOfRangeRegexpRef:
|
313
|
+
Enabled: false
|
288
314
|
Lint/ParenthesesAsGroupedExpression:
|
289
315
|
Enabled: false
|
290
316
|
Lint/PercentStringArray:
|
@@ -327,6 +353,8 @@ Lint/SafeNavigationWithEmpty:
|
|
327
353
|
Enabled: false
|
328
354
|
Lint/ScriptPermission:
|
329
355
|
Enabled: false
|
356
|
+
Lint/SelfAssignment:
|
357
|
+
Enabled: false
|
330
358
|
Lint/SendWithMixinArgument:
|
331
359
|
Enabled: false
|
332
360
|
Lint/ShadowedArgument:
|
@@ -343,12 +371,18 @@ Lint/Syntax:
|
|
343
371
|
Enabled: false
|
344
372
|
Lint/ToJSON:
|
345
373
|
Enabled: false
|
374
|
+
Lint/TopLevelReturnWithArgument:
|
375
|
+
Enabled: false
|
376
|
+
Lint/TrailingCommaInAttributeDeclaration:
|
377
|
+
Enabled: false
|
346
378
|
Lint/UnderscorePrefixedVariableName:
|
347
379
|
Enabled: false
|
348
380
|
Lint/UnifiedInteger:
|
349
381
|
Enabled: false
|
350
382
|
Lint/UnreachableCode:
|
351
383
|
Enabled: false
|
384
|
+
Lint/UnreachableLoop:
|
385
|
+
Enabled: false
|
352
386
|
Lint/UnusedBlockArgument:
|
353
387
|
Enabled: false
|
354
388
|
Lint/UnusedMethodArgument:
|
@@ -361,12 +395,14 @@ Lint/UselessAccessModifier:
|
|
361
395
|
Enabled: false
|
362
396
|
Lint/UselessAssignment:
|
363
397
|
Enabled: false
|
364
|
-
Lint/UselessComparison:
|
365
|
-
Enabled: false
|
366
398
|
Lint/UselessElseWithoutRescue:
|
367
399
|
Enabled: false
|
400
|
+
Lint/UselessMethodDefinition:
|
401
|
+
Enabled: false
|
368
402
|
Lint/UselessSetterCall:
|
369
403
|
Enabled: false
|
404
|
+
Lint/UselessTimes:
|
405
|
+
Enabled: false
|
370
406
|
Lint/Void:
|
371
407
|
Enabled: false
|
372
408
|
Metrics/CyclomaticComplexity:
|
@@ -427,6 +463,8 @@ Style/Alias:
|
|
427
463
|
Enabled: false
|
428
464
|
Style/AndOr:
|
429
465
|
Enabled: false
|
466
|
+
Style/ArrayCoercion:
|
467
|
+
Enabled: false
|
430
468
|
Style/ArrayJoin:
|
431
469
|
Enabled: false
|
432
470
|
Style/AsciiComments:
|
@@ -447,6 +485,8 @@ Style/BlockDelimiters:
|
|
447
485
|
Enabled: false
|
448
486
|
Style/CaseEquality:
|
449
487
|
Enabled: false
|
488
|
+
Style/CaseLikeIf:
|
489
|
+
Enabled: false
|
450
490
|
Style/CharacterLiteral:
|
451
491
|
Enabled: false
|
452
492
|
Style/ClassAndModuleChildren:
|
@@ -455,6 +495,8 @@ Style/ClassCheck:
|
|
455
495
|
Enabled: false
|
456
496
|
Style/ClassMethods:
|
457
497
|
Enabled: false
|
498
|
+
Style/ClassMethodsDefinitions:
|
499
|
+
Enabled: false
|
458
500
|
Style/ClassVars:
|
459
501
|
Enabled: false
|
460
502
|
Style/CollectionMethods:
|
@@ -463,6 +505,8 @@ Style/ColonMethodCall:
|
|
463
505
|
Enabled: false
|
464
506
|
Style/ColonMethodDefinition:
|
465
507
|
Enabled: false
|
508
|
+
Style/CombinableLoops:
|
509
|
+
Enabled: false
|
466
510
|
Style/CommandLiteral:
|
467
511
|
Enabled: false
|
468
512
|
Style/CommentAnnotation:
|
@@ -517,6 +561,8 @@ Style/EvenOdd:
|
|
517
561
|
Enabled: false
|
518
562
|
Style/ExpandPathArguments:
|
519
563
|
Enabled: false
|
564
|
+
Style/ExplicitBlockArgument:
|
565
|
+
Enabled: false
|
520
566
|
Style/ExponentialNotation:
|
521
567
|
Enabled: false
|
522
568
|
Style/FloatDivision:
|
@@ -529,12 +575,18 @@ Style/FormatStringToken:
|
|
529
575
|
Enabled: false
|
530
576
|
Style/FrozenStringLiteralComment:
|
531
577
|
Enabled: false
|
578
|
+
Style/GlobalStdStream:
|
579
|
+
Enabled: false
|
532
580
|
Style/GlobalVars:
|
533
581
|
Enabled: false
|
534
582
|
Style/GuardClause:
|
535
583
|
Enabled: false
|
584
|
+
Style/HashAsLastArrayItem:
|
585
|
+
Enabled: false
|
536
586
|
Style/HashEachMethods:
|
537
587
|
Enabled: false
|
588
|
+
Style/HashLikeCase:
|
589
|
+
Enabled: false
|
538
590
|
Style/HashSyntax:
|
539
591
|
Enabled: false
|
540
592
|
Style/HashTransformKeys:
|
@@ -561,6 +613,8 @@ Style/InlineComment:
|
|
561
613
|
Enabled: false
|
562
614
|
Style/IpAddresses:
|
563
615
|
Enabled: false
|
616
|
+
Style/KeywordParametersOrder:
|
617
|
+
Enabled: false
|
564
618
|
Style/Lambda:
|
565
619
|
Enabled: false
|
566
620
|
Style/LambdaCall:
|
@@ -575,12 +629,16 @@ Style/RedundantAssignment:
|
|
575
629
|
Enabled: false
|
576
630
|
Style/RedundantFetchBlock:
|
577
631
|
Enabled: false
|
632
|
+
Style/RedundantFileExtensionInRequire:
|
633
|
+
Enabled: false
|
634
|
+
Style/RedundantSelfAssignment:
|
635
|
+
Enabled: false
|
636
|
+
Style/SoleNestedConditional:
|
637
|
+
Enabled: false
|
578
638
|
Style/MethodCalledOnDoEndBlock:
|
579
639
|
Enabled: false
|
580
640
|
Style/MethodDefParentheses:
|
581
641
|
Enabled: false
|
582
|
-
Style/MethodMissingSuper:
|
583
|
-
Enabled: false
|
584
642
|
Style/MinMax:
|
585
643
|
Enabled: false
|
586
644
|
Style/MissingElse:
|
@@ -645,6 +703,8 @@ Style/OptionHash:
|
|
645
703
|
Enabled: false
|
646
704
|
Style/OptionalArguments:
|
647
705
|
Enabled: false
|
706
|
+
Style/OptionalBooleanParameter:
|
707
|
+
Enabled: false
|
648
708
|
Style/ParallelAssignment:
|
649
709
|
Enabled: false
|
650
710
|
Style/ParenthesesAroundCondition:
|
@@ -713,6 +773,8 @@ Style/Send:
|
|
713
773
|
Enabled: false
|
714
774
|
Style/SignalException:
|
715
775
|
Enabled: false
|
776
|
+
Style/SingleArgumentDig:
|
777
|
+
Enabled: false
|
716
778
|
Style/SingleLineBlockParams:
|
717
779
|
Enabled: false
|
718
780
|
Style/SingleLineMethods:
|
@@ -725,6 +787,8 @@ Style/StabbyLambdaParentheses:
|
|
725
787
|
Enabled: false
|
726
788
|
Style/StderrPuts:
|
727
789
|
Enabled: false
|
790
|
+
Style/StringConcatenation:
|
791
|
+
Enabled: false
|
728
792
|
Style/StringHashKeys:
|
729
793
|
Enabled: false
|
730
794
|
Style/StringLiterals:
|
data/config/upstream.yml
CHANGED
@@ -117,6 +117,8 @@ AllCops:
|
|
117
117
|
# CacheRootDirectory is ~ (nil), which it is by default, the root will be
|
118
118
|
# taken from the environment variable `$XDG_CACHE_HOME` if it is set, or if
|
119
119
|
# `$XDG_CACHE_HOME` is not set, it will be `$HOME/.cache/`.
|
120
|
+
# The CacheRootDirectory can be overwritten by passing the `--cache-root` command
|
121
|
+
# line option or by setting `$RUBOCOP_CACHE_ROOT` environment variable.
|
120
122
|
CacheRootDirectory: ~
|
121
123
|
# It is possible for a malicious user to know the location of RuboCop's cache
|
122
124
|
# directory by looking at CacheRootDirectory, and create a symlink in its
|
@@ -210,9 +212,10 @@ Gemspec/OrderedDependencies:
|
|
210
212
|
- '**/*.gemspec'
|
211
213
|
|
212
214
|
Gemspec/RequiredRubyVersion:
|
213
|
-
Description: 'Checks that `required_ruby_version` of gemspec and `TargetRubyVersion` of .rubocop.yml
|
215
|
+
Description: 'Checks that `required_ruby_version` of gemspec is specified and equal to `TargetRubyVersion` of .rubocop.yml.'
|
214
216
|
Enabled: true
|
215
217
|
VersionAdded: '0.52'
|
218
|
+
VersionChanged: '0.89'
|
216
219
|
Include:
|
217
220
|
- '**/*.gemspec'
|
218
221
|
|
@@ -308,6 +311,19 @@ Layout/AssignmentIndentation:
|
|
308
311
|
# But it can be overridden by setting this parameter
|
309
312
|
IndentationWidth: ~
|
310
313
|
|
314
|
+
Layout/BeginEndAlignment:
|
315
|
+
Description: 'Align ends corresponding to begins correctly.'
|
316
|
+
Enabled: pending
|
317
|
+
VersionAdded: '0.91'
|
318
|
+
# The value `start_of_line` means that `end` should be aligned the start of the line
|
319
|
+
# where the `begin` keyword is.
|
320
|
+
# The value `begin` means that `end` should be aligned with the `begin` keyword.
|
321
|
+
EnforcedStyleAlignWith: start_of_line
|
322
|
+
SupportedStylesAlignWith:
|
323
|
+
- start_of_line
|
324
|
+
- begin
|
325
|
+
Severity: warning
|
326
|
+
|
311
327
|
Layout/BlockAlignment:
|
312
328
|
Description: 'Align block ends correctly.'
|
313
329
|
Enabled: true
|
@@ -398,7 +414,6 @@ Layout/DefEndAlignment:
|
|
398
414
|
SupportedStylesAlignWith:
|
399
415
|
- start_of_line
|
400
416
|
- def
|
401
|
-
AutoCorrect: false
|
402
417
|
Severity: warning
|
403
418
|
|
404
419
|
Layout/DotPosition:
|
@@ -435,6 +450,14 @@ Layout/EmptyLineAfterMagicComment:
|
|
435
450
|
Enabled: true
|
436
451
|
VersionAdded: '0.49'
|
437
452
|
|
453
|
+
Layout/EmptyLineAfterMultilineCondition:
|
454
|
+
Description: 'Enforces empty line after multiline condition.'
|
455
|
+
# This is disabled, because this style is not very common in practice.
|
456
|
+
Enabled: false
|
457
|
+
VersionAdded: '0.90'
|
458
|
+
Reference:
|
459
|
+
- https://github.com/airbnb/ruby#multiline-if-newline
|
460
|
+
|
438
461
|
Layout/EmptyLineBetweenDefs:
|
439
462
|
Description: 'Use empty lines between defs.'
|
440
463
|
StyleGuide: '#empty-lines-between-methods'
|
@@ -554,7 +577,6 @@ Layout/EndAlignment:
|
|
554
577
|
- keyword
|
555
578
|
- variable
|
556
579
|
- start_of_line
|
557
|
-
AutoCorrect: false
|
558
580
|
Severity: warning
|
559
581
|
|
560
582
|
Layout/EndOfLine:
|
@@ -1234,7 +1256,7 @@ Layout/SpaceInsideBlockBraces:
|
|
1234
1256
|
|
1235
1257
|
Layout/SpaceInsideHashLiteralBraces:
|
1236
1258
|
Description: "Use spaces inside hash literal braces - or don't."
|
1237
|
-
StyleGuide: '#spaces-
|
1259
|
+
StyleGuide: '#spaces-braces'
|
1238
1260
|
Enabled: true
|
1239
1261
|
VersionAdded: '0.49'
|
1240
1262
|
EnforcedStyle: space
|
@@ -1355,6 +1377,12 @@ Lint/BigDecimalNew:
|
|
1355
1377
|
Enabled: true
|
1356
1378
|
VersionAdded: '0.53'
|
1357
1379
|
|
1380
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
1381
|
+
Description: 'This cop checks for places where binary operator has identical operands.'
|
1382
|
+
Enabled: pending
|
1383
|
+
Safe: false
|
1384
|
+
VersionAdded: '0.89'
|
1385
|
+
|
1358
1386
|
Lint/BooleanSymbol:
|
1359
1387
|
Description: 'Check for `:true` and `:false` symbols.'
|
1360
1388
|
Enabled: true
|
@@ -1367,6 +1395,12 @@ Lint/CircularArgumentReference:
|
|
1367
1395
|
Enabled: true
|
1368
1396
|
VersionAdded: '0.33'
|
1369
1397
|
|
1398
|
+
Lint/ConstantDefinitionInBlock:
|
1399
|
+
Description: 'Do not define constants within a block.'
|
1400
|
+
StyleGuide: '#no-constant-definition-in-block'
|
1401
|
+
Enabled: pending
|
1402
|
+
VersionAdded: '0.91'
|
1403
|
+
|
1370
1404
|
Lint/ConstantResolution:
|
1371
1405
|
Description: 'Check that constants are fully qualified with `::`.'
|
1372
1406
|
Enabled: false
|
@@ -1397,12 +1431,18 @@ Lint/DisjunctiveAssignmentInConstructor:
|
|
1397
1431
|
Enabled: true
|
1398
1432
|
Safe: false
|
1399
1433
|
VersionAdded: '0.62'
|
1434
|
+
VersionChanged: '0.88'
|
1400
1435
|
|
1401
1436
|
Lint/DuplicateCaseCondition:
|
1402
1437
|
Description: 'Do not repeat values in case conditionals.'
|
1403
1438
|
Enabled: true
|
1404
1439
|
VersionAdded: '0.45'
|
1405
1440
|
|
1441
|
+
Lint/DuplicateElsifCondition:
|
1442
|
+
Description: 'Do not repeat conditions used in if `elsif`.'
|
1443
|
+
Enabled: 'pending'
|
1444
|
+
VersionAdded: '0.88'
|
1445
|
+
|
1406
1446
|
Lint/DuplicateHashKey:
|
1407
1447
|
Description: 'Check for duplicate keys in hash literals.'
|
1408
1448
|
Enabled: true
|
@@ -1414,6 +1454,16 @@ Lint/DuplicateMethods:
|
|
1414
1454
|
Enabled: true
|
1415
1455
|
VersionAdded: '0.29'
|
1416
1456
|
|
1457
|
+
Lint/DuplicateRequire:
|
1458
|
+
Description: 'Check for duplicate `require`s and `require_relative`s.'
|
1459
|
+
Enabled: pending
|
1460
|
+
VersionAdded: '0.90'
|
1461
|
+
|
1462
|
+
Lint/DuplicateRescueException:
|
1463
|
+
Description: 'Checks that there are no repeated exceptions used in `rescue` expressions.'
|
1464
|
+
Enabled: pending
|
1465
|
+
VersionAdded: '0.89'
|
1466
|
+
|
1417
1467
|
Lint/EachWithObjectArgument:
|
1418
1468
|
Description: 'Check for immutable argument given to each_with_object.'
|
1419
1469
|
Enabled: true
|
@@ -1424,18 +1474,29 @@ Lint/ElseLayout:
|
|
1424
1474
|
Enabled: true
|
1425
1475
|
VersionAdded: '0.17'
|
1426
1476
|
|
1477
|
+
Lint/EmptyConditionalBody:
|
1478
|
+
Description: 'This cop checks for the presence of `if`, `elsif` and `unless` branches without a body.'
|
1479
|
+
Enabled: 'pending'
|
1480
|
+
AllowComments: true
|
1481
|
+
VersionAdded: '0.89'
|
1482
|
+
|
1427
1483
|
Lint/EmptyEnsure:
|
1428
1484
|
Description: 'Checks for empty ensure block.'
|
1429
1485
|
Enabled: true
|
1430
1486
|
VersionAdded: '0.10'
|
1431
1487
|
VersionChanged: '0.48'
|
1432
|
-
AutoCorrect: false
|
1433
1488
|
|
1434
1489
|
Lint/EmptyExpression:
|
1435
1490
|
Description: 'Checks for empty expressions.'
|
1436
1491
|
Enabled: true
|
1437
1492
|
VersionAdded: '0.45'
|
1438
1493
|
|
1494
|
+
Lint/EmptyFile:
|
1495
|
+
Description: 'Enforces that Ruby source files are not empty.'
|
1496
|
+
Enabled: pending
|
1497
|
+
AllowComments: true
|
1498
|
+
VersionAdded: '0.90'
|
1499
|
+
|
1439
1500
|
Lint/EmptyInterpolation:
|
1440
1501
|
Description: 'Checks for empty string interpolation.'
|
1441
1502
|
Enabled: true
|
@@ -1467,6 +1528,12 @@ Lint/FlipFlop:
|
|
1467
1528
|
Enabled: true
|
1468
1529
|
VersionAdded: '0.16'
|
1469
1530
|
|
1531
|
+
Lint/FloatComparison:
|
1532
|
+
Description: 'Checks for the presence of precise comparison of floating point numbers.'
|
1533
|
+
StyleGuide: '#float-comparison'
|
1534
|
+
Enabled: pending
|
1535
|
+
VersionAdded: '0.89'
|
1536
|
+
|
1470
1537
|
Lint/FloatOutOfRange:
|
1471
1538
|
Description: >-
|
1472
1539
|
Catches floating-point literals too large or small for Ruby to
|
@@ -1487,6 +1554,12 @@ Lint/HeredocMethodCallPosition:
|
|
1487
1554
|
StyleGuide: '#heredoc-method-calls'
|
1488
1555
|
VersionAdded: '0.68'
|
1489
1556
|
|
1557
|
+
Lint/IdentityComparison:
|
1558
|
+
Description: 'Prefer `equal?` over `==` when comparing `object_id`.'
|
1559
|
+
Enabled: pending
|
1560
|
+
StyleGuide: '#identity-comparison'
|
1561
|
+
VersionAdded: '0.91'
|
1562
|
+
|
1490
1563
|
Lint/ImplicitStringConcatenation:
|
1491
1564
|
Description: >-
|
1492
1565
|
Checks for adjacent string literals on the same line, which
|
@@ -1514,7 +1587,7 @@ Lint/InheritException:
|
|
1514
1587
|
Lint/InterpolationCheck:
|
1515
1588
|
Description: 'Raise warning for interpolation in single q strs.'
|
1516
1589
|
Enabled: true
|
1517
|
-
|
1590
|
+
Safe: false
|
1518
1591
|
VersionAdded: '0.50'
|
1519
1592
|
VersionChanged: '0.87'
|
1520
1593
|
|
@@ -1536,6 +1609,7 @@ Lint/Loop:
|
|
1536
1609
|
StyleGuide: '#loop-with-break'
|
1537
1610
|
Enabled: true
|
1538
1611
|
VersionAdded: '0.9'
|
1612
|
+
VersionChanged: '0.89'
|
1539
1613
|
|
1540
1614
|
Lint/MissingCopEnableDirective:
|
1541
1615
|
Description: 'Checks for a `# rubocop:enable` after `# rubocop:disable`.'
|
@@ -1550,6 +1624,13 @@ Lint/MissingCopEnableDirective:
|
|
1550
1624
|
# .inf for any size
|
1551
1625
|
MaximumRangeSize: .inf
|
1552
1626
|
|
1627
|
+
Lint/MissingSuper:
|
1628
|
+
Description: >-
|
1629
|
+
This cop checks for the presence of constructors and lifecycle callbacks
|
1630
|
+
without calls to `super`'.
|
1631
|
+
Enabled: pending
|
1632
|
+
VersionAdded: '0.89'
|
1633
|
+
|
1553
1634
|
Lint/MixedRegexpCaptureTypes:
|
1554
1635
|
Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
|
1555
1636
|
Enabled: pending
|
@@ -1602,6 +1683,12 @@ Lint/OrderedMagicComments:
|
|
1602
1683
|
Enabled: true
|
1603
1684
|
VersionAdded: '0.53'
|
1604
1685
|
|
1686
|
+
Lint/OutOfRangeRegexpRef:
|
1687
|
+
Description: 'Checks for out of range reference for Regexp because it always returns nil.'
|
1688
|
+
Enabled: pending
|
1689
|
+
Safe: false
|
1690
|
+
VersionAdded: '0.89'
|
1691
|
+
|
1605
1692
|
Lint/ParenthesesAsGroupedExpression:
|
1606
1693
|
Description: >-
|
1607
1694
|
Checks for method calls with a space before the opening
|
@@ -1724,6 +1811,7 @@ Lint/SafeNavigationChain:
|
|
1724
1811
|
- presence
|
1725
1812
|
- try
|
1726
1813
|
- try!
|
1814
|
+
- in?
|
1727
1815
|
|
1728
1816
|
Lint/SafeNavigationConsistency:
|
1729
1817
|
Description: >-
|
@@ -1752,6 +1840,11 @@ Lint/ScriptPermission:
|
|
1752
1840
|
VersionAdded: '0.49'
|
1753
1841
|
VersionChanged: '0.50'
|
1754
1842
|
|
1843
|
+
Lint/SelfAssignment:
|
1844
|
+
Description: 'Checks for self-assignments.'
|
1845
|
+
Enabled: pending
|
1846
|
+
VersionAdded: '0.89'
|
1847
|
+
|
1755
1848
|
Lint/SendWithMixinArgument:
|
1756
1849
|
Description: 'Checks for `send` method when using mixin.'
|
1757
1850
|
Enabled: true
|
@@ -1802,6 +1895,16 @@ Lint/ToJSON:
|
|
1802
1895
|
Enabled: true
|
1803
1896
|
VersionAdded: '0.66'
|
1804
1897
|
|
1898
|
+
Lint/TopLevelReturnWithArgument:
|
1899
|
+
Description: 'This cop detects top level return statements with argument.'
|
1900
|
+
Enabled: 'pending'
|
1901
|
+
VersionAdded: '0.89'
|
1902
|
+
|
1903
|
+
Lint/TrailingCommaInAttributeDeclaration:
|
1904
|
+
Description: 'This cop checks for trailing commas in attribute declarations.'
|
1905
|
+
Enabled: pending
|
1906
|
+
VersionAdded: '0.90'
|
1907
|
+
|
1805
1908
|
Lint/UnderscorePrefixedVariableName:
|
1806
1909
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
1807
1910
|
Enabled: true
|
@@ -1818,6 +1921,11 @@ Lint/UnreachableCode:
|
|
1818
1921
|
Enabled: true
|
1819
1922
|
VersionAdded: '0.9'
|
1820
1923
|
|
1924
|
+
Lint/UnreachableLoop:
|
1925
|
+
Description: 'This cop checks for loops that will have at most one iteration.'
|
1926
|
+
Enabled: pending
|
1927
|
+
VersionAdded: '0.89'
|
1928
|
+
|
1821
1929
|
Lint/UnusedBlockArgument:
|
1822
1930
|
Description: 'Checks for unused block arguments.'
|
1823
1931
|
StyleGuide: '#underscore-unused-vars'
|
@@ -1867,16 +1975,18 @@ Lint/UselessAssignment:
|
|
1867
1975
|
Enabled: true
|
1868
1976
|
VersionAdded: '0.11'
|
1869
1977
|
|
1870
|
-
Lint/UselessComparison:
|
1871
|
-
Description: 'Checks for comparison of something with itself.'
|
1872
|
-
Enabled: true
|
1873
|
-
VersionAdded: '0.11'
|
1874
|
-
|
1875
1978
|
Lint/UselessElseWithoutRescue:
|
1876
1979
|
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
1877
1980
|
Enabled: true
|
1878
1981
|
VersionAdded: '0.17'
|
1879
1982
|
|
1983
|
+
Lint/UselessMethodDefinition:
|
1984
|
+
Description: 'Checks for useless method definitions.'
|
1985
|
+
Enabled: pending
|
1986
|
+
VersionAdded: '0.90'
|
1987
|
+
Safe: false
|
1988
|
+
AllowComments: true
|
1989
|
+
|
1880
1990
|
Lint/UselessSetterCall:
|
1881
1991
|
Description: 'Checks for useless setter call to a local variable.'
|
1882
1992
|
Enabled: true
|
@@ -1884,6 +1994,12 @@ Lint/UselessSetterCall:
|
|
1884
1994
|
VersionChanged: '0.80'
|
1885
1995
|
Safe: false
|
1886
1996
|
|
1997
|
+
Lint/UselessTimes:
|
1998
|
+
Description: 'Checks for useless `Integer#times` calls.'
|
1999
|
+
Enabled: pending
|
2000
|
+
VersionAdded: '0.91'
|
2001
|
+
Safe: false
|
2002
|
+
|
1887
2003
|
Lint/Void:
|
1888
2004
|
Description: 'Possible use of operator/literal/variable in void context.'
|
1889
2005
|
Enabled: true
|
@@ -1905,7 +2021,7 @@ Metrics/AbcSize:
|
|
1905
2021
|
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
1906
2022
|
# a Float.
|
1907
2023
|
IgnoredMethods: []
|
1908
|
-
Max:
|
2024
|
+
Max: 17
|
1909
2025
|
|
1910
2026
|
Metrics/BlockLength:
|
1911
2027
|
Description: 'Avoid long blocks with many lines.'
|
@@ -1987,7 +2103,7 @@ Metrics/PerceivedComplexity:
|
|
1987
2103
|
VersionAdded: '0.25'
|
1988
2104
|
VersionChanged: '0.81'
|
1989
2105
|
IgnoredMethods: []
|
1990
|
-
Max:
|
2106
|
+
Max: 8
|
1991
2107
|
|
1992
2108
|
################## Migration #############################
|
1993
2109
|
|
@@ -2179,17 +2295,18 @@ Naming/MethodParameterName:
|
|
2179
2295
|
AllowNamesEndingInNumbers: true
|
2180
2296
|
# Allowed names that will not register an offense
|
2181
2297
|
AllowedNames:
|
2182
|
-
-
|
2183
|
-
- id
|
2184
|
-
- to
|
2298
|
+
- at
|
2185
2299
|
- by
|
2186
|
-
-
|
2300
|
+
- db
|
2301
|
+
- id
|
2187
2302
|
- in
|
2188
|
-
-
|
2303
|
+
- io
|
2189
2304
|
- ip
|
2190
|
-
-
|
2305
|
+
- of
|
2306
|
+
- 'on'
|
2191
2307
|
- os
|
2192
2308
|
- pp
|
2309
|
+
- to
|
2193
2310
|
# Forbidden names that will register an offense
|
2194
2311
|
ForbiddenNames: []
|
2195
2312
|
|
@@ -2340,6 +2457,15 @@ Style/AndOr:
|
|
2340
2457
|
- always
|
2341
2458
|
- conditionals
|
2342
2459
|
|
2460
|
+
Style/ArrayCoercion:
|
2461
|
+
Description: >-
|
2462
|
+
Use Array() instead of explicit Array check or [*var], when dealing
|
2463
|
+
with a variable you want to treat as an Array, but you're not certain it's an array.
|
2464
|
+
StyleGuide: '#array-coercion'
|
2465
|
+
Safe: false
|
2466
|
+
Enabled: false
|
2467
|
+
VersionAdded: '0.88'
|
2468
|
+
|
2343
2469
|
Style/ArrayJoin:
|
2344
2470
|
Description: 'Use Array#join instead of Array#*.'
|
2345
2471
|
StyleGuide: '#array-join'
|
@@ -2512,6 +2638,7 @@ Style/CaseEquality:
|
|
2512
2638
|
StyleGuide: '#no-case-equality'
|
2513
2639
|
Enabled: true
|
2514
2640
|
VersionAdded: '0.9'
|
2641
|
+
VersionChanged: '0.89'
|
2515
2642
|
# If AllowOnConstant is enabled, the cop will ignore violations when the receiver of
|
2516
2643
|
# the case equality operator is a constant.
|
2517
2644
|
#
|
@@ -2522,6 +2649,13 @@ Style/CaseEquality:
|
|
2522
2649
|
# String === "string"
|
2523
2650
|
AllowOnConstant: false
|
2524
2651
|
|
2652
|
+
Style/CaseLikeIf:
|
2653
|
+
Description: 'This cop identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
2654
|
+
StyleGuide: '#case-vs-if-else'
|
2655
|
+
Enabled: 'pending'
|
2656
|
+
Safe: false
|
2657
|
+
VersionAdded: '0.88'
|
2658
|
+
|
2525
2659
|
Style/CharacterLiteral:
|
2526
2660
|
Description: 'Checks for uses of character literals.'
|
2527
2661
|
StyleGuide: '#no-character-literals'
|
@@ -2537,7 +2671,6 @@ Style/ClassAndModuleChildren:
|
|
2537
2671
|
# have the knowledge to perform either operation safely and thus requires
|
2538
2672
|
# manual oversight.
|
2539
2673
|
SafeAutoCorrect: false
|
2540
|
-
AutoCorrect: false
|
2541
2674
|
Enabled: true
|
2542
2675
|
VersionAdded: '0.19'
|
2543
2676
|
#
|
@@ -2576,6 +2709,16 @@ Style/ClassMethods:
|
|
2576
2709
|
VersionAdded: '0.9'
|
2577
2710
|
VersionChanged: '0.20'
|
2578
2711
|
|
2712
|
+
Style/ClassMethodsDefinitions:
|
2713
|
+
Description: 'Enforces using `def self.method_name` or `class << self` to define class methods.'
|
2714
|
+
StyleGuide: '#def-self-class-methods'
|
2715
|
+
Enabled: false
|
2716
|
+
VersionAdded: '0.89'
|
2717
|
+
EnforcedStyle: def_self
|
2718
|
+
SupportedStyles:
|
2719
|
+
- def_self
|
2720
|
+
- self_class
|
2721
|
+
|
2579
2722
|
Style/ClassVars:
|
2580
2723
|
Description: 'Avoid the use of class variables.'
|
2581
2724
|
StyleGuide: '#no-class-vars'
|
@@ -2616,6 +2759,14 @@ Style/ColonMethodDefinition:
|
|
2616
2759
|
Enabled: true
|
2617
2760
|
VersionAdded: '0.52'
|
2618
2761
|
|
2762
|
+
Style/CombinableLoops:
|
2763
|
+
Description: >-
|
2764
|
+
Checks for places where multiple consecutive loops over the same data
|
2765
|
+
can be combined into a single loop.
|
2766
|
+
Enabled: pending
|
2767
|
+
Safe: false
|
2768
|
+
VersionAdded: '0.90'
|
2769
|
+
|
2619
2770
|
Style/CommandLiteral:
|
2620
2771
|
Description: 'Use `` or %x around command literals.'
|
2621
2772
|
StyleGuide: '#percent-x'
|
@@ -2712,7 +2863,8 @@ Style/DateTime:
|
|
2712
2863
|
StyleGuide: '#date--time'
|
2713
2864
|
Enabled: false
|
2714
2865
|
VersionAdded: '0.51'
|
2715
|
-
VersionChanged: '0.
|
2866
|
+
VersionChanged: '0.92'
|
2867
|
+
SafeAutoCorrect: false
|
2716
2868
|
AllowCoercion: false
|
2717
2869
|
|
2718
2870
|
Style/DefWithParentheses:
|
@@ -2859,6 +3011,16 @@ Style/ExpandPathArguments:
|
|
2859
3011
|
Enabled: true
|
2860
3012
|
VersionAdded: '0.53'
|
2861
3013
|
|
3014
|
+
Style/ExplicitBlockArgument:
|
3015
|
+
Description: >-
|
3016
|
+
Consider using explicit block argument to avoid writing block literal
|
3017
|
+
that just passes its arguments to another block.
|
3018
|
+
StyleGuide: '#block-argument'
|
3019
|
+
Enabled: pending
|
3020
|
+
# May change the yielding arity.
|
3021
|
+
Safe: false
|
3022
|
+
VersionAdded: '0.89'
|
3023
|
+
|
2862
3024
|
Style/ExponentialNotation:
|
2863
3025
|
Description: 'When using exponential notation, favor a mantissa between 1 (inclusive) and 10 (exclusive).'
|
2864
3026
|
StyleGuide: '#exponential-notation'
|
@@ -2940,7 +3102,14 @@ Style/FrozenStringLiteralComment:
|
|
2940
3102
|
# `never` will enforce that the frozen string literal comment does not
|
2941
3103
|
# exist in a file.
|
2942
3104
|
- never
|
2943
|
-
|
3105
|
+
SafeAutoCorrect: false
|
3106
|
+
|
3107
|
+
Style/GlobalStdStream:
|
3108
|
+
Description: 'Enforces the use of `$stdout/$stderr/$stdin` instead of `STDOUT/STDERR/STDIN`.'
|
3109
|
+
StyleGuide: '#global-stdout'
|
3110
|
+
Enabled: pending
|
3111
|
+
VersionAdded: '0.89'
|
3112
|
+
SafeAutoCorrect: false
|
2944
3113
|
|
2945
3114
|
Style/GlobalVars:
|
2946
3115
|
Description: 'Do not introduce global variables.'
|
@@ -2961,6 +3130,18 @@ Style/GuardClause:
|
|
2961
3130
|
# needs to have to trigger this cop
|
2962
3131
|
MinBodyLength: 1
|
2963
3132
|
|
3133
|
+
Style/HashAsLastArrayItem:
|
3134
|
+
Description: >-
|
3135
|
+
Checks for presence or absence of braces around hash literal as a last
|
3136
|
+
array item depending on configuration.
|
3137
|
+
StyleGuide: '#hash-literal-as-last-array-item'
|
3138
|
+
Enabled: 'pending'
|
3139
|
+
VersionAdded: '0.88'
|
3140
|
+
EnforcedStyle: braces
|
3141
|
+
SupportedStyles:
|
3142
|
+
- braces
|
3143
|
+
- no_braces
|
3144
|
+
|
2964
3145
|
Style/HashEachMethods:
|
2965
3146
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
2966
3147
|
StyleGuide: '#hash-each'
|
@@ -2968,6 +3149,16 @@ Style/HashEachMethods:
|
|
2968
3149
|
VersionAdded: '0.80'
|
2969
3150
|
Safe: false
|
2970
3151
|
|
3152
|
+
Style/HashLikeCase:
|
3153
|
+
Description: >-
|
3154
|
+
Checks for places where `case-when` represents a simple 1:1
|
3155
|
+
mapping and can be replaced with a hash lookup.
|
3156
|
+
Enabled: 'pending'
|
3157
|
+
VersionAdded: '0.88'
|
3158
|
+
# `MinBranchesCount` defines the number of branches `case` needs to have
|
3159
|
+
# to trigger this cop
|
3160
|
+
MinBranchesCount: 3
|
3161
|
+
|
2971
3162
|
Style/HashSyntax:
|
2972
3163
|
Description: >-
|
2973
3164
|
Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
|
@@ -2992,15 +3183,17 @@ Style/HashSyntax:
|
|
2992
3183
|
PreferHashRocketsForNonAlnumEndingSymbols: false
|
2993
3184
|
|
2994
3185
|
Style/HashTransformKeys:
|
2995
|
-
Description: 'Prefer `transform_keys` over `each_with_object`
|
3186
|
+
Description: 'Prefer `transform_keys` over `each_with_object`, `map`, or `to_h`.'
|
2996
3187
|
Enabled: 'pending'
|
2997
3188
|
VersionAdded: '0.80'
|
3189
|
+
VersionChanged: '0.90'
|
2998
3190
|
Safe: false
|
2999
3191
|
|
3000
3192
|
Style/HashTransformValues:
|
3001
|
-
Description: 'Prefer `transform_values` over `each_with_object`
|
3193
|
+
Description: 'Prefer `transform_values` over `each_with_object`, `map`, or `to_h`.'
|
3002
3194
|
Enabled: 'pending'
|
3003
3195
|
VersionAdded: '0.80'
|
3196
|
+
VersionChanged: '0.90'
|
3004
3197
|
Safe: false
|
3005
3198
|
|
3006
3199
|
Style/IdenticalConditionalBranches:
|
@@ -3091,11 +3284,22 @@ Style/IpAddresses:
|
|
3091
3284
|
Description: "Don't include literal IP addresses in code."
|
3092
3285
|
Enabled: false
|
3093
3286
|
VersionAdded: '0.58'
|
3094
|
-
VersionChanged: '0.
|
3287
|
+
VersionChanged: '0.91'
|
3095
3288
|
# Allow addresses to be permitted
|
3096
3289
|
AllowedAddresses:
|
3097
3290
|
- "::"
|
3098
3291
|
# :: is a valid IPv6 address, but could potentially be legitimately in code
|
3292
|
+
Exclude:
|
3293
|
+
- '**/*.gemfile'
|
3294
|
+
- '**/Gemfile'
|
3295
|
+
- '**/gems.rb'
|
3296
|
+
- '**/*.gemspec'
|
3297
|
+
|
3298
|
+
Style/KeywordParametersOrder:
|
3299
|
+
Description: 'Enforces that optional keyword parameters are placed at the end of the parameters list.'
|
3300
|
+
StyleGuide: '#keyword-parameters-order'
|
3301
|
+
Enabled: pending
|
3302
|
+
VersionAdded: '0.90'
|
3099
3303
|
|
3100
3304
|
Style/Lambda:
|
3101
3305
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
@@ -3175,12 +3379,6 @@ Style/MethodDefParentheses:
|
|
3175
3379
|
- require_no_parentheses
|
3176
3380
|
- require_no_parentheses_except_multiline
|
3177
3381
|
|
3178
|
-
Style/MethodMissingSuper:
|
3179
|
-
Description: Checks for `method_missing` to call `super`.
|
3180
|
-
StyleGuide: '#no-method-missing'
|
3181
|
-
Enabled: true
|
3182
|
-
VersionAdded: '0.56'
|
3183
|
-
|
3184
3382
|
Style/MinMax:
|
3185
3383
|
Description: >-
|
3186
3384
|
Use `Enumerable#minmax` instead of `Enumerable#min`
|
@@ -3476,7 +3674,6 @@ Style/NumericPredicate:
|
|
3476
3674
|
# object. Switching these methods has to be done with knowledge of the types
|
3477
3675
|
# of the variables which rubocop doesn't have.
|
3478
3676
|
SafeAutoCorrect: false
|
3479
|
-
AutoCorrect: false
|
3480
3677
|
Enabled: true
|
3481
3678
|
VersionAdded: '0.42'
|
3482
3679
|
VersionChanged: '0.59'
|
@@ -3492,12 +3689,13 @@ Style/NumericPredicate:
|
|
3492
3689
|
|
3493
3690
|
Style/OneLineConditional:
|
3494
3691
|
Description: >-
|
3495
|
-
Favor the ternary operator(?:) over
|
3496
|
-
if/then/else/end constructs.
|
3692
|
+
Favor the ternary operator (?:) or multi-line constructs over
|
3693
|
+
single-line if/then/else/end constructs.
|
3497
3694
|
StyleGuide: '#ternary-operator'
|
3498
3695
|
Enabled: true
|
3696
|
+
AlwaysCorrectToMultiline: false
|
3499
3697
|
VersionAdded: '0.9'
|
3500
|
-
VersionChanged: '0.
|
3698
|
+
VersionChanged: '0.90'
|
3501
3699
|
|
3502
3700
|
Style/OptionHash:
|
3503
3701
|
Description: "Don't use option hashes when you can use keyword arguments."
|
@@ -3522,6 +3720,15 @@ Style/OptionalArguments:
|
|
3522
3720
|
VersionAdded: '0.33'
|
3523
3721
|
VersionChanged: '0.83'
|
3524
3722
|
|
3723
|
+
Style/OptionalBooleanParameter:
|
3724
|
+
Description: 'Use keyword arguments when defining method with boolean argument.'
|
3725
|
+
StyleGuide: '#boolean-keyword-arguments'
|
3726
|
+
Enabled: pending
|
3727
|
+
Safe: false
|
3728
|
+
VersionAdded: '0.89'
|
3729
|
+
AllowedMethods:
|
3730
|
+
- respond_to_missing?
|
3731
|
+
|
3525
3732
|
Style/OrAssignment:
|
3526
3733
|
Description: 'Recommend usage of double pipe equals (||=) where applicable.'
|
3527
3734
|
StyleGuide: '#double-pipe-for-uninit'
|
@@ -3665,6 +3872,14 @@ Style/RedundantFetchBlock:
|
|
3665
3872
|
SafeForConstants: false
|
3666
3873
|
VersionAdded: '0.86'
|
3667
3874
|
|
3875
|
+
Style/RedundantFileExtensionInRequire:
|
3876
|
+
Description: >-
|
3877
|
+
Checks for the presence of superfluous `.rb` extension in
|
3878
|
+
the filename provided to `require` and `require_relative`.
|
3879
|
+
StyleGuide: '#no-explicit-rb-to-require'
|
3880
|
+
Enabled: 'pending'
|
3881
|
+
VersionAdded: '0.88'
|
3882
|
+
|
3668
3883
|
Style/RedundantFreeze:
|
3669
3884
|
Description: "Checks usages of Object#freeze on immutable objects."
|
3670
3885
|
Enabled: true
|
@@ -3713,6 +3928,12 @@ Style/RedundantSelf:
|
|
3713
3928
|
VersionAdded: '0.10'
|
3714
3929
|
VersionChanged: '0.13'
|
3715
3930
|
|
3931
|
+
Style/RedundantSelfAssignment:
|
3932
|
+
Description: 'Checks for places where redundant assignments are made for in place modification methods.'
|
3933
|
+
Enabled: pending
|
3934
|
+
Safe: false
|
3935
|
+
VersionAdded: '0.90'
|
3936
|
+
|
3716
3937
|
Style/RedundantSort:
|
3717
3938
|
Description: >-
|
3718
3939
|
Use `min` instead of `sort.first`,
|
@@ -3775,6 +3996,8 @@ Style/SafeNavigation:
|
|
3775
3996
|
This cop transforms usages of a method call safeguarded by
|
3776
3997
|
a check for the existence of the object to
|
3777
3998
|
safe navigation (`&.`).
|
3999
|
+
Auto-correction is unsafe as it assumes the object will
|
4000
|
+
be `nil` or truthy, but never `false`.
|
3778
4001
|
Enabled: true
|
3779
4002
|
VersionAdded: '0.43'
|
3780
4003
|
VersionChanged: '0.77'
|
@@ -3787,6 +4010,7 @@ Style/SafeNavigation:
|
|
3787
4010
|
- presence
|
3788
4011
|
- try
|
3789
4012
|
- try!
|
4013
|
+
SafeAutoCorrect: false
|
3790
4014
|
|
3791
4015
|
Style/Sample:
|
3792
4016
|
Description: >-
|
@@ -3832,6 +4056,12 @@ Style/SignalException:
|
|
3832
4056
|
- only_fail
|
3833
4057
|
- semantic
|
3834
4058
|
|
4059
|
+
Style/SingleArgumentDig:
|
4060
|
+
Description: 'Avoid using single argument dig method.'
|
4061
|
+
Enabled: pending
|
4062
|
+
VersionAdded: '0.89'
|
4063
|
+
Safe: false
|
4064
|
+
|
3835
4065
|
Style/SingleLineBlockParams:
|
3836
4066
|
Description: 'Enforces the names of some block params.'
|
3837
4067
|
Enabled: false
|
@@ -3859,6 +4089,14 @@ Style/SlicingWithRange:
|
|
3859
4089
|
VersionAdded: '0.83'
|
3860
4090
|
Safe: false
|
3861
4091
|
|
4092
|
+
Style/SoleNestedConditional:
|
4093
|
+
Description: >-
|
4094
|
+
Finds sole nested conditional nodes
|
4095
|
+
which can be merged into outer conditional node.
|
4096
|
+
Enabled: pending
|
4097
|
+
VersionAdded: '0.89'
|
4098
|
+
AllowModifier: false
|
4099
|
+
|
3862
4100
|
Style/SpecialGlobalVars:
|
3863
4101
|
Description: 'Avoid Perl-style global variables.'
|
3864
4102
|
StyleGuide: '#no-cryptic-perlisms'
|
@@ -3887,6 +4125,13 @@ Style/StderrPuts:
|
|
3887
4125
|
Enabled: true
|
3888
4126
|
VersionAdded: '0.51'
|
3889
4127
|
|
4128
|
+
Style/StringConcatenation:
|
4129
|
+
Description: 'Checks for places where string concatenation can be replaced with string interpolation.'
|
4130
|
+
StyleGuide: '#string-interpolation'
|
4131
|
+
Enabled: pending
|
4132
|
+
Safe: false
|
4133
|
+
VersionAdded: '0.89'
|
4134
|
+
|
3890
4135
|
Style/StringHashKeys:
|
3891
4136
|
Description: 'Prefer symbols instead of strings as hash keys.'
|
3892
4137
|
StyleGuide: '#symbols-as-keys'
|