chefstyle 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +13 -2
- data/README.md +7 -0
- data/Rakefile +2 -0
- data/chefstyle.gemspec +2 -2
- data/config/chefstyle.yml +90 -3
- data/config/disable_all.yml +67 -7
- data/config/disabled.yml +23 -7
- data/config/enabled.yml +314 -157
- data/config/upstream.yml +239 -77
- data/lib/chefstyle/version.rb +2 -2
- metadata +8 -8
data/config/upstream.yml
CHANGED
@@ -29,32 +29,35 @@ AllCops:
|
|
29
29
|
- '**/*Fastfile'
|
30
30
|
Exclude:
|
31
31
|
- 'vendor/**/*'
|
32
|
-
# Default formatter will be used if no
|
32
|
+
# Default formatter will be used if no `-f/--format` option is given.
|
33
33
|
DefaultFormatter: progress
|
34
34
|
# Cop names are not displayed in offense messages by default. Change behavior
|
35
|
-
# by overriding DisplayCopNames, or by giving the
|
35
|
+
# by overriding DisplayCopNames, or by giving the `-D/--display-cop-names`
|
36
36
|
# option.
|
37
37
|
DisplayCopNames: false
|
38
38
|
# Style guide URLs are not displayed in offense messages by default. Change
|
39
|
-
# behavior by overriding DisplayStyleGuide
|
40
|
-
#
|
39
|
+
# behavior by overriding `DisplayStyleGuide`, or by giving the
|
40
|
+
# `-S/--display-style-guide` option.
|
41
41
|
DisplayStyleGuide: false
|
42
|
+
# When specifying style guide URLs, any paths and/or fragments will be
|
43
|
+
# evaluated relative to the base URL.
|
44
|
+
StyleGuideBaseURL: https://github.com/bbatsov/ruby-style-guide
|
42
45
|
# Extra details are not displayed in offense messages by default. Change
|
43
46
|
# behavior by overriding ExtraDetails, or by giving the
|
44
|
-
#
|
47
|
+
# `-E/--extra-details` option.
|
45
48
|
ExtraDetails: false
|
46
49
|
# Additional cops that do not reference a style guide rule may be enabled by
|
47
|
-
# default. Change behavior by overriding StyleGuideCopsOnly
|
48
|
-
# the
|
50
|
+
# default. Change behavior by overriding `StyleGuideCopsOnly`, or by giving
|
51
|
+
# the `--only-guide-cops` option.
|
49
52
|
StyleGuideCopsOnly: false
|
50
53
|
# All cops except the ones in disabled.yml are enabled by default. Change
|
51
|
-
# this behavior by overriding DisabledByDefault
|
52
|
-
# true
|
54
|
+
# this behavior by overriding `DisabledByDefault`. When `DisabledByDefault` is
|
55
|
+
# `true`, all cops in the default configuration are disabled, and only cops
|
53
56
|
# in user configuration are enabled. This makes cops opt-in instead of
|
54
|
-
# opt-out. Note that when DisabledByDefault is true
|
57
|
+
# opt-out. Note that when `DisabledByDefault` is `true`, cops in user
|
55
58
|
# configuration will be enabled even if they don't set the Enabled parameter.
|
56
59
|
DisabledByDefault: false
|
57
|
-
# Enables the result cache if true
|
60
|
+
# Enables the result cache if `true`. Can be overridden by the `--cache` command
|
58
61
|
# line option.
|
59
62
|
UseCache: true
|
60
63
|
# Threshold for how many files can be stored in the result cache before some
|
@@ -77,7 +80,7 @@ AllCops:
|
|
77
80
|
# run on? (If there is more than one, set this to the lowest version.)
|
78
81
|
# If a value is specified for TargetRubyVersion then it is used.
|
79
82
|
# Else if .ruby-version exists and it contains an MRI version it is used.
|
80
|
-
# Otherwise we fallback to the oldest officially supported Ruby version (2.
|
83
|
+
# Otherwise we fallback to the oldest officially supported Ruby version (2.1).
|
81
84
|
TargetRubyVersion: ~
|
82
85
|
|
83
86
|
# Indent private/protected/public as deep as method definitions
|
@@ -110,6 +113,10 @@ Style/AlignHash:
|
|
110
113
|
# 'a' => 2
|
111
114
|
# 'bb' => 3
|
112
115
|
EnforcedHashRocketStyle: key
|
116
|
+
SupportedHashRocketStyles:
|
117
|
+
- key
|
118
|
+
- separator
|
119
|
+
- table
|
113
120
|
# Alignment of entries using colon as separator. Valid values are:
|
114
121
|
#
|
115
122
|
# key - left alignment of keys
|
@@ -122,6 +129,10 @@ Style/AlignHash:
|
|
122
129
|
# a: 0
|
123
130
|
# bb: 1
|
124
131
|
EnforcedColonStyle: key
|
132
|
+
SupportedColonStyles:
|
133
|
+
- key
|
134
|
+
- separator
|
135
|
+
- table
|
125
136
|
# Select whether hashes that are the last argument in a method call should be
|
126
137
|
# inspected? Valid values are:
|
127
138
|
#
|
@@ -191,7 +202,7 @@ Style/AndOr:
|
|
191
202
|
- conditionals
|
192
203
|
|
193
204
|
|
194
|
-
# Checks if usage of
|
205
|
+
# Checks if usage of `%()` or `%Q()` matches configuration.
|
195
206
|
Style/BarePercentLiterals:
|
196
207
|
EnforcedStyle: bare_percent
|
197
208
|
SupportedStyles:
|
@@ -285,14 +296,14 @@ Style/BracesAroundHashParameters:
|
|
285
296
|
|
286
297
|
# Indentation of `when`.
|
287
298
|
Style/CaseIndentation:
|
288
|
-
|
299
|
+
EnforcedStyle: case
|
289
300
|
SupportedStyles:
|
290
301
|
- case
|
291
302
|
- end
|
292
303
|
IndentOneStep: false
|
293
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
294
|
-
# But it can be overridden by setting this parameter
|
295
|
-
# This only matters if IndentOneStep is true
|
304
|
+
# By default, the indentation width from `Style/IndentationWidth` is used.
|
305
|
+
# But it can be overridden by setting this parameter.
|
306
|
+
# This only matters if `IndentOneStep` is `true`
|
296
307
|
IndentationWidth: ~
|
297
308
|
|
298
309
|
Style/ClassAndModuleChildren:
|
@@ -310,7 +321,7 @@ Style/ClassAndModuleChildren:
|
|
310
321
|
# class Foo::Bar
|
311
322
|
# end
|
312
323
|
#
|
313
|
-
# The compact style is only forced, for classes
|
324
|
+
# The compact style is only forced, for classes or modules with one child.
|
314
325
|
EnforcedStyle: nested
|
315
326
|
SupportedStyles:
|
316
327
|
- nested
|
@@ -337,17 +348,17 @@ Style/CollectionMethods:
|
|
337
348
|
detect: 'find'
|
338
349
|
find_all: 'select'
|
339
350
|
|
340
|
-
# Use ` or %x around command literals.
|
351
|
+
# Use '`' or '%x' around command literals.
|
341
352
|
Style/CommandLiteral:
|
342
353
|
EnforcedStyle: backticks
|
343
354
|
# backticks: Always use backticks.
|
344
|
-
# percent_x: Always use
|
345
|
-
# mixed: Use backticks on single-line commands, and
|
355
|
+
# percent_x: Always use `%x`.
|
356
|
+
# mixed: Use backticks on single-line commands, and `%x` on multi-line commands.
|
346
357
|
SupportedStyles:
|
347
358
|
- backticks
|
348
359
|
- percent_x
|
349
360
|
- mixed
|
350
|
-
# If false
|
361
|
+
# If `false`, the cop will always recommend using `%x` if one or more backticks
|
351
362
|
# are found in the command string.
|
352
363
|
AllowInnerBackticks: false
|
353
364
|
|
@@ -372,14 +383,15 @@ Style/ConditionalAssignment:
|
|
372
383
|
# will only register an offense for assignment to a condition that has
|
373
384
|
# at least one multiline branch.
|
374
385
|
SingleLineConditionsOnly: true
|
386
|
+
IncludeTernaryExpressions: true
|
375
387
|
|
376
388
|
# Checks that you have put a copyright in a comment before any code.
|
377
389
|
#
|
378
390
|
# You can override the default Notice in your .rubocop.yml file.
|
379
391
|
#
|
380
392
|
# In order to use autocorrect, you must supply a value for the
|
381
|
-
# AutocorrectNotice key that matches the regexp Notice. A blank
|
382
|
-
# AutocorrectNotice will cause an error during autocorrect.
|
393
|
+
# `AutocorrectNotice` key that matches the regexp Notice. A blank
|
394
|
+
# `AutocorrectNotice` will cause an error during autocorrect.
|
383
395
|
#
|
384
396
|
# Autocorrect will add a copyright notice in a comment at the top
|
385
397
|
# of the file immediately after any shebang or encoding comments.
|
@@ -395,6 +407,9 @@ Style/Copyright:
|
|
395
407
|
Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
|
396
408
|
AutocorrectNotice: ''
|
397
409
|
|
410
|
+
Style/DocumentationMethod:
|
411
|
+
RequireForNonPublicMethods: false
|
412
|
+
|
398
413
|
# Multi-line method chaining should be done with leading dots.
|
399
414
|
Style/DotPosition:
|
400
415
|
EnforcedStyle: leading
|
@@ -403,9 +418,9 @@ Style/DotPosition:
|
|
403
418
|
- trailing
|
404
419
|
|
405
420
|
# Warn on empty else statements
|
406
|
-
# empty - warn only on empty else
|
407
|
-
# nil - warn on else with nil in it
|
408
|
-
# both - warn on empty else and else with nil in it
|
421
|
+
# empty - warn only on empty `else`
|
422
|
+
# nil - warn on `else` with nil in it
|
423
|
+
# both - warn on empty `else` and `else` with nil in it
|
409
424
|
Style/EmptyElse:
|
410
425
|
EnforcedStyle: both
|
411
426
|
SupportedStyles:
|
@@ -415,7 +430,7 @@ Style/EmptyElse:
|
|
415
430
|
|
416
431
|
# Use empty lines between defs.
|
417
432
|
Style/EmptyLineBetweenDefs:
|
418
|
-
# If true
|
433
|
+
# If `true`, this parameter means that single line method definitions don't
|
419
434
|
# need an empty line between them.
|
420
435
|
AllowAdjacentOneLineDefs: false
|
421
436
|
|
@@ -429,14 +444,24 @@ Style/EmptyLinesAroundClassBody:
|
|
429
444
|
EnforcedStyle: no_empty_lines
|
430
445
|
SupportedStyles:
|
431
446
|
- empty_lines
|
447
|
+
- empty_lines_except_namespace
|
448
|
+
- empty_lines_special
|
432
449
|
- no_empty_lines
|
433
450
|
|
434
451
|
Style/EmptyLinesAroundModuleBody:
|
435
452
|
EnforcedStyle: no_empty_lines
|
436
453
|
SupportedStyles:
|
437
454
|
- empty_lines
|
455
|
+
- empty_lines_except_namespace
|
456
|
+
- empty_lines_special
|
438
457
|
- no_empty_lines
|
439
458
|
|
459
|
+
Style/EmptyMethod:
|
460
|
+
EnforcedStyle: compact
|
461
|
+
SupportedStyles:
|
462
|
+
- compact
|
463
|
+
- expanded
|
464
|
+
|
440
465
|
# Checks whether the source file has a utf-8 encoding comment or not
|
441
466
|
# AutoCorrectEncodingComment must match the regex
|
442
467
|
# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
|
@@ -453,19 +478,19 @@ Style/ExtraSpacing:
|
|
453
478
|
# things with the previous or next line, not counting empty lines or comment
|
454
479
|
# lines.
|
455
480
|
AllowForAlignment: true
|
456
|
-
# When true, forces the alignment of
|
481
|
+
# When true, forces the alignment of `=` in assignments on consecutive lines.
|
457
482
|
ForceEqualSignAlignment: false
|
458
483
|
|
459
484
|
Style/FileName:
|
460
|
-
# File names listed in AllCops:Include are excluded by default. Add extra
|
485
|
+
# File names listed in `AllCops:Include` are excluded by default. Add extra
|
461
486
|
# excludes here.
|
462
487
|
Exclude: []
|
463
|
-
# When true
|
488
|
+
# When `true`, requires that each source file should define a class or module
|
464
489
|
# with a name which matches the file name (converted to ... case).
|
465
490
|
# It further expects it to be nested inside modules which match the names
|
466
491
|
# of subdirectories in its path.
|
467
492
|
ExpectMatchingDefinition: false
|
468
|
-
# If non
|
493
|
+
# If non-`nil`, expect all source file names to match the following regex.
|
469
494
|
# Only the file name itself is matched, not the entire file path.
|
470
495
|
# Use anchors as necessary if you want to match the entire name rather than
|
471
496
|
# just a part of it.
|
@@ -474,6 +499,47 @@ Style/FileName:
|
|
474
499
|
# report offending filenames for executable scripts (i.e. source
|
475
500
|
# files with a shebang in the first line).
|
476
501
|
IgnoreExecutableScripts: true
|
502
|
+
AllowedAcronyms:
|
503
|
+
- CLI
|
504
|
+
- DSL
|
505
|
+
- ACL
|
506
|
+
- API
|
507
|
+
- ASCII
|
508
|
+
- CPU
|
509
|
+
- CSS
|
510
|
+
- DNS
|
511
|
+
- EOF
|
512
|
+
- GUID
|
513
|
+
- HTML
|
514
|
+
- HTTP
|
515
|
+
- HTTPS
|
516
|
+
- ID
|
517
|
+
- IP
|
518
|
+
- JSON
|
519
|
+
- LHS
|
520
|
+
- QPS
|
521
|
+
- RAM
|
522
|
+
- RHS
|
523
|
+
- RPC
|
524
|
+
- SLA
|
525
|
+
- SMTP
|
526
|
+
- SQL
|
527
|
+
- SSH
|
528
|
+
- TCP
|
529
|
+
- TLS
|
530
|
+
- TTL
|
531
|
+
- UDP
|
532
|
+
- UI
|
533
|
+
- UID
|
534
|
+
- UUID
|
535
|
+
- URI
|
536
|
+
- URL
|
537
|
+
- UTF8
|
538
|
+
- VM
|
539
|
+
- XML
|
540
|
+
- XMPP
|
541
|
+
- XSRF
|
542
|
+
- XSS
|
477
543
|
|
478
544
|
Style/FirstParameterIndentation:
|
479
545
|
EnforcedStyle: special_for_inner_method_call_in_parentheses
|
@@ -486,10 +552,10 @@ Style/FirstParameterIndentation:
|
|
486
552
|
# a parameter in a method call, then the inner parameter should be indented
|
487
553
|
# relative to the inner method.
|
488
554
|
- special_for_inner_method_call
|
489
|
-
# Same as special_for_inner_method_call except that the special rule only
|
555
|
+
# Same as `special_for_inner_method_call` except that the special rule only
|
490
556
|
# applies if the outer method call encloses its arguments in parentheses.
|
491
557
|
- special_for_inner_method_call_in_parentheses
|
492
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
558
|
+
# By default, the indentation width from `Style/IndentationWidth` is used
|
493
559
|
# But it can be overridden by setting this parameter
|
494
560
|
IndentationWidth: ~
|
495
561
|
|
@@ -519,12 +585,15 @@ Style/FrozenStringLiteralComment:
|
|
519
585
|
# string literal. If you run code against multiple versions of Ruby, it is
|
520
586
|
# possible that this will create errors in Ruby 2.3.0+.
|
521
587
|
- always
|
588
|
+
# `never` will enforce that the frozen string literal comment does not
|
589
|
+
# exist in a file.
|
590
|
+
- never
|
522
591
|
|
523
592
|
# Built-in global variables are allowed by default.
|
524
593
|
Style/GlobalVars:
|
525
594
|
AllowedVariables: []
|
526
595
|
|
527
|
-
# `MinBodyLength` defines the number of lines of the a body of an if
|
596
|
+
# `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
|
528
597
|
# needs to have to trigger this cop
|
529
598
|
Style/GuardClause:
|
530
599
|
MinBodyLength: 1
|
@@ -532,9 +601,14 @@ Style/GuardClause:
|
|
532
601
|
Style/HashSyntax:
|
533
602
|
EnforcedStyle: ruby19
|
534
603
|
SupportedStyles:
|
604
|
+
# checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys
|
535
605
|
- ruby19
|
536
|
-
|
606
|
+
# checks for hash rocket syntax for all hashes
|
537
607
|
- hash_rockets
|
608
|
+
# forbids mixed key syntaxes (e.g. {a: 1, :b => 2})
|
609
|
+
- no_mixed_keys
|
610
|
+
# enforces both ruby19 and no_mixed_keys styles
|
611
|
+
- ruby19_no_mixed_keys
|
538
612
|
# Force hashes that have a symbol value to use hash rockets
|
539
613
|
UseHashRocketsWithSymbolValues: false
|
540
614
|
# Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
|
@@ -577,13 +651,13 @@ Style/IndentArray:
|
|
577
651
|
- special_inside_parentheses
|
578
652
|
- consistent
|
579
653
|
- align_brackets
|
580
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
654
|
+
# By default, the indentation width from `Style/IndentationWidth` is used
|
581
655
|
# But it can be overridden by setting this parameter
|
582
656
|
IndentationWidth: ~
|
583
657
|
|
584
658
|
# Checks the indentation of assignment RHS, when on a different line from LHS
|
585
659
|
Style/IndentAssignment:
|
586
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
660
|
+
# By default, the indentation width from `Style/IndentationWidth` is used
|
587
661
|
# But it can be overridden by setting this parameter
|
588
662
|
IndentationWidth: ~
|
589
663
|
|
@@ -605,7 +679,7 @@ Style/IndentHash:
|
|
605
679
|
- special_inside_parentheses
|
606
680
|
- consistent
|
607
681
|
- align_braces
|
608
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
682
|
+
# By default, the indentation width from `Style/IndentationWidth` is used
|
609
683
|
# But it can be overridden by setting this parameter
|
610
684
|
IndentationWidth: ~
|
611
685
|
|
@@ -616,6 +690,12 @@ Style/Lambda:
|
|
616
690
|
- lambda
|
617
691
|
- literal
|
618
692
|
|
693
|
+
Style/SpaceInLambdaLiteral:
|
694
|
+
EnforcedStyle: require_no_space
|
695
|
+
SupportedStyles:
|
696
|
+
- require_no_space
|
697
|
+
- require_space
|
698
|
+
|
619
699
|
Style/LambdaCall:
|
620
700
|
EnforcedStyle: call
|
621
701
|
SupportedStyles:
|
@@ -627,7 +707,7 @@ Style/Next:
|
|
627
707
|
# replaced by next - with `skip_modifier_ifs` the modifier if like this one
|
628
708
|
# are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
|
629
709
|
EnforcedStyle: skip_modifier_ifs
|
630
|
-
# `MinBodyLength` defines the number of lines of the a body of an if
|
710
|
+
# `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
|
631
711
|
# needs to have to trigger this cop
|
632
712
|
MinBodyLength: 3
|
633
713
|
SupportedStyles:
|
@@ -648,6 +728,10 @@ Style/NumericPredicate:
|
|
648
728
|
SupportedStyles:
|
649
729
|
- predicate
|
650
730
|
- comparison
|
731
|
+
# Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
|
732
|
+
# false positives.
|
733
|
+
Exclude:
|
734
|
+
- 'spec/**/*'
|
651
735
|
|
652
736
|
Style/MethodDefParentheses:
|
653
737
|
EnforcedStyle: require_parentheses
|
@@ -656,6 +740,9 @@ Style/MethodDefParentheses:
|
|
656
740
|
- require_no_parentheses
|
657
741
|
- require_no_parentheses_except_multiline
|
658
742
|
|
743
|
+
Style/MethodCallWithArgsParentheses:
|
744
|
+
IgnoredMethods: []
|
745
|
+
|
659
746
|
Style/MethodName:
|
660
747
|
EnforcedStyle: snake_case
|
661
748
|
SupportedStyles:
|
@@ -741,7 +828,7 @@ Style/MultilineOperationIndentation:
|
|
741
828
|
SupportedStyles:
|
742
829
|
- aligned
|
743
830
|
- indented
|
744
|
-
# By default, the indentation width from Style/IndentationWidth is used
|
831
|
+
# By default, the indentation width from `Style/IndentationWidth` is used
|
745
832
|
# But it can be overridden by setting this parameter
|
746
833
|
IndentationWidth: ~
|
747
834
|
|
@@ -771,6 +858,7 @@ Style/PercentLiteralDelimiters:
|
|
771
858
|
PreferredDelimiters:
|
772
859
|
'%': ()
|
773
860
|
'%i': ()
|
861
|
+
'%I': ()
|
774
862
|
'%q': ()
|
775
863
|
'%Q': ()
|
776
864
|
'%r': '{}'
|
@@ -782,8 +870,8 @@ Style/PercentLiteralDelimiters:
|
|
782
870
|
Style/PercentQLiterals:
|
783
871
|
EnforcedStyle: lower_case_q
|
784
872
|
SupportedStyles:
|
785
|
-
- lower_case_q # Use
|
786
|
-
- upper_case_q # Always use
|
873
|
+
- lower_case_q # Use `%q` when possible, `%Q` when necessary
|
874
|
+
- upper_case_q # Always use `%Q`
|
787
875
|
|
788
876
|
Style/PredicateName:
|
789
877
|
# Predicate name prefixes.
|
@@ -796,7 +884,7 @@ Style/PredicateName:
|
|
796
884
|
- is_
|
797
885
|
- has_
|
798
886
|
- have_
|
799
|
-
# Predicate names which, despite having a blacklisted prefix, or no
|
887
|
+
# Predicate names which, despite having a blacklisted prefix, or no `?`,
|
800
888
|
# should still be accepted
|
801
889
|
NameWhitelist:
|
802
890
|
- is_a?
|
@@ -805,6 +893,12 @@ Style/PredicateName:
|
|
805
893
|
Exclude:
|
806
894
|
- 'spec/**/*'
|
807
895
|
|
896
|
+
Style/PreferredHashMethods:
|
897
|
+
EnforcedStyle: short
|
898
|
+
SupportedStyles:
|
899
|
+
- short
|
900
|
+
- verbose
|
901
|
+
|
808
902
|
Style/RaiseArgs:
|
809
903
|
EnforcedStyle: exploded
|
810
904
|
SupportedStyles:
|
@@ -812,25 +906,30 @@ Style/RaiseArgs:
|
|
812
906
|
- exploded # raise Exception, msg
|
813
907
|
|
814
908
|
Style/RedundantReturn:
|
815
|
-
# When true allows code like `return x, y`.
|
909
|
+
# When `true` allows code like `return x, y`.
|
816
910
|
AllowMultipleReturnValues: false
|
817
911
|
|
818
|
-
# Use
|
912
|
+
# Use `/` or `%r` around regular expressions.
|
819
913
|
Style/RegexpLiteral:
|
820
914
|
EnforcedStyle: slashes
|
821
915
|
# slashes: Always use slashes.
|
822
|
-
# percent_r: Always use
|
823
|
-
# mixed: Use slashes on single-line regexes, and
|
916
|
+
# percent_r: Always use `%r`.
|
917
|
+
# mixed: Use slashes on single-line regexes, and `%r` on multi-line regexes.
|
824
918
|
SupportedStyles:
|
825
919
|
- slashes
|
826
920
|
- percent_r
|
827
921
|
- mixed
|
828
|
-
# If false
|
922
|
+
# If `false`, the cop will always recommend using `%r` if one or more slashes
|
829
923
|
# are found in the regexp string.
|
830
924
|
AllowInnerSlashes: false
|
831
925
|
|
926
|
+
Style/SafeNavigation:
|
927
|
+
# Safe navigation may cause a statement to start returning `nil` in addition
|
928
|
+
# to whatever it used to return.
|
929
|
+
ConvertCodeThatCanStartToReturnNil: false
|
930
|
+
|
832
931
|
Style/Semicolon:
|
833
|
-
# Allow
|
932
|
+
# Allow `;` to separate several expressions on the same line.
|
834
933
|
AllowAsExpressionSeparator: false
|
835
934
|
|
836
935
|
Style/SignalException:
|
@@ -843,17 +942,17 @@ Style/SignalException:
|
|
843
942
|
Style/SingleLineBlockParams:
|
844
943
|
Methods:
|
845
944
|
- reduce:
|
846
|
-
-
|
847
|
-
-
|
945
|
+
- acc
|
946
|
+
- elem
|
848
947
|
- inject:
|
849
|
-
-
|
850
|
-
-
|
948
|
+
- acc
|
949
|
+
- elem
|
851
950
|
|
852
951
|
Style/SingleLineMethods:
|
853
952
|
AllowIfMethodIsEmpty: true
|
854
953
|
|
855
954
|
Style/SpaceBeforeFirstArg:
|
856
|
-
# When true
|
955
|
+
# When `true`, allows most uses of extra spacing if the intent is to align
|
857
956
|
# things with the previous or next line, not counting empty lines or comment
|
858
957
|
# lines.
|
859
958
|
AllowForAlignment: true
|
@@ -875,7 +974,7 @@ Style/StringLiterals:
|
|
875
974
|
SupportedStyles:
|
876
975
|
- single_quotes
|
877
976
|
- double_quotes
|
878
|
-
# If true
|
977
|
+
# If `true`, strings which span multiple lines using `\` for continuation must
|
879
978
|
# use the same type of quotes on each line.
|
880
979
|
ConsistentQuotesInMultiline: false
|
881
980
|
|
@@ -897,7 +996,7 @@ Style/StringMethods:
|
|
897
996
|
|
898
997
|
Style/SpaceAroundBlockParameters:
|
899
998
|
EnforcedStyleInsidePipes: no_space
|
900
|
-
|
999
|
+
SupportedStylesInsidePipes:
|
901
1000
|
- space
|
902
1001
|
- no_space
|
903
1002
|
|
@@ -908,7 +1007,7 @@ Style/SpaceAroundEqualsInParameterDefault:
|
|
908
1007
|
- no_space
|
909
1008
|
|
910
1009
|
Style/SpaceAroundOperators:
|
911
|
-
# When true
|
1010
|
+
# When `true`, allows most uses of extra spacing if the intent is to align
|
912
1011
|
# with an operator on the previous or next line, not counting empty lines
|
913
1012
|
# or comment lines.
|
914
1013
|
AllowForAlignment: true
|
@@ -924,20 +1023,25 @@ Style/SpaceInsideBlockBraces:
|
|
924
1023
|
SupportedStyles:
|
925
1024
|
- space
|
926
1025
|
- no_space
|
927
|
-
# Valid values are: space, no_space
|
928
1026
|
EnforcedStyleForEmptyBraces: no_space
|
1027
|
+
SupportedStylesForEmptyBraces:
|
1028
|
+
- space
|
1029
|
+
- no_space
|
929
1030
|
# Space between { and |. Overrides EnforcedStyle if there is a conflict.
|
930
1031
|
SpaceBeforeBlockParameters: true
|
931
1032
|
|
932
1033
|
Style/SpaceInsideHashLiteralBraces:
|
933
1034
|
EnforcedStyle: space
|
934
|
-
EnforcedStyleForEmptyBraces: no_space
|
935
1035
|
SupportedStyles:
|
936
1036
|
- space
|
937
1037
|
- no_space
|
938
1038
|
# 'compact' normally requires a space inside hash braces, with the exception
|
939
1039
|
# that successive left braces or right braces are collapsed together
|
940
1040
|
- compact
|
1041
|
+
EnforcedStyleForEmptyBraces: no_space
|
1042
|
+
SupportedStylesForEmptyBraces:
|
1043
|
+
- space
|
1044
|
+
- no_space
|
941
1045
|
|
942
1046
|
Style/SpaceInsideStringInterpolation:
|
943
1047
|
EnforcedStyle: no_space
|
@@ -963,6 +1067,7 @@ Style/TernaryParentheses:
|
|
963
1067
|
SupportedStyles:
|
964
1068
|
- require_parentheses
|
965
1069
|
- require_no_parentheses
|
1070
|
+
- require_parentheses_when_complex
|
966
1071
|
AllowSafeAssignment: true
|
967
1072
|
|
968
1073
|
Style/TrailingBlankLines:
|
@@ -977,7 +1082,7 @@ Style/TrailingCommaInArguments:
|
|
977
1082
|
# If `consistent_comma`, the cop requires a comma after the last argument,
|
978
1083
|
# for all parenthesized method calls with arguments.
|
979
1084
|
EnforcedStyleForMultiline: no_comma
|
980
|
-
|
1085
|
+
SupportedStylesForMultiline:
|
981
1086
|
- comma
|
982
1087
|
- consistent_comma
|
983
1088
|
- no_comma
|
@@ -988,7 +1093,7 @@ Style/TrailingCommaInLiteral:
|
|
988
1093
|
# If `consistent_comma`, the cop requires a comma after the last item of all
|
989
1094
|
# non-empty array and hash literals.
|
990
1095
|
EnforcedStyleForMultiline: no_comma
|
991
|
-
|
1096
|
+
SupportedStylesForMultiline:
|
992
1097
|
- comma
|
993
1098
|
- consistent_comma
|
994
1099
|
- no_comma
|
@@ -996,7 +1101,7 @@ Style/TrailingCommaInLiteral:
|
|
996
1101
|
# TrivialAccessors requires exact name matches and doesn't allow
|
997
1102
|
# predicated methods by default.
|
998
1103
|
Style/TrivialAccessors:
|
999
|
-
# When set to false the cop will suggest the use of accessor methods
|
1104
|
+
# When set to `false` the cop will suggest the use of accessor methods
|
1000
1105
|
# in situations like:
|
1001
1106
|
#
|
1002
1107
|
# def name
|
@@ -1041,10 +1146,17 @@ Style/VariableName:
|
|
1041
1146
|
- snake_case
|
1042
1147
|
- camelCase
|
1043
1148
|
|
1149
|
+
Style/VariableNumber:
|
1150
|
+
EnforcedStyle: normalcase
|
1151
|
+
SupportedStyles:
|
1152
|
+
- snake_case
|
1153
|
+
- normalcase
|
1154
|
+
- non_integer
|
1155
|
+
|
1044
1156
|
Style/WhileUntilModifier:
|
1045
1157
|
MaxLineLength: 80
|
1046
1158
|
|
1047
|
-
# WordArray enforces how array literals of word-like strings should be expressed.
|
1159
|
+
# `WordArray` enforces how array literals of word-like strings should be expressed.
|
1048
1160
|
Style/WordArray:
|
1049
1161
|
EnforcedStyle: percent
|
1050
1162
|
SupportedStyles:
|
@@ -1052,21 +1164,22 @@ Style/WordArray:
|
|
1052
1164
|
- percent
|
1053
1165
|
# bracket style: ['word1', 'word2']
|
1054
1166
|
- brackets
|
1055
|
-
# The MinSize option causes the WordArray rule to be ignored for arrays
|
1167
|
+
# The `MinSize` option causes the `WordArray` rule to be ignored for arrays
|
1056
1168
|
# smaller than a certain size. The rule is only applied to arrays
|
1057
|
-
# whose element count is greater than or equal to MinSize
|
1169
|
+
# whose element count is greater than or equal to `MinSize`.
|
1058
1170
|
MinSize: 0
|
1059
|
-
# The regular expression WordRegex decides what is considered a word.
|
1171
|
+
# The regular expression `WordRegex` decides what is considered a word.
|
1060
1172
|
WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'
|
1061
1173
|
|
1062
1174
|
##################### Metrics ##################################
|
1063
1175
|
|
1064
1176
|
Metrics/AbcSize:
|
1065
|
-
# The ABC size is a calculated magnitude, so this number can be
|
1177
|
+
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
1066
1178
|
# a Float.
|
1067
1179
|
Max: 15
|
1068
1180
|
|
1069
1181
|
Metrics/BlockNesting:
|
1182
|
+
CountBlocks: false
|
1070
1183
|
Max: 3
|
1071
1184
|
|
1072
1185
|
Metrics/ClassLength:
|
@@ -1090,11 +1203,23 @@ Metrics/LineLength:
|
|
1090
1203
|
URISchemes:
|
1091
1204
|
- http
|
1092
1205
|
- https
|
1206
|
+
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
1207
|
+
# directives like '# rubocop: enable ...' when calculating a line's length.
|
1208
|
+
IgnoreCopDirectives: false
|
1209
|
+
# The IgnoredPatterns option is a list of !ruby/regexp and/or string
|
1210
|
+
# elements. Strings will be converted to Regexp objects. A line that matches
|
1211
|
+
# any regular expression listed in this option will be ignored by LineLength.
|
1212
|
+
IgnoredPatterns: []
|
1093
1213
|
|
1094
1214
|
Metrics/MethodLength:
|
1095
1215
|
CountComments: false # count full line comments?
|
1096
1216
|
Max: 10
|
1097
1217
|
|
1218
|
+
Metrics/BlockLength:
|
1219
|
+
CountComments: false # count full line comments?
|
1220
|
+
Max: 25
|
1221
|
+
ExcludedMethods: []
|
1222
|
+
|
1098
1223
|
Metrics/ParameterLists:
|
1099
1224
|
Max: 5
|
1100
1225
|
CountKeywordArgs: true
|
@@ -1115,8 +1240,8 @@ Lint/BlockAlignment:
|
|
1115
1240
|
# The value `start_of_line` means it should be aligned with the whole
|
1116
1241
|
# expression's starting line.
|
1117
1242
|
# The value `either` means both are allowed.
|
1118
|
-
|
1119
|
-
|
1243
|
+
EnforcedStyleAlignWith: either
|
1244
|
+
SupportedStylesAlignWith:
|
1120
1245
|
- either
|
1121
1246
|
- start_of_block
|
1122
1247
|
- start_of_line
|
@@ -1124,14 +1249,14 @@ Lint/BlockAlignment:
|
|
1124
1249
|
# Align ends correctly.
|
1125
1250
|
Lint/EndAlignment:
|
1126
1251
|
# The value `keyword` means that `end` should be aligned with the matching
|
1127
|
-
# keyword (if
|
1252
|
+
# keyword (`if`, `while`, etc.).
|
1128
1253
|
# The value `variable` means that in assignments, `end` should be aligned
|
1129
1254
|
# with the start of the variable on the left hand side of `=`. In all other
|
1130
1255
|
# situations, `end` should still be aligned with the keyword.
|
1131
1256
|
# The value `start_of_line` means that `end` should be aligned with the start
|
1132
1257
|
# of the line which the matching keyword appears on.
|
1133
|
-
|
1134
|
-
|
1258
|
+
EnforcedStyleAlignWith: keyword
|
1259
|
+
SupportedStylesAlignWith:
|
1135
1260
|
- keyword
|
1136
1261
|
- variable
|
1137
1262
|
- start_of_line
|
@@ -1142,8 +1267,8 @@ Lint/DefEndAlignment:
|
|
1142
1267
|
# The value `start_of_line` means that `end` should be aligned with method
|
1143
1268
|
# calls like `private`, `public`, etc, if present in front of the `def`
|
1144
1269
|
# keyword on the same line.
|
1145
|
-
|
1146
|
-
|
1270
|
+
EnforcedStyleAlignWith: start_of_line
|
1271
|
+
SupportedStylesAlignWith:
|
1147
1272
|
- start_of_line
|
1148
1273
|
- def
|
1149
1274
|
AutoCorrect: false
|
@@ -1192,6 +1317,14 @@ Rails/Date:
|
|
1192
1317
|
- strict
|
1193
1318
|
- flexible
|
1194
1319
|
|
1320
|
+
Rails/DynamicFindBy:
|
1321
|
+
Whitelist:
|
1322
|
+
- find_by_sql
|
1323
|
+
|
1324
|
+
Rails/EnumUniqueness:
|
1325
|
+
Include:
|
1326
|
+
- app/models/**/*.rb
|
1327
|
+
|
1195
1328
|
Rails/Exit:
|
1196
1329
|
Include:
|
1197
1330
|
- app/**/*.rb
|
@@ -1212,6 +1345,10 @@ Rails/HasAndBelongsToMany:
|
|
1212
1345
|
Include:
|
1213
1346
|
- app/models/**/*.rb
|
1214
1347
|
|
1348
|
+
Rails/NotNullColumn:
|
1349
|
+
Include:
|
1350
|
+
- db/migrate/*.rb
|
1351
|
+
|
1215
1352
|
Rails/Output:
|
1216
1353
|
Include:
|
1217
1354
|
- app/**/*.rb
|
@@ -1229,6 +1366,17 @@ Rails/RequestReferer:
|
|
1229
1366
|
- referer
|
1230
1367
|
- referrer
|
1231
1368
|
|
1369
|
+
Rails/ReversibleMigration:
|
1370
|
+
Include:
|
1371
|
+
- db/migrate/*.rb
|
1372
|
+
|
1373
|
+
Rails/SafeNavigation:
|
1374
|
+
# This will convert usages of `try` to use safe navigation as well as `try!`.
|
1375
|
+
# `try` and `try!` work slighly differently. `try!` and safe navigation will
|
1376
|
+
# both raise a `NoMethodError` if the receiver of the method call does not
|
1377
|
+
# implement the intended method. `try` will not raise an exception for this.
|
1378
|
+
ConvertTry: false
|
1379
|
+
|
1232
1380
|
Rails/ScopeArgs:
|
1233
1381
|
Include:
|
1234
1382
|
- app/models/**/*.rb
|
@@ -1242,12 +1390,26 @@ Rails/TimeZone:
|
|
1242
1390
|
- flexible
|
1243
1391
|
|
1244
1392
|
Rails/UniqBeforePluck:
|
1245
|
-
|
1246
|
-
|
1393
|
+
EnforcedStyle: conservative
|
1394
|
+
SupportedStyles:
|
1247
1395
|
- conservative
|
1248
1396
|
- aggressive
|
1249
1397
|
AutoCorrect: false
|
1250
1398
|
|
1399
|
+
Rails/SkipsModelValidations:
|
1400
|
+
Blacklist:
|
1401
|
+
- decrement!
|
1402
|
+
- decrement_counter
|
1403
|
+
- increment!
|
1404
|
+
- increment_counter
|
1405
|
+
- toggle!
|
1406
|
+
- touch
|
1407
|
+
- update_all
|
1408
|
+
- update_attribute
|
1409
|
+
- update_column
|
1410
|
+
- update_columns
|
1411
|
+
- update_counters
|
1412
|
+
|
1251
1413
|
Rails/Validation:
|
1252
1414
|
Include:
|
1253
1415
|
- app/models/**/*.rb
|