cloud_party 0.1.0.pre.pre.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e553bafabc873644378fd401af1752897bf941ba1d772e5a171391e201858e5a
4
+ data.tar.gz: 6754d7f9a91392f826141fe4c183c7e6f488c0f6d9c06af476cf17f7d9ba7df1
5
+ SHA512:
6
+ metadata.gz: cd447f3b29551587c5f7996ec3788d016640040f297113007b12ce93dc70f72dc40152a6cc187a089ff40de102697db24e30f72d7211ce52762b25b3f23b0e4c
7
+ data.tar.gz: eeab36f71c1f9d5a2fb0b44aee771bcdf7de08c2c80f58cd275105aee4e88ba2644c7b18c092b67edcffd174a25dcaba179b7280aadb596a6bf3c7551a1c32d3
@@ -0,0 +1,11 @@
1
+ ---
2
+ engines:
3
+ fixme:
4
+ enabled: true
5
+ rubocop:
6
+ enabled: true
7
+ ratings:
8
+ paths:
9
+ - "**.rb"
10
+ exclude_paths:
11
+ - spec/**/*
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /fixtures/
11
+ /vendor/
12
+ /.idea/
13
+ /.vscode/
14
+
15
+ /Deskfile
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --require spec_helper
3
+ --color
@@ -0,0 +1,33 @@
1
+ inherit_from: .rubocop_config.yml
2
+ AllCops:
3
+ TargetRubyVersion: 2.5.1
4
+
5
+ Metrics/AbcSize:
6
+ Max: 23
7
+
8
+ # Offense count: 2
9
+ # Configuration parameters: CountComments, ExcludedMethods.
10
+ # ExcludedMethods: refine
11
+ Metrics/BlockLength:
12
+ Max: 33
13
+
14
+ # Offense count: 4
15
+ # Configuration parameters: CountComments.
16
+ Metrics/MethodLength:
17
+ Max: 22
18
+
19
+ # Offense count: 4
20
+ Style/ClassVars:
21
+ Exclude:
22
+ - 'lib/cloud_party/config.rb'
23
+ - 'lib/cloud_party/simple.rb'
24
+
25
+ # Offense count: 23
26
+ Style/Documentation:
27
+ Enabled: false
28
+
29
+ # Offense count: 12
30
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
31
+ # URISchemes: http, https
32
+ Metrics/LineLength:
33
+ Max: 110
@@ -0,0 +1,3199 @@
1
+ # Available cops (428) + config for /home/ken/everygit/cloudflare_cli:
2
+ # Department 'Bundler' (4):
3
+ Bundler/DuplicatedGem:
4
+ Description: Checks for duplicate gem entries in Gemfile.
5
+ Enabled: true
6
+ Include:
7
+ - "**/*.gemfile"
8
+ - "**/Gemfile"
9
+ - "**/gems.rb"
10
+
11
+ Bundler/GemComment:
12
+ Description: Add a comment describing each gem.
13
+ Enabled: false
14
+ Include:
15
+ - "**/*.gemfile"
16
+ - "**/Gemfile"
17
+ - "**/gems.rb"
18
+ Whitelist: []
19
+
20
+ # Supports --auto-correct
21
+ Bundler/InsecureProtocolSource:
22
+ Description: The source `:gemcutter`, `:rubygems` and `:rubyforge` are deprecated
23
+ because HTTP requests are insecure. Please change your source to 'https://rubygems.org'
24
+ if possible, or 'http://rubygems.org' if not.
25
+ Enabled: true
26
+ Include:
27
+ - "**/*.gemfile"
28
+ - "**/Gemfile"
29
+ - "**/gems.rb"
30
+
31
+ # Supports --auto-correct
32
+ Bundler/OrderedGems:
33
+ Description: Gems within groups in the Gemfile should be alphabetically sorted.
34
+ Enabled: true
35
+ Include:
36
+ - "**/*.gemfile"
37
+ - "**/Gemfile"
38
+ - "**/gems.rb"
39
+ TreatCommentsAsGroupSeparators: true
40
+
41
+ # Department 'Gemspec' (3):
42
+ Gemspec/DuplicatedAssignment:
43
+ Description: An attribute assignment method calls should be listed only once in a
44
+ gemspec.
45
+ Enabled: true
46
+ Include:
47
+ - "**/*.gemspec"
48
+
49
+ # Supports --auto-correct
50
+ Gemspec/OrderedDependencies:
51
+ Description: Dependencies in the gemspec should be alphabetically sorted.
52
+ Enabled: true
53
+ Include:
54
+ - "**/*.gemspec"
55
+ TreatCommentsAsGroupSeparators: true
56
+
57
+ Gemspec/RequiredRubyVersion:
58
+ Description: Checks that `required_ruby_version` of gemspec and `TargetRubyVersion`
59
+ of .rubocop.yml are equal.
60
+ Enabled: true
61
+ Include:
62
+ - "**/*.gemspec"
63
+
64
+ # Department 'Layout' (81):
65
+ # Supports --auto-correct
66
+ Layout/AccessModifierIndentation:
67
+ Description: Check indentation of private/protected visibility modifiers.
68
+ StyleGuide: "#indent-public-private-protected"
69
+ Enabled: true
70
+ EnforcedStyle: indent
71
+ SupportedStyles:
72
+ - outdent
73
+ - indent
74
+ IndentationWidth:
75
+
76
+ # Supports --auto-correct
77
+ Layout/AlignArray:
78
+ Description: Align the elements of an array literal if they span more than one line.
79
+ StyleGuide: "#align-multiline-arrays"
80
+ Enabled: true
81
+
82
+ # Supports --auto-correct
83
+ Layout/AlignHash:
84
+ Description: Align the elements of a hash literal if they span more than one line.
85
+ Enabled: true
86
+ EnforcedHashRocketStyle: key
87
+ SupportedHashRocketStyles:
88
+ - key
89
+ - separator
90
+ - table
91
+ EnforcedColonStyle: key
92
+ SupportedColonStyles:
93
+ - key
94
+ - separator
95
+ - table
96
+ EnforcedLastArgumentHashStyle: always_inspect
97
+ SupportedLastArgumentHashStyles:
98
+ - always_inspect
99
+ - always_ignore
100
+ - ignore_implicit
101
+ - ignore_explicit
102
+
103
+ # Supports --auto-correct
104
+ Layout/AlignParameters:
105
+ Description: Align the parameters of a method call if they span more than one line.
106
+ StyleGuide: "#no-double-indent"
107
+ Enabled: true
108
+ EnforcedStyle: with_first_parameter
109
+ SupportedStyles:
110
+ - with_first_parameter
111
+ - with_fixed_indentation
112
+ IndentationWidth:
113
+
114
+ # Supports --auto-correct
115
+ Layout/BlockAlignment:
116
+ Description: Align block ends correctly.
117
+ Enabled: true
118
+ EnforcedStyleAlignWith: either
119
+ SupportedStylesAlignWith:
120
+ - either
121
+ - start_of_block
122
+ - start_of_line
123
+
124
+ # Supports --auto-correct
125
+ Layout/BlockEndNewline:
126
+ Description: Put end statement of multiline block on its own line.
127
+ Enabled: true
128
+
129
+ # Supports --auto-correct
130
+ Layout/CaseIndentation:
131
+ Description: Indentation of when in a case/when/[else/]end.
132
+ StyleGuide: "#indent-when-to-case"
133
+ Enabled: true
134
+ EnforcedStyle: case
135
+ SupportedStyles:
136
+ - case
137
+ - end
138
+ IndentOneStep: false
139
+ IndentationWidth:
140
+
141
+ # Supports --auto-correct
142
+ Layout/ClassStructure:
143
+ Description: Enforces a configured order of definitions within a class body.
144
+ StyleGuide: https://github.com/rubocop-hq/ruby-style-guide#consistent-classes
145
+ Enabled: false
146
+ Categories:
147
+ module_inclusion:
148
+ - include
149
+ - prepend
150
+ - extend
151
+ ExpectedOrder:
152
+ - module_inclusion
153
+ - constants
154
+ - public_class_methods
155
+ - initializer
156
+ - public_methods
157
+ - protected_methods
158
+ - private_methods
159
+
160
+ # Supports --auto-correct
161
+ Layout/ClosingHeredocIndentation:
162
+ Description: Checks the indentation of here document closings.
163
+ Enabled: true
164
+
165
+ # Supports --auto-correct
166
+ Layout/ClosingParenthesisIndentation:
167
+ Description: Checks the indentation of hanging closing parentheses.
168
+ Enabled: true
169
+
170
+ # Supports --auto-correct
171
+ Layout/CommentIndentation:
172
+ Description: Indentation of comments.
173
+ Enabled: true
174
+
175
+ Layout/ConditionPosition:
176
+ Description: Checks for condition placed in a confusing position relative to the keyword.
177
+ StyleGuide: "#same-line-condition"
178
+ Enabled: true
179
+
180
+ # Supports --auto-correct
181
+ Layout/DefEndAlignment:
182
+ Description: Align ends corresponding to defs correctly.
183
+ Enabled: true
184
+ EnforcedStyleAlignWith: start_of_line
185
+ SupportedStylesAlignWith:
186
+ - start_of_line
187
+ - def
188
+ AutoCorrect: false
189
+ Severity: warning
190
+
191
+ # Supports --auto-correct
192
+ Layout/DotPosition:
193
+ Description: Checks the position of the dot in multi-line method calls.
194
+ StyleGuide: "#consistent-multi-line-chains"
195
+ Enabled: true
196
+ EnforcedStyle: leading
197
+ SupportedStyles:
198
+ - leading
199
+ - trailing
200
+
201
+ # Supports --auto-correct
202
+ Layout/ElseAlignment:
203
+ Description: Align elses and elsifs correctly.
204
+ Enabled: true
205
+
206
+ # Supports --auto-correct
207
+ Layout/EmptyComment:
208
+ Description: Checks empty comment.
209
+ Enabled: true
210
+ AllowBorderComment: true
211
+ AllowMarginComment: true
212
+
213
+ # Supports --auto-correct
214
+ Layout/EmptyLineAfterGuardClause:
215
+ Description: Add empty line after guard clause.
216
+ Enabled: true
217
+
218
+ # Supports --auto-correct
219
+ Layout/EmptyLineAfterMagicComment:
220
+ Description: Add an empty line after magic comments to separate them from code.
221
+ StyleGuide: "#separate-magic-comments-from-code"
222
+ Enabled: true
223
+
224
+ # Supports --auto-correct
225
+ Layout/EmptyLineBetweenDefs:
226
+ Description: Use empty lines between defs.
227
+ StyleGuide: "#empty-lines-between-methods"
228
+ Enabled: true
229
+ AllowAdjacentOneLineDefs: false
230
+ NumberOfEmptyLines: 1
231
+
232
+ # Supports --auto-correct
233
+ Layout/EmptyLines:
234
+ Description: Don't use several empty lines in a row.
235
+ StyleGuide: "#two-or-more-empty-lines"
236
+ Enabled: true
237
+
238
+ # Supports --auto-correct
239
+ Layout/EmptyLinesAroundAccessModifier:
240
+ Description: Keep blank lines around access modifiers.
241
+ StyleGuide: "#empty-lines-around-access-modifier"
242
+ Enabled: true
243
+
244
+ # Supports --auto-correct
245
+ Layout/EmptyLinesAroundArguments:
246
+ Description: Keeps track of empty lines around method arguments.
247
+ Enabled: true
248
+
249
+ # Supports --auto-correct
250
+ Layout/EmptyLinesAroundBeginBody:
251
+ Description: Keeps track of empty lines around begin-end bodies.
252
+ StyleGuide: "#empty-lines-around-bodies"
253
+ Enabled: true
254
+
255
+ # Supports --auto-correct
256
+ Layout/EmptyLinesAroundBlockBody:
257
+ Description: Keeps track of empty lines around block bodies.
258
+ StyleGuide: "#empty-lines-around-bodies"
259
+ Enabled: true
260
+ EnforcedStyle: no_empty_lines
261
+ SupportedStyles:
262
+ - empty_lines
263
+ - no_empty_lines
264
+
265
+ # Supports --auto-correct
266
+ Layout/EmptyLinesAroundClassBody:
267
+ Description: Keeps track of empty lines around class bodies.
268
+ StyleGuide: "#empty-lines-around-bodies"
269
+ Enabled: true
270
+ EnforcedStyle: no_empty_lines
271
+ SupportedStyles:
272
+ - empty_lines
273
+ - empty_lines_except_namespace
274
+ - empty_lines_special
275
+ - no_empty_lines
276
+ - beginning_only
277
+ - ending_only
278
+
279
+ # Supports --auto-correct
280
+ Layout/EmptyLinesAroundExceptionHandlingKeywords:
281
+ Description: Keeps track of empty lines around exception handling keywords.
282
+ StyleGuide: "#empty-lines-around-bodies"
283
+ Enabled: true
284
+
285
+ # Supports --auto-correct
286
+ Layout/EmptyLinesAroundMethodBody:
287
+ Description: Keeps track of empty lines around method bodies.
288
+ StyleGuide: "#empty-lines-around-bodies"
289
+ Enabled: true
290
+
291
+ # Supports --auto-correct
292
+ Layout/EmptyLinesAroundModuleBody:
293
+ Description: Keeps track of empty lines around module bodies.
294
+ StyleGuide: "#empty-lines-around-bodies"
295
+ Enabled: true
296
+ EnforcedStyle: no_empty_lines
297
+ SupportedStyles:
298
+ - empty_lines
299
+ - empty_lines_except_namespace
300
+ - empty_lines_special
301
+ - no_empty_lines
302
+
303
+ # Supports --auto-correct
304
+ Layout/EndAlignment:
305
+ Description: Align ends correctly.
306
+ Enabled: true
307
+ EnforcedStyleAlignWith: keyword
308
+ SupportedStylesAlignWith:
309
+ - keyword
310
+ - variable
311
+ - start_of_line
312
+ AutoCorrect: false
313
+ Severity: warning
314
+
315
+ Layout/EndOfLine:
316
+ Description: Use Unix-style line endings.
317
+ StyleGuide: "#crlf"
318
+ Enabled: true
319
+ EnforcedStyle: native
320
+ SupportedStyles:
321
+ - native
322
+ - lf
323
+ - crlf
324
+
325
+ # Supports --auto-correct
326
+ Layout/ExtraSpacing:
327
+ Description: Do not use unnecessary spacing.
328
+ Enabled: true
329
+ AllowForAlignment: true
330
+ ForceEqualSignAlignment: false
331
+
332
+ # Supports --auto-correct
333
+ Layout/FirstArrayElementLineBreak:
334
+ Description: Checks for a line break before the first element in a multi-line array.
335
+ Enabled: false
336
+
337
+ # Supports --auto-correct
338
+ Layout/FirstHashElementLineBreak:
339
+ Description: Checks for a line break before the first element in a multi-line hash.
340
+ Enabled: false
341
+
342
+ # Supports --auto-correct
343
+ Layout/FirstMethodArgumentLineBreak:
344
+ Description: Checks for a line break before the first argument in a multi-line method
345
+ call.
346
+ Enabled: false
347
+
348
+ # Supports --auto-correct
349
+ Layout/FirstMethodParameterLineBreak:
350
+ Description: Checks for a line break before the first parameter in a multi-line method
351
+ parameter definition.
352
+ Enabled: false
353
+
354
+ # Supports --auto-correct
355
+ Layout/FirstParameterIndentation:
356
+ Description: Checks the indentation of the first parameter in a method call.
357
+ Enabled: true
358
+ EnforcedStyle: special_for_inner_method_call_in_parentheses
359
+ SupportedStyles:
360
+ - consistent
361
+ - consistent_relative_to_receiver
362
+ - special_for_inner_method_call
363
+ - special_for_inner_method_call_in_parentheses
364
+ IndentationWidth:
365
+
366
+ # Supports --auto-correct
367
+ Layout/IndentArray:
368
+ Description: Checks the indentation of the first element in an array literal.
369
+ Enabled: true
370
+ EnforcedStyle: special_inside_parentheses
371
+ SupportedStyles:
372
+ - special_inside_parentheses
373
+ - consistent
374
+ - align_brackets
375
+ IndentationWidth:
376
+
377
+ # Supports --auto-correct
378
+ Layout/IndentAssignment:
379
+ Description: Checks the indentation of the first line of the right-hand-side of a
380
+ multi-line assignment.
381
+ Enabled: true
382
+ IndentationWidth:
383
+
384
+ # Supports --auto-correct
385
+ Layout/IndentHash:
386
+ Description: Checks the indentation of the first key in a hash literal.
387
+ Enabled: true
388
+ EnforcedStyle: special_inside_parentheses
389
+ SupportedStyles:
390
+ - special_inside_parentheses
391
+ - consistent
392
+ - align_braces
393
+ IndentationWidth:
394
+
395
+ # Supports --auto-correct
396
+ Layout/IndentHeredoc:
397
+ Description: This cops checks the indentation of the here document bodies.
398
+ StyleGuide: "#squiggly-heredocs"
399
+ Enabled: true
400
+ EnforcedStyle: auto_detection
401
+ SupportedStyles:
402
+ - auto_detection
403
+ - squiggly
404
+ - active_support
405
+ - powerpack
406
+ - unindent
407
+
408
+ # Supports --auto-correct
409
+ Layout/IndentationConsistency:
410
+ Description: Keep indentation straight.
411
+ StyleGuide: "#spaces-indentation"
412
+ Enabled: true
413
+ EnforcedStyle: normal
414
+ SupportedStyles:
415
+ - normal
416
+ - rails
417
+
418
+ # Supports --auto-correct
419
+ Layout/IndentationWidth:
420
+ Description: Use 2 spaces for indentation.
421
+ StyleGuide: "#spaces-indentation"
422
+ Enabled: true
423
+ Width: 2
424
+ IgnoredPatterns: []
425
+
426
+ # Supports --auto-correct
427
+ Layout/InitialIndentation:
428
+ Description: Checks the indentation of the first non-blank non-comment line in a file.
429
+ Enabled: true
430
+
431
+ # Supports --auto-correct
432
+ Layout/LeadingBlankLines:
433
+ Description: Check for unnecessary blank lines at the beginning of a file.
434
+ Enabled: true
435
+
436
+ # Supports --auto-correct
437
+ Layout/LeadingCommentSpace:
438
+ Description: Comments should start with a space.
439
+ StyleGuide: "#hash-space"
440
+ Enabled: true
441
+
442
+ # Supports --auto-correct
443
+ Layout/MultilineArrayBraceLayout:
444
+ Description: Checks that the closing brace in an array literal is either on the same
445
+ line as the last array element, or a new line.
446
+ Enabled: true
447
+ EnforcedStyle: symmetrical
448
+ SupportedStyles:
449
+ - symmetrical
450
+ - new_line
451
+ - same_line
452
+
453
+ # Supports --auto-correct
454
+ Layout/MultilineAssignmentLayout:
455
+ Description: Check for a newline after the assignment operator in multi-line assignments.
456
+ StyleGuide: "#indent-conditional-assignment"
457
+ Enabled: false
458
+ SupportedTypes:
459
+ - block
460
+ - case
461
+ - class
462
+ - if
463
+ - kwbegin
464
+ - module
465
+ EnforcedStyle: new_line
466
+ SupportedStyles:
467
+ - same_line
468
+ - new_line
469
+
470
+ # Supports --auto-correct
471
+ Layout/MultilineBlockLayout:
472
+ Description: Ensures newlines after multiline block do statements.
473
+ Enabled: true
474
+
475
+ # Supports --auto-correct
476
+ Layout/MultilineHashBraceLayout:
477
+ Description: Checks that the closing brace in a hash literal is either on the same
478
+ line as the last hash element, or a new line.
479
+ Enabled: true
480
+ EnforcedStyle: symmetrical
481
+ SupportedStyles:
482
+ - symmetrical
483
+ - new_line
484
+ - same_line
485
+
486
+ # Supports --auto-correct
487
+ Layout/MultilineMethodCallBraceLayout:
488
+ Description: Checks that the closing brace in a method call is either on the same
489
+ line as the last method argument, or a new line.
490
+ Enabled: true
491
+ EnforcedStyle: symmetrical
492
+ SupportedStyles:
493
+ - symmetrical
494
+ - new_line
495
+ - same_line
496
+
497
+ # Supports --auto-correct
498
+ Layout/MultilineMethodCallIndentation:
499
+ Description: Checks indentation of method calls with the dot operator that span more
500
+ than one line.
501
+ Enabled: true
502
+ EnforcedStyle: aligned
503
+ SupportedStyles:
504
+ - aligned
505
+ - indented
506
+ - indented_relative_to_receiver
507
+ IndentationWidth:
508
+
509
+ # Supports --auto-correct
510
+ Layout/MultilineMethodDefinitionBraceLayout:
511
+ Description: Checks that the closing brace in a method definition is either on the
512
+ same line as the last method parameter, or a new line.
513
+ Enabled: true
514
+ EnforcedStyle: symmetrical
515
+ SupportedStyles:
516
+ - symmetrical
517
+ - new_line
518
+ - same_line
519
+
520
+ # Supports --auto-correct
521
+ Layout/MultilineOperationIndentation:
522
+ Description: Checks indentation of binary operations that span more than one line.
523
+ Enabled: true
524
+ EnforcedStyle: aligned
525
+ SupportedStyles:
526
+ - aligned
527
+ - indented
528
+ IndentationWidth:
529
+
530
+ # Supports --auto-correct
531
+ Layout/RescueEnsureAlignment:
532
+ Description: Align rescues and ensures correctly.
533
+ Enabled: true
534
+
535
+ # Supports --auto-correct
536
+ Layout/SpaceAfterColon:
537
+ Description: Use spaces after colons.
538
+ StyleGuide: "#spaces-operators"
539
+ Enabled: true
540
+
541
+ # Supports --auto-correct
542
+ Layout/SpaceAfterComma:
543
+ Description: Use spaces after commas.
544
+ StyleGuide: "#spaces-operators"
545
+ Enabled: true
546
+
547
+ # Supports --auto-correct
548
+ Layout/SpaceAfterMethodName:
549
+ Description: Do not put a space between a method name and the opening parenthesis
550
+ in a method definition.
551
+ StyleGuide: "#parens-no-spaces"
552
+ Enabled: true
553
+
554
+ # Supports --auto-correct
555
+ Layout/SpaceAfterNot:
556
+ Description: Tracks redundant space after the ! operator.
557
+ StyleGuide: "#no-space-bang"
558
+ Enabled: true
559
+
560
+ # Supports --auto-correct
561
+ Layout/SpaceAfterSemicolon:
562
+ Description: Use spaces after semicolons.
563
+ StyleGuide: "#spaces-operators"
564
+ Enabled: true
565
+
566
+ # Supports --auto-correct
567
+ Layout/SpaceAroundBlockParameters:
568
+ Description: Checks the spacing inside and after block parameters pipes.
569
+ Enabled: true
570
+ EnforcedStyleInsidePipes: no_space
571
+ SupportedStylesInsidePipes:
572
+ - space
573
+ - no_space
574
+
575
+ # Supports --auto-correct
576
+ Layout/SpaceAroundEqualsInParameterDefault:
577
+ Description: Checks that the equals signs in parameter default assignments have or
578
+ don't have surrounding space depending on configuration.
579
+ StyleGuide: "#spaces-around-equals"
580
+ Enabled: true
581
+ EnforcedStyle: space
582
+ SupportedStyles:
583
+ - space
584
+ - no_space
585
+
586
+ # Supports --auto-correct
587
+ Layout/SpaceAroundKeyword:
588
+ Description: Use a space around keywords if appropriate.
589
+ Enabled: true
590
+
591
+ # Supports --auto-correct
592
+ Layout/SpaceAroundOperators:
593
+ Description: Use a single space around operators.
594
+ StyleGuide: "#spaces-operators"
595
+ Enabled: true
596
+ AllowForAlignment: true
597
+
598
+ # Supports --auto-correct
599
+ Layout/SpaceBeforeBlockBraces:
600
+ Description: Checks that the left block brace has or doesn't have space before it.
601
+ Enabled: true
602
+ EnforcedStyle: space
603
+ SupportedStyles:
604
+ - space
605
+ - no_space
606
+ EnforcedStyleForEmptyBraces: space
607
+ SupportedStylesForEmptyBraces:
608
+ - space
609
+ - no_space
610
+
611
+ # Supports --auto-correct
612
+ Layout/SpaceBeforeComma:
613
+ Description: No spaces before commas.
614
+ Enabled: true
615
+
616
+ # Supports --auto-correct
617
+ Layout/SpaceBeforeComment:
618
+ Description: Checks for missing space between code and a comment on the same line.
619
+ Enabled: true
620
+
621
+ # Supports --auto-correct
622
+ Layout/SpaceBeforeFirstArg:
623
+ Description: Checks that exactly one space is used between a method name and the first
624
+ argument for method calls without parentheses.
625
+ Enabled: true
626
+ AllowForAlignment: true
627
+
628
+ # Supports --auto-correct
629
+ Layout/SpaceBeforeSemicolon:
630
+ Description: No spaces before semicolons.
631
+ Enabled: true
632
+
633
+ # Supports --auto-correct
634
+ Layout/SpaceInLambdaLiteral:
635
+ Description: Checks for spaces in lambda literals.
636
+ Enabled: true
637
+ EnforcedStyle: require_no_space
638
+ SupportedStyles:
639
+ - require_no_space
640
+ - require_space
641
+
642
+ # Supports --auto-correct
643
+ Layout/SpaceInsideArrayLiteralBrackets:
644
+ Description: Checks the spacing inside array literal brackets.
645
+ Enabled: true
646
+ EnforcedStyle: no_space
647
+ SupportedStyles:
648
+ - space
649
+ - no_space
650
+ - compact
651
+ EnforcedStyleForEmptyBrackets: no_space
652
+ SupportedStylesForEmptyBrackets:
653
+ - space
654
+ - no_space
655
+
656
+ # Supports --auto-correct
657
+ Layout/SpaceInsideArrayPercentLiteral:
658
+ Description: No unnecessary additional spaces between elements in %i/%w literals.
659
+ Enabled: true
660
+
661
+ # Supports --auto-correct
662
+ Layout/SpaceInsideBlockBraces:
663
+ Description: Checks that block braces have or don't have surrounding space. For blocks
664
+ taking parameters, checks that the left brace has or doesn't have trailing space.
665
+ Enabled: true
666
+ EnforcedStyle: space
667
+ SupportedStyles:
668
+ - space
669
+ - no_space
670
+ EnforcedStyleForEmptyBraces: no_space
671
+ SupportedStylesForEmptyBraces:
672
+ - space
673
+ - no_space
674
+ SpaceBeforeBlockParameters: true
675
+
676
+ # Supports --auto-correct
677
+ Layout/SpaceInsideHashLiteralBraces:
678
+ Description: Use spaces inside hash literal braces - or don't.
679
+ StyleGuide: "#spaces-operators"
680
+ Enabled: true
681
+ EnforcedStyle: space
682
+ SupportedStyles:
683
+ - space
684
+ - no_space
685
+ - compact
686
+ EnforcedStyleForEmptyBraces: no_space
687
+ SupportedStylesForEmptyBraces:
688
+ - space
689
+ - no_space
690
+
691
+ # Supports --auto-correct
692
+ Layout/SpaceInsideParens:
693
+ Description: No spaces after ( or before ).
694
+ StyleGuide: "#spaces-braces"
695
+ Enabled: true
696
+ EnforcedStyle: no_space
697
+ SupportedStyles:
698
+ - space
699
+ - no_space
700
+
701
+ # Supports --auto-correct
702
+ Layout/SpaceInsidePercentLiteralDelimiters:
703
+ Description: No unnecessary spaces inside delimiters of %i/%w/%x literals.
704
+ Enabled: true
705
+
706
+ # Supports --auto-correct
707
+ Layout/SpaceInsideRangeLiteral:
708
+ Description: No spaces inside range literals.
709
+ StyleGuide: "#no-space-inside-range-literals"
710
+ Enabled: true
711
+
712
+ # Supports --auto-correct
713
+ Layout/SpaceInsideReferenceBrackets:
714
+ Description: Checks the spacing inside referential brackets.
715
+ Enabled: true
716
+ EnforcedStyle: no_space
717
+ SupportedStyles:
718
+ - space
719
+ - no_space
720
+ EnforcedStyleForEmptyBrackets: no_space
721
+ SupportedStylesForEmptyBrackets:
722
+ - space
723
+ - no_space
724
+
725
+ # Supports --auto-correct
726
+ Layout/SpaceInsideStringInterpolation:
727
+ Description: Checks for padding/surrounding spaces inside string interpolation.
728
+ StyleGuide: "#string-interpolation"
729
+ Enabled: true
730
+ EnforcedStyle: no_space
731
+ SupportedStyles:
732
+ - space
733
+ - no_space
734
+
735
+ # Supports --auto-correct
736
+ Layout/Tab:
737
+ Description: No hard tabs.
738
+ StyleGuide: "#spaces-indentation"
739
+ Enabled: true
740
+ IndentationWidth:
741
+
742
+ # Supports --auto-correct
743
+ Layout/TrailingBlankLines:
744
+ Description: Checks trailing blank lines and final newline.
745
+ StyleGuide: "#newline-eof"
746
+ Enabled: true
747
+ EnforcedStyle: final_newline
748
+ SupportedStyles:
749
+ - final_newline
750
+ - final_blank_line
751
+
752
+ # Supports --auto-correct
753
+ Layout/TrailingWhitespace:
754
+ Description: Avoid trailing whitespace.
755
+ StyleGuide: "#no-trailing-whitespace"
756
+ Enabled: true
757
+ AllowInHeredoc: false
758
+
759
+ # Department 'Lint' (75):
760
+ Lint/AmbiguousBlockAssociation:
761
+ Description: Checks for ambiguous block association with method when param passed
762
+ without parentheses.
763
+ StyleGuide: "#syntax"
764
+ Enabled: true
765
+
766
+ Lint/AmbiguousOperator:
767
+ Description: Checks for ambiguous operators in the first argument of a method invocation
768
+ without parentheses.
769
+ StyleGuide: "#method-invocation-parens"
770
+ Enabled: true
771
+
772
+ Lint/AmbiguousRegexpLiteral:
773
+ Description: Checks for ambiguous regexp literals in the first argument of a method
774
+ invocation without parentheses.
775
+ Enabled: true
776
+
777
+ Lint/AssignmentInCondition:
778
+ Description: Don't use assignment in conditions.
779
+ StyleGuide: "#safe-assignment-in-condition"
780
+ Enabled: true
781
+ AllowSafeAssignment: true
782
+
783
+ # Supports --auto-correct
784
+ Lint/BigDecimalNew:
785
+ Description: "`BigDecimal.new()` is deprecated. Use `BigDecimal()` instead."
786
+ Enabled: true
787
+
788
+ Lint/BooleanSymbol:
789
+ Description: Check for `:true` and `:false` symbols.
790
+ Enabled: true
791
+
792
+ Lint/CircularArgumentReference:
793
+ Description: Default values in optional keyword arguments and optional ordinal arguments
794
+ should not refer back to the name of the argument.
795
+ Enabled: true
796
+
797
+ Lint/Debugger:
798
+ Description: Check for debugger calls.
799
+ Enabled: true
800
+
801
+ # Supports --auto-correct
802
+ Lint/DeprecatedClassMethods:
803
+ Description: Check for deprecated class method calls.
804
+ Enabled: true
805
+
806
+ Lint/DuplicateCaseCondition:
807
+ Description: Do not repeat values in case conditionals.
808
+ Enabled: true
809
+
810
+ Lint/DuplicateMethods:
811
+ Description: Check for duplicate method definitions.
812
+ Enabled: true
813
+
814
+ Lint/DuplicatedKey:
815
+ Description: Check for duplicate keys in hash literals.
816
+ Enabled: true
817
+
818
+ Lint/EachWithObjectArgument:
819
+ Description: Check for immutable argument given to each_with_object.
820
+ Enabled: true
821
+
822
+ Lint/ElseLayout:
823
+ Description: Check for odd code arrangement in an else block.
824
+ Enabled: true
825
+
826
+ # Supports --auto-correct
827
+ Lint/EmptyEnsure:
828
+ Description: Checks for empty ensure block.
829
+ Enabled: true
830
+ AutoCorrect: false
831
+
832
+ Lint/EmptyExpression:
833
+ Description: Checks for empty expressions.
834
+ Enabled: true
835
+
836
+ # Supports --auto-correct
837
+ Lint/EmptyInterpolation:
838
+ Description: Checks for empty string interpolation.
839
+ Enabled: true
840
+
841
+ Lint/EmptyWhen:
842
+ Description: Checks for `when` branches with empty bodies.
843
+ Enabled: true
844
+
845
+ Lint/EndInMethod:
846
+ Description: END blocks should not be placed inside method definitions.
847
+ Enabled: true
848
+
849
+ Lint/EnsureReturn:
850
+ Description: Do not use return in an ensure block.
851
+ StyleGuide: "#no-return-ensure"
852
+ Enabled: true
853
+
854
+ Lint/ErbNewArguments:
855
+ Description: Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`.
856
+ Enabled: true
857
+
858
+ Lint/FloatOutOfRange:
859
+ Description: Catches floating-point literals too large or small for Ruby to represent.
860
+ Enabled: true
861
+
862
+ Lint/FormatParameterMismatch:
863
+ Description: The number of parameters to format/sprint must match the fields.
864
+ Enabled: true
865
+
866
+ Lint/HandleExceptions:
867
+ Description: Don't suppress exception.
868
+ StyleGuide: "#dont-hide-exceptions"
869
+ Enabled: true
870
+
871
+ Lint/ImplicitStringConcatenation:
872
+ Description: Checks for adjacent string literals on the same line, which could better
873
+ be represented as a single string literal.
874
+ Enabled: true
875
+
876
+ Lint/IneffectiveAccessModifier:
877
+ Description: Checks for attempts to use `private` or `protected` to set the visibility
878
+ of a class method, which does not work.
879
+ Enabled: true
880
+
881
+ # Supports --auto-correct
882
+ Lint/InheritException:
883
+ Description: Avoid inheriting from the `Exception` class.
884
+ Enabled: true
885
+ EnforcedStyle: runtime_error
886
+ SupportedStyles:
887
+ - runtime_error
888
+ - standard_error
889
+
890
+ Lint/InterpolationCheck:
891
+ Description: Raise warning for interpolation in single q strs
892
+ Enabled: true
893
+
894
+ Lint/LiteralAsCondition:
895
+ Description: Checks of literals used in conditions.
896
+ Enabled: true
897
+
898
+ # Supports --auto-correct
899
+ Lint/LiteralInInterpolation:
900
+ Description: Checks for literals used in interpolation.
901
+ Enabled: true
902
+
903
+ Lint/Loop:
904
+ Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
905
+ for post-loop tests.
906
+ StyleGuide: "#loop-with-break"
907
+ Enabled: true
908
+
909
+ Lint/MissingCopEnableDirective:
910
+ Description: Checks for a `# rubocop:enable` after `# rubocop:disable`
911
+ Enabled: true
912
+ MaximumRangeSize: .inf
913
+
914
+ # Supports --auto-correct
915
+ Lint/MultipleCompare:
916
+ Description: Use `&&` operator to compare multiple value.
917
+ Enabled: true
918
+
919
+ Lint/NestedMethodDefinition:
920
+ Description: Do not use nested method definitions.
921
+ StyleGuide: "#no-nested-methods"
922
+ Enabled: true
923
+
924
+ Lint/NestedPercentLiteral:
925
+ Description: Checks for nested percent literals.
926
+ Enabled: true
927
+
928
+ Lint/NextWithoutAccumulator:
929
+ Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject`
930
+ block.
931
+ Enabled: true
932
+
933
+ Lint/NonLocalExitFromIterator:
934
+ Description: Do not use return in iterator to cause non-local exit.
935
+ Enabled: true
936
+
937
+ Lint/NumberConversion:
938
+ Description: Checks unsafe usage of number conversion methods.
939
+ Enabled: false
940
+
941
+ # Supports --auto-correct
942
+ Lint/OrderedMagicComments:
943
+ Description: Checks the proper ordering of magic comments and whether a magic comment
944
+ is not placed before a shebang.
945
+ Enabled: true
946
+
947
+ Lint/ParenthesesAsGroupedExpression:
948
+ Description: Checks for method calls with a space before the opening parenthesis.
949
+ StyleGuide: "#parens-no-spaces"
950
+ Enabled: true
951
+
952
+ # Supports --auto-correct
953
+ Lint/PercentStringArray:
954
+ Description: Checks for unwanted commas and quotes in %w/%W literals.
955
+ Enabled: true
956
+
957
+ # Supports --auto-correct
958
+ Lint/PercentSymbolArray:
959
+ Description: Checks for unwanted commas and colons in %i/%I literals.
960
+ Enabled: true
961
+
962
+ Lint/RandOne:
963
+ Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely
964
+ a mistake.
965
+ Enabled: true
966
+
967
+ # Supports --auto-correct
968
+ Lint/RedundantWithIndex:
969
+ Description: Checks for redundant `with_index`.
970
+ Enabled: true
971
+
972
+ # Supports --auto-correct
973
+ Lint/RedundantWithObject:
974
+ Description: Checks for redundant `with_object`.
975
+ Enabled: true
976
+
977
+ Lint/RegexpAsCondition:
978
+ Description: Do not use regexp literal as a condition. The regexp literal matches
979
+ `$_` implicitly.
980
+ Enabled: true
981
+
982
+ Lint/RequireParentheses:
983
+ Description: Use parentheses in the method call to avoid confusion about precedence.
984
+ Enabled: true
985
+
986
+ Lint/RescueException:
987
+ Description: Avoid rescuing the Exception class.
988
+ StyleGuide: "#no-blind-rescues"
989
+ Enabled: true
990
+
991
+ # Supports --auto-correct
992
+ Lint/RescueType:
993
+ Description: Avoid rescuing from non constants that could result in a `TypeError`.
994
+ Enabled: true
995
+
996
+ Lint/ReturnInVoidContext:
997
+ Description: Checks for return in void context.
998
+ Enabled: true
999
+
1000
+ Lint/SafeNavigationChain:
1001
+ Description: Do not chain ordinary method call after safe navigation operator.
1002
+ Enabled: true
1003
+ Whitelist:
1004
+ - present?
1005
+ - blank?
1006
+ - presence
1007
+ - try
1008
+ - try!
1009
+
1010
+ # Supports --auto-correct
1011
+ Lint/SafeNavigationConsistency:
1012
+ Description: Check to make sure that if safe navigation is used for a method call
1013
+ in an `&&` or `||` condition that safe navigation is used for all method calls on
1014
+ that same object.
1015
+ Enabled: true
1016
+ Whitelist:
1017
+ - present?
1018
+ - blank?
1019
+ - presence
1020
+ - try
1021
+ - try!
1022
+
1023
+ # Supports --auto-correct
1024
+ Lint/ScriptPermission:
1025
+ Description: Grant script file execute permission.
1026
+ Enabled: true
1027
+
1028
+ Lint/ShadowedArgument:
1029
+ Description: Avoid reassigning arguments before they were used.
1030
+ Enabled: true
1031
+ IgnoreImplicitReferences: false
1032
+
1033
+ Lint/ShadowedException:
1034
+ Description: Avoid rescuing a higher level exception before a lower level exception.
1035
+ Enabled: true
1036
+
1037
+ Lint/ShadowingOuterLocalVariable:
1038
+ Description: Do not use the same name as outer local variable for block arguments
1039
+ or block local variables.
1040
+ Enabled: true
1041
+
1042
+ # Supports --auto-correct
1043
+ Lint/StringConversionInInterpolation:
1044
+ Description: Checks for Object#to_s usage in string interpolation.
1045
+ StyleGuide: "#no-to-s"
1046
+ Enabled: true
1047
+
1048
+ Lint/Syntax:
1049
+ Description: Checks syntax error
1050
+ Enabled: true
1051
+
1052
+ Lint/UnderscorePrefixedVariableName:
1053
+ Description: Do not use prefix `_` for a variable that is used.
1054
+ Enabled: true
1055
+
1056
+ # Supports --auto-correct
1057
+ Lint/UnifiedInteger:
1058
+ Description: Use Integer instead of Fixnum or Bignum
1059
+ Enabled: true
1060
+
1061
+ # Supports --auto-correct
1062
+ Lint/UnneededCopDisableDirective:
1063
+ Description: 'Checks for rubocop:disable comments that can be removed. Note: this
1064
+ cop is not disabled when disabling all cops. It must be explicitly disabled.'
1065
+ Enabled: true
1066
+
1067
+ # Supports --auto-correct
1068
+ Lint/UnneededCopEnableDirective:
1069
+ Description: Checks for rubocop:enable comments that can be removed.
1070
+ Enabled: true
1071
+
1072
+ # Supports --auto-correct
1073
+ Lint/UnneededRequireStatement:
1074
+ Description: Checks for unnecessary `require` statement.
1075
+ Enabled: true
1076
+
1077
+ # Supports --auto-correct
1078
+ Lint/UnneededSplatExpansion:
1079
+ Description: Checks for splat unnecessarily being called on literals
1080
+ Enabled: true
1081
+
1082
+ Lint/UnreachableCode:
1083
+ Description: Unreachable code.
1084
+ Enabled: true
1085
+
1086
+ # Supports --auto-correct
1087
+ Lint/UnusedBlockArgument:
1088
+ Description: Checks for unused block arguments.
1089
+ StyleGuide: "#underscore-unused-vars"
1090
+ Enabled: false
1091
+ IgnoreEmptyBlocks: true
1092
+ AllowUnusedKeywordArguments: false
1093
+
1094
+ # Supports --auto-correct
1095
+ Lint/UnusedMethodArgument:
1096
+ Description: Checks for unused method arguments.
1097
+ StyleGuide: "#underscore-unused-vars"
1098
+ Enabled: true
1099
+ AllowUnusedKeywordArguments: false
1100
+ IgnoreEmptyMethods: true
1101
+
1102
+ Lint/UriEscapeUnescape:
1103
+ Description: "`URI.escape` method is obsolete and should not be used. Instead, use
1104
+ `CGI.escape`, `URI.encode_www_form` or `URI.encode_www_form_component` depending
1105
+ on your specific use case. Also `URI.unescape` method is obsolete and should not
1106
+ be used. Instead, use `CGI.unescape`, `URI.decode_www_form` or `URI.decode_www_form_component`
1107
+ depending on your specific use case."
1108
+ Enabled: true
1109
+
1110
+ # Supports --auto-correct
1111
+ Lint/UriRegexp:
1112
+ Description: Use `URI::DEFAULT_PARSER.make_regexp` instead of `URI.regexp`.
1113
+ Enabled: true
1114
+
1115
+ Lint/UselessAccessModifier:
1116
+ Description: Checks for useless access modifiers.
1117
+ Enabled: true
1118
+ ContextCreatingMethods: []
1119
+ MethodCreatingMethods: []
1120
+
1121
+ Lint/UselessAssignment:
1122
+ Description: Checks for useless assignment to a local variable.
1123
+ StyleGuide: "#underscore-unused-vars"
1124
+ Enabled: true
1125
+
1126
+ Lint/UselessComparison:
1127
+ Description: Checks for comparison of something with itself.
1128
+ Enabled: true
1129
+
1130
+ Lint/UselessElseWithoutRescue:
1131
+ Description: Checks for useless `else` in `begin..end` without `rescue`.
1132
+ Enabled: true
1133
+
1134
+ Lint/UselessSetterCall:
1135
+ Description: Checks for useless setter call to a local variable.
1136
+ Enabled: true
1137
+
1138
+ Lint/Void:
1139
+ Description: Possible use of operator/literal/variable in void context.
1140
+ Enabled: true
1141
+ CheckForMethodsWithNoSideEffects: false
1142
+
1143
+ # Department 'Metrics' (10):
1144
+ Metrics/AbcSize:
1145
+ Description: A calculated magnitude based on number of assignments, branches, and
1146
+ conditions.
1147
+ Reference: http://c2.com/cgi/wiki?AbcMetric
1148
+ Enabled: true
1149
+ Max: 15
1150
+
1151
+ Metrics/BlockLength:
1152
+ Description: Avoid long blocks with many lines.
1153
+ Enabled: false
1154
+ CountComments: false
1155
+ Max: 25
1156
+ ExcludedMethods:
1157
+ - refine
1158
+
1159
+ Metrics/BlockNesting:
1160
+ Description: Avoid excessive block nesting
1161
+ StyleGuide: "#three-is-the-number-thou-shalt-count"
1162
+ Enabled: true
1163
+ CountBlocks: false
1164
+ Max: 3
1165
+
1166
+ Metrics/ClassLength:
1167
+ Description: Avoid classes longer than 100 lines of code.
1168
+ Enabled: true
1169
+ CountComments: false
1170
+ Max: 100
1171
+
1172
+ Metrics/CyclomaticComplexity:
1173
+ Description: A complexity metric that is strongly correlated to the number of test
1174
+ cases needed to validate a method.
1175
+ Enabled: true
1176
+ Max: 6
1177
+
1178
+ Metrics/LineLength:
1179
+ Description: Limit lines to 80 characters.
1180
+ StyleGuide: "#80-character-limits"
1181
+ Enabled: false
1182
+ Max: 80
1183
+ AllowHeredoc: true
1184
+ AllowURI: true
1185
+ URISchemes:
1186
+ - http
1187
+ - https
1188
+ IgnoreCopDirectives: false
1189
+ IgnoredPatterns: []
1190
+
1191
+ Metrics/MethodLength:
1192
+ Description: Avoid methods longer than 10 lines of code.
1193
+ StyleGuide: "#short-methods"
1194
+ Enabled: true
1195
+ CountComments: false
1196
+ Max: 10
1197
+
1198
+ Metrics/ModuleLength:
1199
+ Description: Avoid modules longer than 100 lines of code.
1200
+ Enabled: true
1201
+ CountComments: false
1202
+ Max: 100
1203
+
1204
+ Metrics/ParameterLists:
1205
+ Description: Avoid parameter lists longer than three or four parameters.
1206
+ StyleGuide: "#too-many-params"
1207
+ Enabled: true
1208
+ Max: 5
1209
+ CountKeywordArgs: true
1210
+
1211
+ Metrics/PerceivedComplexity:
1212
+ Description: A complexity metric geared towards measuring complexity for a human reader.
1213
+ Enabled: true
1214
+ Max: 7
1215
+
1216
+ # Department 'Naming' (15):
1217
+ Naming/AccessorMethodName:
1218
+ Description: Check the naming of accessor methods for get_/set_.
1219
+ StyleGuide: "#accessor_mutator_method_names"
1220
+ Enabled: true
1221
+
1222
+ Naming/AsciiIdentifiers:
1223
+ Description: Use only ascii symbols in identifiers.
1224
+ StyleGuide: "#english-identifiers"
1225
+ Enabled: true
1226
+
1227
+ Naming/BinaryOperatorParameterName:
1228
+ Description: When defining binary operators, name the argument other.
1229
+ StyleGuide: "#other-arg"
1230
+ Enabled: true
1231
+
1232
+ Naming/ClassAndModuleCamelCase:
1233
+ Description: Use CamelCase for classes and modules.
1234
+ StyleGuide: "#camelcase-classes"
1235
+ Enabled: true
1236
+
1237
+ Naming/ConstantName:
1238
+ Description: Constants should use SCREAMING_SNAKE_CASE.
1239
+ StyleGuide: "#screaming-snake-case"
1240
+ Enabled: true
1241
+
1242
+ Naming/FileName:
1243
+ Description: Use snake_case for source file names.
1244
+ StyleGuide: "#snake-case-files"
1245
+ Enabled: true
1246
+ Exclude: []
1247
+ ExpectMatchingDefinition: false
1248
+ Regex:
1249
+ IgnoreExecutableScripts: true
1250
+ AllowedAcronyms:
1251
+ - CLI
1252
+ - DSL
1253
+ - ACL
1254
+ - API
1255
+ - ASCII
1256
+ - CPU
1257
+ - CSS
1258
+ - DNS
1259
+ - EOF
1260
+ - GUID
1261
+ - HTML
1262
+ - HTTP
1263
+ - HTTPS
1264
+ - ID
1265
+ - IP
1266
+ - JSON
1267
+ - LHS
1268
+ - QPS
1269
+ - RAM
1270
+ - RHS
1271
+ - RPC
1272
+ - SLA
1273
+ - SMTP
1274
+ - SQL
1275
+ - SSH
1276
+ - TCP
1277
+ - TLS
1278
+ - TTL
1279
+ - UDP
1280
+ - UI
1281
+ - UID
1282
+ - UUID
1283
+ - URI
1284
+ - URL
1285
+ - UTF8
1286
+ - VM
1287
+ - XML
1288
+ - XMPP
1289
+ - XSRF
1290
+ - XSS
1291
+
1292
+ Naming/HeredocDelimiterCase:
1293
+ Description: Use configured case for heredoc delimiters.
1294
+ StyleGuide: "#heredoc-delimiters"
1295
+ Enabled: true
1296
+ EnforcedStyle: uppercase
1297
+ SupportedStyles:
1298
+ - lowercase
1299
+ - uppercase
1300
+
1301
+ Naming/HeredocDelimiterNaming:
1302
+ Description: Use descriptive heredoc delimiters.
1303
+ StyleGuide: "#heredoc-delimiters"
1304
+ Enabled: true
1305
+ Blacklist:
1306
+ - !ruby/regexp /(^|\s)(EO[A-Z]{1}|END)(\s|$)/
1307
+
1308
+ Naming/MemoizedInstanceVariableName:
1309
+ Description: Memoized method name should match memo instance variable name.
1310
+ Enabled: true
1311
+ EnforcedStyleForLeadingUnderscores: disallowed
1312
+ SupportedStylesForLeadingUnderscores:
1313
+ - disallowed
1314
+ - required
1315
+ - optional
1316
+
1317
+ Naming/MethodName:
1318
+ Description: Use the configured style when naming methods.
1319
+ StyleGuide: "#snake-case-symbols-methods-vars"
1320
+ Enabled: true
1321
+ EnforcedStyle: snake_case
1322
+ SupportedStyles:
1323
+ - snake_case
1324
+ - camelCase
1325
+
1326
+ Naming/PredicateName:
1327
+ Description: Check the names of predicate methods.
1328
+ StyleGuide: "#bool-methods-qmark"
1329
+ Enabled: true
1330
+ NamePrefix:
1331
+ - is_
1332
+ - has_
1333
+ - have_
1334
+ NamePrefixBlacklist:
1335
+ - is_
1336
+ - has_
1337
+ - have_
1338
+ NameWhitelist:
1339
+ - is_a?
1340
+ MethodDefinitionMacros:
1341
+ - define_method
1342
+ - define_singleton_method
1343
+ Exclude:
1344
+ - "/home/ken/everygit/cloudflare_cli/spec/**/*"
1345
+
1346
+ Naming/UncommunicativeBlockParamName:
1347
+ Description: Checks for block parameter names that contain capital letters, end in
1348
+ numbers, or do not meet a minimal length.
1349
+ Enabled: true
1350
+ MinNameLength: 1
1351
+ AllowNamesEndingInNumbers: true
1352
+ AllowedNames: []
1353
+ ForbiddenNames: []
1354
+
1355
+ Naming/UncommunicativeMethodParamName:
1356
+ Description: Checks for method parameter names that contain capital letters, end in
1357
+ numbers, or do not meet a minimal length.
1358
+ Enabled: true
1359
+ MinNameLength: 3
1360
+ AllowNamesEndingInNumbers: true
1361
+ AllowedNames:
1362
+ - io
1363
+ - id
1364
+ - to
1365
+ - by
1366
+ - 'on'
1367
+ - in
1368
+ - at
1369
+ - ip
1370
+ - db
1371
+ ForbiddenNames: []
1372
+
1373
+ Naming/VariableName:
1374
+ Description: Use the configured style when naming variables.
1375
+ StyleGuide: "#snake-case-symbols-methods-vars"
1376
+ Enabled: true
1377
+ EnforcedStyle: snake_case
1378
+ SupportedStyles:
1379
+ - snake_case
1380
+ - camelCase
1381
+
1382
+ Naming/VariableNumber:
1383
+ Description: Use the configured style when numbering variables.
1384
+ Enabled: true
1385
+ EnforcedStyle: normalcase
1386
+ SupportedStyles:
1387
+ - snake_case
1388
+ - normalcase
1389
+ - non_integer
1390
+
1391
+ # Department 'Performance' (28):
1392
+ Performance/Caller:
1393
+ Description: Use `caller(n..n)` instead of `caller`.
1394
+ Enabled: true
1395
+
1396
+ # Supports --auto-correct
1397
+ Performance/CaseWhenSplat:
1398
+ Description: Reordering `when` conditions with a splat to the end of the `when` branches
1399
+ can improve performance.
1400
+ Enabled: false
1401
+ AutoCorrect: false
1402
+
1403
+ # Supports --auto-correct
1404
+ Performance/Casecmp:
1405
+ Description: Use `casecmp` rather than `downcase ==`, `upcase ==`, `== downcase`,
1406
+ or `== upcase`..
1407
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code
1408
+ Enabled: true
1409
+
1410
+ Performance/ChainArrayAllocation:
1411
+ Description: Instead of chaining array methods that allocate new arrays, mutate an
1412
+ existing array.
1413
+ Reference: https://twitter.com/schneems/status/1034123879978029057
1414
+ Enabled: false
1415
+
1416
+ # Supports --auto-correct
1417
+ Performance/CompareWithBlock:
1418
+ Description: Use `sort_by(&:foo)` instead of `sort { |a, b| a.foo <=> b.foo }`.
1419
+ Enabled: true
1420
+
1421
+ # Supports --auto-correct
1422
+ Performance/Count:
1423
+ Description: Use `count` instead of `select...size`, `reject...size`, `select...count`,
1424
+ `reject...count`, `select...length`, and `reject...length`.
1425
+ SafeMode: true
1426
+ Enabled: true
1427
+
1428
+ # Supports --auto-correct
1429
+ Performance/Detect:
1430
+ Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`,
1431
+ and `find_all.last`.
1432
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code
1433
+ SafeMode: true
1434
+ Enabled: true
1435
+
1436
+ # Supports --auto-correct
1437
+ Performance/DoubleStartEndWith:
1438
+ Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x,
1439
+ ...) || str.{start,end}_with?(y, ...)`.
1440
+ Enabled: true
1441
+ IncludeActiveSupportAliases: false
1442
+
1443
+ # Supports --auto-correct
1444
+ Performance/EndWith:
1445
+ Description: Use `end_with?` instead of a regex match anchored to the end of a string.
1446
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end
1447
+ AutoCorrect: false
1448
+ Enabled: true
1449
+
1450
+ Performance/FixedSize:
1451
+ Description: Do not compute the size of statically sized objects except in constants
1452
+ Enabled: true
1453
+
1454
+ # Supports --auto-correct
1455
+ Performance/FlatMap:
1456
+ Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)`
1457
+ or `Enumberable#collect..Array#flatten(1)`
1458
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code
1459
+ Enabled: true
1460
+ EnabledForFlattenWithoutParams: false
1461
+
1462
+ # Supports --auto-correct
1463
+ Performance/InefficientHashSearch:
1464
+ Description: Use `key?` or `value?` instead of `keys.include?` or `values.include?`
1465
+ Reference: https://github.com/JuanitoFatas/fast-ruby#hashkey-instead-of-hashkeysinclude-code
1466
+ Enabled: true
1467
+
1468
+ # Supports --auto-correct
1469
+ Performance/LstripRstrip:
1470
+ Description: Use `strip` instead of `lstrip.rstrip`.
1471
+ Enabled: true
1472
+
1473
+ # Supports --auto-correct
1474
+ Performance/RangeInclude:
1475
+ Description: Use `Range#cover?` instead of `Range#include?`.
1476
+ Reference: https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code
1477
+ Enabled: true
1478
+
1479
+ # Supports --auto-correct
1480
+ Performance/RedundantBlockCall:
1481
+ Description: Use `yield` instead of `block.call`.
1482
+ Reference: https://github.com/JuanitoFatas/fast-ruby#proccall-and-block-arguments-vs-yieldcode
1483
+ Enabled: true
1484
+
1485
+ # Supports --auto-correct
1486
+ Performance/RedundantMatch:
1487
+ Description: Use `=~` instead of `String#match` or `Regexp#match` in a context where
1488
+ the returned `MatchData` is not needed.
1489
+ Enabled: true
1490
+
1491
+ # Supports --auto-correct
1492
+ Performance/RedundantMerge:
1493
+ Description: Use Hash#[]=, rather than Hash#merge! with a single key-value pair.
1494
+ Reference: https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code
1495
+ Enabled: true
1496
+ MaxKeyValuePairs: 2
1497
+
1498
+ # Supports --auto-correct
1499
+ Performance/RedundantSortBy:
1500
+ Description: Use `sort` instead of `sort_by { |x| x }`.
1501
+ Enabled: true
1502
+
1503
+ # Supports --auto-correct
1504
+ Performance/RegexpMatch:
1505
+ Description: Use `match?` instead of `Regexp#match`, `String#match`, `Symbol#match`,
1506
+ `Regexp#===`, or `=~` when `MatchData` is not used.
1507
+ Reference: https://github.com/JuanitoFatas/fast-ruby#regexp-vs-stringmatch-vs-string-vs-stringmatch-code-
1508
+ Enabled: true
1509
+
1510
+ # Supports --auto-correct
1511
+ Performance/ReverseEach:
1512
+ Description: Use `reverse_each` instead of `reverse.each`.
1513
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code
1514
+ Enabled: true
1515
+
1516
+ # Supports --auto-correct
1517
+ Performance/Sample:
1518
+ Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Integer]`.
1519
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code
1520
+ Enabled: true
1521
+
1522
+ # Supports --auto-correct
1523
+ Performance/Size:
1524
+ Description: Use `size` instead of `count` for counting the number of elements in
1525
+ `Array` and `Hash`.
1526
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arraylength-vs-arraysize-vs-arraycount-code
1527
+ Enabled: true
1528
+
1529
+ # Supports --auto-correct
1530
+ Performance/StartWith:
1531
+ Description: Use `start_with?` instead of a regex match anchored to the beginning
1532
+ of a string.
1533
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end
1534
+ AutoCorrect: false
1535
+ Enabled: true
1536
+
1537
+ # Supports --auto-correct
1538
+ Performance/StringReplacement:
1539
+ Description: Use `tr` instead of `gsub` when you are replacing the same number of
1540
+ characters. Use `delete` instead of `gsub` when you are deleting characters.
1541
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code
1542
+ Enabled: true
1543
+
1544
+ # Supports --auto-correct
1545
+ Performance/TimesMap:
1546
+ Description: Checks for .times.map calls.
1547
+ AutoCorrect: false
1548
+ Enabled: true
1549
+
1550
+ Performance/UnfreezeString:
1551
+ Description: Use unary plus to get an unfrozen string literal.
1552
+ Enabled: true
1553
+
1554
+ # Supports --auto-correct
1555
+ Performance/UnneededSort:
1556
+ Description: Use `min` instead of `sort.first`, `max_by` instead of `sort_by...last`,
1557
+ etc.
1558
+ Enabled: true
1559
+
1560
+ # Supports --auto-correct
1561
+ Performance/UriDefaultParser:
1562
+ Description: Use `URI::DEFAULT_PARSER` instead of `URI::Parser.new`.
1563
+ Enabled: true
1564
+
1565
+ # Department 'Rails' (45):
1566
+ # Supports --auto-correct
1567
+ Rails/ActionFilter:
1568
+ Description: Enforces consistent use of action filter methods.
1569
+ Enabled: false
1570
+ EnforcedStyle: action
1571
+ SupportedStyles:
1572
+ - action
1573
+ - filter
1574
+ Include:
1575
+ - app/controllers/**/*.rb
1576
+
1577
+ # Supports --auto-correct
1578
+ Rails/ActiveRecordAliases:
1579
+ Description: 'Avoid Active Record aliases: Use `update` instead of `update_attributes`.
1580
+ Use `update!` instead of `update_attributes!`.'
1581
+ Enabled: false
1582
+
1583
+ # Supports --auto-correct
1584
+ Rails/ActiveSupportAliases:
1585
+ Description: 'Avoid ActiveSupport aliases of standard ruby methods: `String#starts_with?`,
1586
+ `String#ends_with?`, `Array#append`, `Array#prepend`.'
1587
+ Enabled: false
1588
+
1589
+ # Supports --auto-correct
1590
+ Rails/ApplicationJob:
1591
+ Description: Check that jobs subclass ApplicationJob.
1592
+ Enabled: false
1593
+
1594
+ # Supports --auto-correct
1595
+ Rails/ApplicationRecord:
1596
+ Description: Check that models subclass ApplicationRecord.
1597
+ Enabled: false
1598
+
1599
+ # Supports --auto-correct
1600
+ Rails/AssertNot:
1601
+ Description: Use `assert_not` instead of `assert !`.
1602
+ Enabled: false
1603
+ Include:
1604
+ - "**/test/**/*"
1605
+
1606
+ # Supports --auto-correct
1607
+ Rails/Blank:
1608
+ Description: Enforces use of `blank?`.
1609
+ Enabled: false
1610
+ NilOrEmpty: true
1611
+ NotPresent: true
1612
+ UnlessPresent: true
1613
+
1614
+ Rails/BulkChangeTable:
1615
+ Description: Check whether alter queries are combinable.
1616
+ Enabled: false
1617
+ Database:
1618
+ SupportedDatabases:
1619
+ - mysql
1620
+ - postgresql
1621
+ Include:
1622
+ - db/migrate/*.rb
1623
+
1624
+ Rails/CreateTableWithTimestamps:
1625
+ Description: Checks the migration for which timestamps are not included when creating
1626
+ a new table.
1627
+ Enabled: false
1628
+ Include:
1629
+ - db/migrate/*.rb
1630
+
1631
+ Rails/Date:
1632
+ Description: Checks the correct usage of date aware methods, such as Date.today, Date.current
1633
+ etc.
1634
+ Enabled: false
1635
+ EnforcedStyle: flexible
1636
+ SupportedStyles:
1637
+ - strict
1638
+ - flexible
1639
+
1640
+ # Supports --auto-correct
1641
+ Rails/Delegate:
1642
+ Description: Prefer delegate method for delegations.
1643
+ Enabled: false
1644
+ EnforceForPrefixed: true
1645
+
1646
+ # Supports --auto-correct
1647
+ Rails/DelegateAllowBlank:
1648
+ Description: Do not use allow_blank as an option to delegate.
1649
+ Enabled: false
1650
+
1651
+ # Supports --auto-correct
1652
+ Rails/DynamicFindBy:
1653
+ Description: Use `find_by` instead of dynamic `find_by_*`.
1654
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find_by
1655
+ Enabled: false
1656
+ Whitelist:
1657
+ - find_by_sql
1658
+
1659
+ Rails/EnumUniqueness:
1660
+ Description: Avoid duplicate integers in hash-syntax `enum` declaration.
1661
+ Enabled: false
1662
+ Include:
1663
+ - app/models/**/*.rb
1664
+
1665
+ # Supports --auto-correct
1666
+ Rails/EnvironmentComparison:
1667
+ Description: Favor `Rails.env.production?` over `Rails.env == 'production'`
1668
+ Enabled: false
1669
+
1670
+ Rails/Exit:
1671
+ Description: Favor `fail`, `break`, `return`, etc. over `exit` in application or library
1672
+ code outside of Rake files to avoid exits during unit testing or running in production.
1673
+ Enabled: false
1674
+ Include:
1675
+ - app/**/*.rb
1676
+ - config/**/*.rb
1677
+ - lib/**/*.rb
1678
+ Exclude:
1679
+ - "/home/ken/everygit/cloudflare_cli/lib/**/*.rake"
1680
+
1681
+ Rails/FilePath:
1682
+ Description: Use `Rails.root.join` for file path joining.
1683
+ Enabled: false
1684
+ EnforcedStyle: arguments
1685
+ SupportedStyles:
1686
+ - slashes
1687
+ - arguments
1688
+
1689
+ # Supports --auto-correct
1690
+ Rails/FindBy:
1691
+ Description: Prefer find_by over where.first.
1692
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find_by
1693
+ Enabled: false
1694
+ Include:
1695
+ - app/models/**/*.rb
1696
+
1697
+ # Supports --auto-correct
1698
+ Rails/FindEach:
1699
+ Description: Prefer all.find_each over all.find.
1700
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find-each
1701
+ Enabled: false
1702
+ Include:
1703
+ - app/models/**/*.rb
1704
+
1705
+ Rails/HasAndBelongsToMany:
1706
+ Description: Prefer has_many :through to has_and_belongs_to_many.
1707
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#has-many-through
1708
+ Enabled: false
1709
+ Include:
1710
+ - app/models/**/*.rb
1711
+
1712
+ Rails/HasManyOrHasOneDependent:
1713
+ Description: Define the dependent option to the has_many and has_one associations.
1714
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#has_many-has_one-dependent-option
1715
+ Enabled: false
1716
+ Include:
1717
+ - app/models/**/*.rb
1718
+
1719
+ # Supports --auto-correct
1720
+ Rails/HttpPositionalArguments:
1721
+ Description: Use keyword arguments instead of positional arguments in http method
1722
+ calls.
1723
+ Enabled: false
1724
+ Include:
1725
+ - spec/**/*
1726
+ - test/**/*
1727
+
1728
+ # Supports --auto-correct
1729
+ Rails/HttpStatus:
1730
+ Description: Enforces use of symbolic or numeric value to define HTTP status.
1731
+ Enabled: false
1732
+ EnforcedStyle: symbolic
1733
+ SupportedStyles:
1734
+ - numeric
1735
+ - symbolic
1736
+
1737
+ Rails/InverseOf:
1738
+ Description: Checks for associations where the inverse cannot be determined automatically.
1739
+ Enabled: false
1740
+ Include:
1741
+ - app/models/**/*.rb
1742
+
1743
+ Rails/LexicallyScopedActionFilter:
1744
+ Description: Checks that methods specified in the filter's `only` or `except` options
1745
+ are explicitly defined in the controller.
1746
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#lexically-scoped-action-filter
1747
+ Enabled: false
1748
+ Include:
1749
+ - app/controllers/**/*.rb
1750
+
1751
+ Rails/NotNullColumn:
1752
+ Description: Do not add a NOT NULL column without a default value
1753
+ Enabled: false
1754
+ Include:
1755
+ - db/migrate/*.rb
1756
+
1757
+ Rails/Output:
1758
+ Description: Checks for calls to puts, print, etc.
1759
+ Enabled: false
1760
+ Include:
1761
+ - app/**/*.rb
1762
+ - config/**/*.rb
1763
+ - db/**/*.rb
1764
+ - lib/**/*.rb
1765
+
1766
+ Rails/OutputSafety:
1767
+ Description: The use of `html_safe` or `raw` may be a security risk.
1768
+ Enabled: false
1769
+
1770
+ # Supports --auto-correct
1771
+ Rails/PluralizationGrammar:
1772
+ Description: Checks for incorrect grammar when using methods like `3.day.ago`.
1773
+ Enabled: false
1774
+
1775
+ # Supports --auto-correct
1776
+ Rails/Presence:
1777
+ Description: Checks code that can be written more easily using `Object#presence` defined
1778
+ by Active Support.
1779
+ Enabled: false
1780
+
1781
+ # Supports --auto-correct
1782
+ Rails/Present:
1783
+ Description: Enforces use of `present?`.
1784
+ Enabled: false
1785
+ NotNilAndNotEmpty: true
1786
+ NotBlank: true
1787
+ UnlessBlank: true
1788
+
1789
+ # Supports --auto-correct
1790
+ Rails/ReadWriteAttribute:
1791
+ Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
1792
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#read-attribute
1793
+ Enabled: false
1794
+ Include:
1795
+ - app/models/**/*.rb
1796
+
1797
+ # Supports --auto-correct
1798
+ Rails/RedundantReceiverInWithOptions:
1799
+ Description: Checks for redundant receiver in `with_options`.
1800
+ Enabled: false
1801
+
1802
+ # Supports --auto-correct
1803
+ Rails/RefuteMethods:
1804
+ Description: Use `assert_not` methods instead of `refute` methods.
1805
+ Enabled: false
1806
+ Include:
1807
+ - "**/test/**/*"
1808
+
1809
+ # Supports --auto-correct
1810
+ Rails/RelativeDateConstant:
1811
+ Description: Do not assign relative date to constants.
1812
+ Enabled: false
1813
+ AutoCorrect: false
1814
+
1815
+ # Supports --auto-correct
1816
+ Rails/RequestReferer:
1817
+ Description: Use consistent syntax for request.referer.
1818
+ Enabled: false
1819
+ EnforcedStyle: referer
1820
+ SupportedStyles:
1821
+ - referer
1822
+ - referrer
1823
+
1824
+ Rails/ReversibleMigration:
1825
+ Description: Checks whether the change method of the migration file is reversible.
1826
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#reversible-migration
1827
+ Reference: http://api.rubyonrails.org/classes/ActiveRecord/Migration/CommandRecorder.html
1828
+ Enabled: false
1829
+ Include:
1830
+ - db/migrate/*.rb
1831
+
1832
+ # Supports --auto-correct
1833
+ Rails/SafeNavigation:
1834
+ Description: Use Ruby's safe navigation operator (`&.`) instead of `try!`
1835
+ Enabled: false
1836
+ ConvertTry: false
1837
+
1838
+ # Supports --auto-correct
1839
+ Rails/SaveBang:
1840
+ Description: Identifies possible cases where Active Record save! or related should
1841
+ be used.
1842
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#save-bang
1843
+ Enabled: false
1844
+ AllowImplicitReturn: true
1845
+ AllowedReceivers: []
1846
+
1847
+ Rails/ScopeArgs:
1848
+ Description: Checks the arguments of ActiveRecord scopes.
1849
+ Enabled: false
1850
+ Include:
1851
+ - app/models/**/*.rb
1852
+
1853
+ Rails/SkipsModelValidations:
1854
+ Description: Use methods that skips model validations with caution. See reference
1855
+ for more information.
1856
+ Reference: http://guides.rubyonrails.org/active_record_validations.html#skipping-validations
1857
+ Enabled: false
1858
+ Blacklist:
1859
+ - decrement!
1860
+ - decrement_counter
1861
+ - increment!
1862
+ - increment_counter
1863
+ - toggle!
1864
+ - touch
1865
+ - update_all
1866
+ - update_attribute
1867
+ - update_column
1868
+ - update_columns
1869
+ - update_counters
1870
+
1871
+ Rails/TimeZone:
1872
+ Description: Checks the correct usage of time zone aware methods.
1873
+ StyleGuide: https://github.com/rubocop-hq/rails-style-guide#time
1874
+ Reference: http://danilenko.org/2012/7/6/rails_timezones
1875
+ Enabled: false
1876
+ EnforcedStyle: flexible
1877
+ SupportedStyles:
1878
+ - strict
1879
+ - flexible
1880
+
1881
+ # Supports --auto-correct
1882
+ Rails/UniqBeforePluck:
1883
+ Description: Prefer the use of uniq or distinct before pluck.
1884
+ Enabled: false
1885
+ EnforcedStyle: conservative
1886
+ SupportedStyles:
1887
+ - conservative
1888
+ - aggressive
1889
+ AutoCorrect: false
1890
+
1891
+ Rails/UnknownEnv:
1892
+ Description: Use correct environment name.
1893
+ Enabled: false
1894
+ Environments:
1895
+ - development
1896
+ - test
1897
+ - production
1898
+
1899
+ # Supports --auto-correct
1900
+ Rails/Validation:
1901
+ Description: Use validates :attribute, hash of validations.
1902
+ Enabled: false
1903
+ Include:
1904
+ - app/models/**/*.rb
1905
+
1906
+ # Department 'Security' (5):
1907
+ Security/Eval:
1908
+ Description: The use of eval represents a serious security risk.
1909
+ Enabled: true
1910
+
1911
+ # Supports --auto-correct
1912
+ Security/JSONLoad:
1913
+ Description: Prefer usage of `JSON.parse` over `JSON.load` due to potential security
1914
+ issues. See reference for more information.
1915
+ Reference: http://ruby-doc.org/stdlib-2.3.0/libdoc/json/rdoc/JSON.html#method-i-load
1916
+ Enabled: true
1917
+ AutoCorrect: false
1918
+
1919
+ Security/MarshalLoad:
1920
+ Description: Avoid using of `Marshal.load` or `Marshal.restore` due to potential security
1921
+ issues. See reference for more information.
1922
+ Reference: http://ruby-doc.org/core-2.3.3/Marshal.html#module-Marshal-label-Security+considerations
1923
+ Enabled: true
1924
+
1925
+ Security/Open:
1926
+ Description: The use of Kernel#open represents a serious security risk.
1927
+ Enabled: true
1928
+
1929
+ # Supports --auto-correct
1930
+ Security/YAMLLoad:
1931
+ Description: Prefer usage of `YAML.safe_load` over `YAML.load` due to potential security
1932
+ issues. See reference for more information.
1933
+ Reference: https://ruby-doc.org/stdlib-2.3.3/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security
1934
+ Enabled: true
1935
+
1936
+ # Department 'Style' (162):
1937
+ Style/AccessModifierDeclarations:
1938
+ Description: Checks style of how access modifiers are used.
1939
+ Enabled: true
1940
+ EnforcedStyle: group
1941
+ SupportedStyles:
1942
+ - inline
1943
+ - group
1944
+
1945
+ # Supports --auto-correct
1946
+ Style/Alias:
1947
+ Description: Use alias instead of alias_method.
1948
+ StyleGuide: "#alias-method"
1949
+ Enabled: true
1950
+ EnforcedStyle: prefer_alias
1951
+ SupportedStyles:
1952
+ - prefer_alias
1953
+ - prefer_alias_method
1954
+
1955
+ # Supports --auto-correct
1956
+ Style/AndOr:
1957
+ Description: Use &&/|| instead of and/or.
1958
+ StyleGuide: "#no-and-or-or"
1959
+ Enabled: true
1960
+ EnforcedStyle: always
1961
+ SupportedStyles:
1962
+ - always
1963
+ - conditionals
1964
+
1965
+ # Supports --auto-correct
1966
+ Style/ArrayJoin:
1967
+ Description: Use Array#join instead of Array#*.
1968
+ StyleGuide: "#array-join"
1969
+ Enabled: true
1970
+
1971
+ Style/AsciiComments:
1972
+ Description: Use only ascii symbols in comments.
1973
+ StyleGuide: "#english-comments"
1974
+ Enabled: true
1975
+ AllowedChars: []
1976
+
1977
+ # Supports --auto-correct
1978
+ Style/Attr:
1979
+ Description: Checks for uses of Module#attr.
1980
+ StyleGuide: "#attr"
1981
+ Enabled: true
1982
+
1983
+ Style/AutoResourceCleanup:
1984
+ Description: Suggests the usage of an auto resource cleanup version of a method (if
1985
+ available).
1986
+ Enabled: false
1987
+
1988
+ # Supports --auto-correct
1989
+ Style/BarePercentLiterals:
1990
+ Description: Checks if usage of %() or %Q() matches configuration.
1991
+ StyleGuide: "#percent-q-shorthand"
1992
+ Enabled: true
1993
+ EnforcedStyle: bare_percent
1994
+ SupportedStyles:
1995
+ - percent_q
1996
+ - bare_percent
1997
+
1998
+ Style/BeginBlock:
1999
+ Description: Avoid the use of BEGIN blocks.
2000
+ StyleGuide: "#no-BEGIN-blocks"
2001
+ Enabled: true
2002
+
2003
+ # Supports --auto-correct
2004
+ Style/BlockComments:
2005
+ Description: Do not use block comments.
2006
+ StyleGuide: "#no-block-comments"
2007
+ Enabled: true
2008
+
2009
+ # Supports --auto-correct
2010
+ Style/BlockDelimiters:
2011
+ Description: Avoid using {...} for multi-line blocks (multiline chaining is always
2012
+ ugly). Prefer {...} over do...end for single-line blocks.
2013
+ StyleGuide: "#single-line-blocks"
2014
+ Enabled: true
2015
+ EnforcedStyle: line_count_based
2016
+ SupportedStyles:
2017
+ - line_count_based
2018
+ - semantic
2019
+ - braces_for_chaining
2020
+ ProceduralMethods:
2021
+ - benchmark
2022
+ - bm
2023
+ - bmbm
2024
+ - create
2025
+ - each_with_object
2026
+ - measure
2027
+ - new
2028
+ - realtime
2029
+ - tap
2030
+ - with_object
2031
+ FunctionalMethods:
2032
+ - let
2033
+ - let!
2034
+ - subject
2035
+ - watch
2036
+ IgnoredMethods:
2037
+ - lambda
2038
+ - proc
2039
+ - it
2040
+
2041
+ # Supports --auto-correct
2042
+ Style/BracesAroundHashParameters:
2043
+ Description: Enforce braces style around hash parameters.
2044
+ Enabled: true
2045
+ EnforcedStyle: no_braces
2046
+ SupportedStyles:
2047
+ - braces
2048
+ - no_braces
2049
+ - context_dependent
2050
+
2051
+ Style/CaseEquality:
2052
+ Description: Avoid explicit use of the case equality operator(===).
2053
+ StyleGuide: "#no-case-equality"
2054
+ Enabled: true
2055
+
2056
+ # Supports --auto-correct
2057
+ Style/CharacterLiteral:
2058
+ Description: Checks for uses of character literals.
2059
+ StyleGuide: "#no-character-literals"
2060
+ Enabled: true
2061
+
2062
+ # Supports --auto-correct
2063
+ Style/ClassAndModuleChildren:
2064
+ Description: Checks style of children classes and modules.
2065
+ StyleGuide: "#namespace-definition"
2066
+ AutoCorrect: false
2067
+ Enabled: true
2068
+ EnforcedStyle: nested
2069
+ SupportedStyles:
2070
+ - nested
2071
+ - compact
2072
+
2073
+ # Supports --auto-correct
2074
+ Style/ClassCheck:
2075
+ Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
2076
+ Enabled: true
2077
+ EnforcedStyle: is_a?
2078
+ SupportedStyles:
2079
+ - is_a?
2080
+ - kind_of?
2081
+
2082
+ # Supports --auto-correct
2083
+ Style/ClassMethods:
2084
+ Description: Use self when defining module/class methods.
2085
+ StyleGuide: "#def-self-class-methods"
2086
+ Enabled: true
2087
+
2088
+ Style/ClassVars:
2089
+ Description: Avoid the use of class variables.
2090
+ StyleGuide: "#no-class-vars"
2091
+ Enabled: true
2092
+
2093
+ # Supports --auto-correct
2094
+ Style/CollectionMethods:
2095
+ Description: Preferred collection methods.
2096
+ StyleGuide: "#map-find-select-reduce-size"
2097
+ Enabled: false
2098
+ PreferredMethods:
2099
+ collect: map
2100
+ collect!: map!
2101
+ inject: reduce
2102
+ detect: find
2103
+ find_all: select
2104
+
2105
+ # Supports --auto-correct
2106
+ Style/ColonMethodCall:
2107
+ Description: 'Do not use :: for method call.'
2108
+ StyleGuide: "#double-colons"
2109
+ Enabled: true
2110
+
2111
+ # Supports --auto-correct
2112
+ Style/ColonMethodDefinition:
2113
+ Description: 'Do not use :: for defining class methods.'
2114
+ StyleGuide: "#colon-method-definition"
2115
+ Enabled: true
2116
+
2117
+ # Supports --auto-correct
2118
+ Style/CommandLiteral:
2119
+ Description: Use `` or %x around command literals.
2120
+ StyleGuide: "#percent-x"
2121
+ Enabled: true
2122
+ EnforcedStyle: backticks
2123
+ SupportedStyles:
2124
+ - backticks
2125
+ - percent_x
2126
+ - mixed
2127
+ AllowInnerBackticks: false
2128
+
2129
+ # Supports --auto-correct
2130
+ Style/CommentAnnotation:
2131
+ Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
2132
+ StyleGuide: "#annotate-keywords"
2133
+ Enabled: true
2134
+ Keywords:
2135
+ - TODO
2136
+ - FIXME
2137
+ - OPTIMIZE
2138
+ - HACK
2139
+ - REVIEW
2140
+
2141
+ Style/CommentedKeyword:
2142
+ Description: Do not place comments on the same line as certain keywords.
2143
+ Enabled: true
2144
+
2145
+ # Supports --auto-correct
2146
+ Style/ConditionalAssignment:
2147
+ Description: Use the return value of `if` and `case` statements for assignment to
2148
+ a variable and variable comparison instead of assigning that variable inside of
2149
+ each branch.
2150
+ Enabled: true
2151
+ EnforcedStyle: assign_to_condition
2152
+ SupportedStyles:
2153
+ - assign_to_condition
2154
+ - assign_inside_condition
2155
+ SingleLineConditionsOnly: true
2156
+ IncludeTernaryExpressions: true
2157
+
2158
+ # Supports --auto-correct
2159
+ Style/Copyright:
2160
+ Description: Include a copyright notice in each file before any code.
2161
+ Enabled: false
2162
+ Notice: "^Copyright (\\(c\\) )?2[0-9]{3} .+"
2163
+ AutocorrectNotice: ''
2164
+
2165
+ Style/DateTime:
2166
+ Description: Use Time over DateTime.
2167
+ StyleGuide: "#date--time"
2168
+ Enabled: false
2169
+ AllowCoercion: false
2170
+
2171
+ # Supports --auto-correct
2172
+ Style/DefWithParentheses:
2173
+ Description: Use def with parentheses when there are arguments.
2174
+ StyleGuide: "#method-parens"
2175
+ Enabled: true
2176
+
2177
+ # Supports --auto-correct
2178
+ Style/Dir:
2179
+ Description: Use the `__dir__` method to retrieve the canonicalized absolute path
2180
+ to the current file.
2181
+ Enabled: true
2182
+
2183
+ Style/Documentation:
2184
+ Description: Document classes and non-namespace modules.
2185
+ Enabled: true
2186
+ Exclude:
2187
+ - "/home/ken/everygit/cloudflare_cli/spec/**/*"
2188
+ - "/home/ken/everygit/cloudflare_cli/test/**/*"
2189
+
2190
+ Style/DocumentationMethod:
2191
+ Description: Public methods.
2192
+ Enabled: false
2193
+ Exclude:
2194
+ - "/home/ken/everygit/cloudflare_cli/spec/**/*"
2195
+ - "/home/ken/everygit/cloudflare_cli/test/**/*"
2196
+ RequireForNonPublicMethods: false
2197
+
2198
+ Style/DoubleNegation:
2199
+ Description: Checks for uses of double negation (!!).
2200
+ StyleGuide: "#no-bang-bang"
2201
+ Enabled: true
2202
+
2203
+ # Supports --auto-correct
2204
+ Style/EachForSimpleLoop:
2205
+ Description: Use `Integer#times` for a simple loop which iterates a fixed number of
2206
+ times.
2207
+ Enabled: true
2208
+
2209
+ # Supports --auto-correct
2210
+ Style/EachWithObject:
2211
+ Description: Prefer `each_with_object` over `inject` or `reduce`.
2212
+ Enabled: true
2213
+
2214
+ # Supports --auto-correct
2215
+ Style/EmptyBlockParameter:
2216
+ Description: Omit pipes for empty block parameters.
2217
+ Enabled: true
2218
+
2219
+ # Supports --auto-correct
2220
+ Style/EmptyCaseCondition:
2221
+ Description: Avoid empty condition in case statements.
2222
+ Enabled: true
2223
+
2224
+ # Supports --auto-correct
2225
+ Style/EmptyElse:
2226
+ Description: Avoid empty else-clauses.
2227
+ Enabled: true
2228
+ EnforcedStyle: both
2229
+ SupportedStyles:
2230
+ - empty
2231
+ - nil
2232
+ - both
2233
+
2234
+ # Supports --auto-correct
2235
+ Style/EmptyLambdaParameter:
2236
+ Description: Omit parens for empty lambda parameters.
2237
+ Enabled: true
2238
+
2239
+ # Supports --auto-correct
2240
+ Style/EmptyLiteral:
2241
+ Description: Prefer literals to Array.new/Hash.new/String.new.
2242
+ StyleGuide: "#literal-array-hash"
2243
+ Enabled: true
2244
+
2245
+ # Supports --auto-correct
2246
+ Style/EmptyMethod:
2247
+ Description: Checks the formatting of empty method definitions.
2248
+ StyleGuide: "#no-single-line-methods"
2249
+ Enabled: true
2250
+ EnforcedStyle: compact
2251
+ SupportedStyles:
2252
+ - compact
2253
+ - expanded
2254
+
2255
+ # Supports --auto-correct
2256
+ Style/Encoding:
2257
+ Description: Use UTF-8 as the source file encoding.
2258
+ StyleGuide: "#utf-8"
2259
+ Enabled: true
2260
+
2261
+ Style/EndBlock:
2262
+ Description: Avoid the use of END blocks.
2263
+ StyleGuide: "#no-END-blocks"
2264
+ Enabled: true
2265
+
2266
+ Style/EvalWithLocation:
2267
+ Description: Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by
2268
+ backtraces.
2269
+ Enabled: true
2270
+
2271
+ # Supports --auto-correct
2272
+ Style/EvenOdd:
2273
+ Description: Favor the use of Integer#even? && Integer#odd?
2274
+ StyleGuide: "#predicate-methods"
2275
+ Enabled: true
2276
+
2277
+ # Supports --auto-correct
2278
+ Style/ExpandPathArguments:
2279
+ Description: Use `expand_path(__dir__)` instead of `expand_path('..', __FILE__)`.
2280
+ Enabled: true
2281
+
2282
+ Style/FlipFlop:
2283
+ Description: Checks for flip flops
2284
+ StyleGuide: "#no-flip-flops"
2285
+ Enabled: true
2286
+
2287
+ # Supports --auto-correct
2288
+ Style/For:
2289
+ Description: Checks use of for or each in multiline loops.
2290
+ StyleGuide: "#no-for-loops"
2291
+ Enabled: true
2292
+ EnforcedStyle: each
2293
+ SupportedStyles:
2294
+ - each
2295
+ - for
2296
+
2297
+ # Supports --auto-correct
2298
+ Style/FormatString:
2299
+ Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
2300
+ StyleGuide: "#sprintf"
2301
+ Enabled: true
2302
+ EnforcedStyle: format
2303
+ SupportedStyles:
2304
+ - format
2305
+ - sprintf
2306
+ - percent
2307
+
2308
+ Style/FormatStringToken:
2309
+ Description: Use a consistent style for format string tokens.
2310
+ Enabled: true
2311
+ EnforcedStyle: annotated
2312
+ SupportedStyles:
2313
+ - annotated
2314
+ - template
2315
+ - unannotated
2316
+
2317
+ # Supports --auto-correct
2318
+ Style/FrozenStringLiteralComment:
2319
+ Description: Add the frozen_string_literal comment to the top of files to help transition
2320
+ from Ruby 2.3.0 to Ruby 3.0.
2321
+ Enabled: true
2322
+ EnforcedStyle: when_needed
2323
+ SupportedStyles:
2324
+ - when_needed
2325
+ - always
2326
+ - never
2327
+
2328
+ Style/GlobalVars:
2329
+ Description: Do not introduce global variables.
2330
+ StyleGuide: "#instance-vars"
2331
+ Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html
2332
+ Enabled: true
2333
+ AllowedVariables: []
2334
+
2335
+ Style/GuardClause:
2336
+ Description: Check for conditionals that can be replaced with guard clauses
2337
+ StyleGuide: "#no-nested-conditionals"
2338
+ Enabled: true
2339
+ MinBodyLength: 1
2340
+
2341
+ # Supports --auto-correct
2342
+ Style/HashSyntax:
2343
+ Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1,
2344
+ :b => 2 }.'
2345
+ StyleGuide: "#hash-literals"
2346
+ Enabled: true
2347
+ EnforcedStyle: ruby19
2348
+ SupportedStyles:
2349
+ - ruby19
2350
+ - hash_rockets
2351
+ - no_mixed_keys
2352
+ - ruby19_no_mixed_keys
2353
+ UseHashRocketsWithSymbolValues: false
2354
+ PreferHashRocketsForNonAlnumEndingSymbols: false
2355
+
2356
+ Style/IdenticalConditionalBranches:
2357
+ Description: Checks that conditional statements do not have an identical line at the
2358
+ end of each branch, which can validly be moved out of the conditional.
2359
+ Enabled: true
2360
+
2361
+ Style/IfInsideElse:
2362
+ Description: Finds if nodes inside else, which can be converted to elsif.
2363
+ Enabled: true
2364
+
2365
+ # Supports --auto-correct
2366
+ Style/IfUnlessModifier:
2367
+ Description: Favor modifier if/unless usage when you have a single-line body.
2368
+ StyleGuide: "#if-as-a-modifier"
2369
+ Enabled: true
2370
+
2371
+ Style/IfUnlessModifierOfIfUnless:
2372
+ Description: Avoid modifier if/unless usage on conditionals.
2373
+ Enabled: true
2374
+
2375
+ Style/IfWithSemicolon:
2376
+ Description: Do not use if x; .... Use the ternary operator instead.
2377
+ StyleGuide: "#no-semicolon-ifs"
2378
+ Enabled: true
2379
+
2380
+ Style/ImplicitRuntimeError:
2381
+ Description: Use `raise` or `fail` with an explicit exception class and message, rather
2382
+ than just a message.
2383
+ Enabled: false
2384
+
2385
+ # Supports --auto-correct
2386
+ Style/InfiniteLoop:
2387
+ Description: Use Kernel#loop for infinite loops.
2388
+ StyleGuide: "#infinite-loop"
2389
+ Enabled: true
2390
+
2391
+ Style/InlineComment:
2392
+ Description: Avoid trailing inline comments.
2393
+ Enabled: false
2394
+
2395
+ # Supports --auto-correct
2396
+ Style/InverseMethods:
2397
+ Description: Use the inverse method instead of `!.method` if an inverse method is
2398
+ defined.
2399
+ Enabled: true
2400
+ InverseMethods:
2401
+ :any?: :none?
2402
+ :even?: :odd?
2403
+ :==: :!=
2404
+ :=~: :!~
2405
+ :<: :>=
2406
+ :>: :<=
2407
+ InverseBlocks:
2408
+ :select: :reject
2409
+ :select!: :reject!
2410
+
2411
+ Style/IpAddresses:
2412
+ Description: Don't include literal IP addresses in code.
2413
+ Enabled: false
2414
+ Whitelist:
2415
+ - "::"
2416
+
2417
+ # Supports --auto-correct
2418
+ Style/Lambda:
2419
+ Description: Use the new lambda literal syntax for single-line blocks.
2420
+ StyleGuide: "#lambda-multi-line"
2421
+ Enabled: true
2422
+ EnforcedStyle: line_count_dependent
2423
+ SupportedStyles:
2424
+ - line_count_dependent
2425
+ - lambda
2426
+ - literal
2427
+
2428
+ # Supports --auto-correct
2429
+ Style/LambdaCall:
2430
+ Description: Use lambda.call(...) instead of lambda.(...).
2431
+ StyleGuide: "#proc-call"
2432
+ Enabled: true
2433
+ EnforcedStyle: call
2434
+ SupportedStyles:
2435
+ - call
2436
+ - braces
2437
+
2438
+ # Supports --auto-correct
2439
+ Style/LineEndConcatenation:
2440
+ Description: Use \ instead of + or << to concatenate two string literals at line end.
2441
+ Enabled: true
2442
+
2443
+ # Supports --auto-correct
2444
+ Style/MethodCallWithArgsParentheses:
2445
+ Description: Use parentheses for method calls with arguments.
2446
+ StyleGuide: "#method-invocation-parens"
2447
+ Enabled: false
2448
+ IgnoreMacros: true
2449
+ IgnoredMethods: []
2450
+
2451
+ # Supports --auto-correct
2452
+ Style/MethodCallWithoutArgsParentheses:
2453
+ Description: Do not use parentheses for method calls with no arguments.
2454
+ StyleGuide: "#method-invocation-parens"
2455
+ Enabled: true
2456
+ IgnoredMethods: []
2457
+
2458
+ Style/MethodCalledOnDoEndBlock:
2459
+ Description: Avoid chaining a method call on a do...end block.
2460
+ StyleGuide: "#single-line-blocks"
2461
+ Enabled: false
2462
+
2463
+ # Supports --auto-correct
2464
+ Style/MethodDefParentheses:
2465
+ Description: Checks if the method definitions have or don't have parentheses.
2466
+ StyleGuide: "#method-parens"
2467
+ Enabled: true
2468
+ EnforcedStyle: require_parentheses
2469
+ SupportedStyles:
2470
+ - require_parentheses
2471
+ - require_no_parentheses
2472
+ - require_no_parentheses_except_multiline
2473
+
2474
+ Style/MethodMissingSuper:
2475
+ Description: Checks for `method_missing` to call `super`.
2476
+ StyleGuide: "#no-method-missing"
2477
+ Enabled: true
2478
+
2479
+ # Supports --auto-correct
2480
+ Style/MinMax:
2481
+ Description: Use `Enumerable#minmax` instead of `Enumerable#min` and `Enumerable#max`
2482
+ in conjunction.'
2483
+ Enabled: true
2484
+
2485
+ Style/MissingElse:
2486
+ Description: Require if/case expressions to have an else branches. If enabled, it
2487
+ is recommended that Style/UnlessElse and Style/EmptyElse be enabled. This will conflict
2488
+ with Style/EmptyElse if Style/EmptyElse is configured to style "both"
2489
+ Enabled: false
2490
+ EnforcedStyle: both
2491
+ SupportedStyles:
2492
+ - if
2493
+ - case
2494
+ - both
2495
+
2496
+ Style/MissingRespondToMissing:
2497
+ Description: Checks if `method_missing` is implemented without implementing `respond_to_missing`.
2498
+ StyleGuide: "#no-method-missing"
2499
+ Enabled: true
2500
+
2501
+ # Supports --auto-correct
2502
+ Style/MixinGrouping:
2503
+ Description: Checks for grouping of mixins in `class` and `module` bodies.
2504
+ StyleGuide: "#mixin-grouping"
2505
+ Enabled: true
2506
+ EnforcedStyle: separated
2507
+ SupportedStyles:
2508
+ - separated
2509
+ - grouped
2510
+
2511
+ Style/MixinUsage:
2512
+ Description: Checks that `include`, `extend` and `prepend` exists at the top level.
2513
+ Enabled: true
2514
+
2515
+ # Supports --auto-correct
2516
+ Style/ModuleFunction:
2517
+ Description: Checks for usage of `extend self` in modules.
2518
+ StyleGuide: "#module-function"
2519
+ Enabled: true
2520
+ EnforcedStyle: module_function
2521
+ SupportedStyles:
2522
+ - module_function
2523
+ - extend_self
2524
+
2525
+ Style/MultilineBlockChain:
2526
+ Description: Avoid multi-line chains of blocks.
2527
+ StyleGuide: "#single-line-blocks"
2528
+ Enabled: true
2529
+
2530
+ # Supports --auto-correct
2531
+ Style/MultilineIfModifier:
2532
+ Description: Only use if/unless modifiers on single line statements.
2533
+ StyleGuide: "#no-multiline-if-modifiers"
2534
+ Enabled: true
2535
+
2536
+ # Supports --auto-correct
2537
+ Style/MultilineIfThen:
2538
+ Description: Do not use then for multi-line if/unless.
2539
+ StyleGuide: "#no-then"
2540
+ Enabled: true
2541
+
2542
+ # Supports --auto-correct
2543
+ Style/MultilineMemoization:
2544
+ Description: Wrap multiline memoizations in a `begin` and `end` block.
2545
+ Enabled: true
2546
+ EnforcedStyle: keyword
2547
+ SupportedStyles:
2548
+ - keyword
2549
+ - braces
2550
+
2551
+ Style/MultilineMethodSignature:
2552
+ Description: Avoid multi-line method signatures.
2553
+ Enabled: false
2554
+
2555
+ Style/MultilineTernaryOperator:
2556
+ Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
2557
+ StyleGuide: "#no-multiline-ternary"
2558
+ Enabled: true
2559
+
2560
+ Style/MultipleComparison:
2561
+ Description: Avoid comparing a variable with multiple items in a conditional, use
2562
+ Array#include? instead.
2563
+ Enabled: true
2564
+
2565
+ # Supports --auto-correct
2566
+ Style/MutableConstant:
2567
+ Description: Do not assign mutable objects to constants.
2568
+ Enabled: true
2569
+
2570
+ # Supports --auto-correct
2571
+ Style/NegatedIf:
2572
+ Description: Favor unless over if for negative conditions (or control flow or).
2573
+ StyleGuide: "#unless-for-negatives"
2574
+ Enabled: true
2575
+ EnforcedStyle: both
2576
+ SupportedStyles:
2577
+ - both
2578
+ - prefix
2579
+ - postfix
2580
+
2581
+ # Supports --auto-correct
2582
+ Style/NegatedWhile:
2583
+ Description: Favor until over while for negative conditions.
2584
+ StyleGuide: "#until-for-negatives"
2585
+ Enabled: true
2586
+
2587
+ # Supports --auto-correct
2588
+ Style/NestedModifier:
2589
+ Description: Avoid using nested modifiers.
2590
+ StyleGuide: "#no-nested-modifiers"
2591
+ Enabled: true
2592
+
2593
+ # Supports --auto-correct
2594
+ Style/NestedParenthesizedCalls:
2595
+ Description: Parenthesize method calls which are nested inside the argument list of
2596
+ another parenthesized method call.
2597
+ Enabled: true
2598
+ Whitelist:
2599
+ - be
2600
+ - be_a
2601
+ - be_an
2602
+ - be_between
2603
+ - be_falsey
2604
+ - be_kind_of
2605
+ - be_instance_of
2606
+ - be_truthy
2607
+ - be_within
2608
+ - eq
2609
+ - eql
2610
+ - end_with
2611
+ - include
2612
+ - match
2613
+ - raise_error
2614
+ - respond_to
2615
+ - start_with
2616
+
2617
+ Style/NestedTernaryOperator:
2618
+ Description: Use one expression per branch in a ternary operator.
2619
+ StyleGuide: "#no-nested-ternary"
2620
+ Enabled: true
2621
+
2622
+ # Supports --auto-correct
2623
+ Style/Next:
2624
+ Description: Use `next` to skip iteration instead of a condition at the end.
2625
+ StyleGuide: "#no-nested-conditionals"
2626
+ Enabled: true
2627
+ EnforcedStyle: skip_modifier_ifs
2628
+ MinBodyLength: 3
2629
+ SupportedStyles:
2630
+ - skip_modifier_ifs
2631
+ - always
2632
+
2633
+ # Supports --auto-correct
2634
+ Style/NilComparison:
2635
+ Description: Prefer x.nil? to x == nil.
2636
+ StyleGuide: "#predicate-methods"
2637
+ Enabled: true
2638
+ EnforcedStyle: predicate
2639
+ SupportedStyles:
2640
+ - predicate
2641
+ - comparison
2642
+
2643
+ # Supports --auto-correct
2644
+ Style/NonNilCheck:
2645
+ Description: Checks for redundant nil checks.
2646
+ StyleGuide: "#no-non-nil-checks"
2647
+ Enabled: true
2648
+ IncludeSemanticChanges: false
2649
+
2650
+ # Supports --auto-correct
2651
+ Style/Not:
2652
+ Description: Use ! instead of not.
2653
+ StyleGuide: "#bang-not-not"
2654
+ Enabled: true
2655
+
2656
+ # Supports --auto-correct
2657
+ Style/NumericLiteralPrefix:
2658
+ Description: Use smallcase prefixes for numeric literals.
2659
+ StyleGuide: "#numeric-literal-prefixes"
2660
+ Enabled: true
2661
+ EnforcedOctalStyle: zero_with_o
2662
+ SupportedOctalStyles:
2663
+ - zero_with_o
2664
+ - zero_only
2665
+
2666
+ # Supports --auto-correct
2667
+ Style/NumericLiterals:
2668
+ Description: Add underscores to large numeric literals to improve their readability.
2669
+ StyleGuide: "#underscores-in-numerics"
2670
+ Enabled: true
2671
+ MinDigits: 5
2672
+ Strict: false
2673
+
2674
+ # Supports --auto-correct
2675
+ Style/NumericPredicate:
2676
+ Description: Checks for the use of predicate- or comparison methods for numeric comparisons.
2677
+ StyleGuide: "#predicate-methods"
2678
+ AutoCorrect: false
2679
+ Enabled: true
2680
+ EnforcedStyle: predicate
2681
+ SupportedStyles:
2682
+ - predicate
2683
+ - comparison
2684
+ IgnoredMethods: []
2685
+ Exclude:
2686
+ - "/home/ken/everygit/cloudflare_cli/spec/**/*"
2687
+
2688
+ # Supports --auto-correct
2689
+ Style/OneLineConditional:
2690
+ Description: Favor the ternary operator(?:) over if/then/else/end constructs.
2691
+ StyleGuide: "#ternary-operator"
2692
+ Enabled: true
2693
+
2694
+ Style/OptionHash:
2695
+ Description: Don't use option hashes when you can use keyword arguments.
2696
+ Enabled: false
2697
+ SuspiciousParamNames:
2698
+ - options
2699
+ - opts
2700
+ - args
2701
+ - params
2702
+ - parameters
2703
+
2704
+ Style/OptionalArguments:
2705
+ Description: Checks for optional arguments that do not appear at the end of the argument
2706
+ list
2707
+ StyleGuide: "#optional-arguments"
2708
+ Enabled: true
2709
+
2710
+ # Supports --auto-correct
2711
+ Style/OrAssignment:
2712
+ Description: Recommend usage of double pipe equals (||=) where applicable.
2713
+ StyleGuide: "#double-pipe-for-uninit"
2714
+ Enabled: true
2715
+
2716
+ # Supports --auto-correct
2717
+ Style/ParallelAssignment:
2718
+ Description: Check for simple usages of parallel assignment. It will only warn when
2719
+ the number of variables matches on both sides of the assignment.
2720
+ StyleGuide: "#parallel-assignment"
2721
+ Enabled: true
2722
+
2723
+ # Supports --auto-correct
2724
+ Style/ParenthesesAroundCondition:
2725
+ Description: Don't use parentheses around the condition of an if/unless/while.
2726
+ StyleGuide: "#no-parens-around-condition"
2727
+ Enabled: true
2728
+ AllowSafeAssignment: true
2729
+ AllowInMultilineConditions: false
2730
+
2731
+ # Supports --auto-correct
2732
+ Style/PercentLiteralDelimiters:
2733
+ Description: Use `%`-literal delimiters consistently
2734
+ StyleGuide: "#percent-literal-braces"
2735
+ Enabled: true
2736
+ PreferredDelimiters:
2737
+ default: "()"
2738
+ "%i": "[]"
2739
+ "%I": "[]"
2740
+ "%r": "{}"
2741
+ "%w": "[]"
2742
+ "%W": "[]"
2743
+
2744
+ # Supports --auto-correct
2745
+ Style/PercentQLiterals:
2746
+ Description: Checks if uses of %Q/%q match the configured preference.
2747
+ Enabled: true
2748
+ EnforcedStyle: lower_case_q
2749
+ SupportedStyles:
2750
+ - lower_case_q
2751
+ - upper_case_q
2752
+
2753
+ # Supports --auto-correct
2754
+ Style/PerlBackrefs:
2755
+ Description: Avoid Perl-style regex back references.
2756
+ StyleGuide: "#no-perl-regexp-last-matchers"
2757
+ Enabled: true
2758
+
2759
+ # Supports --auto-correct
2760
+ Style/PreferredHashMethods:
2761
+ Description: Checks use of `has_key?` and `has_value?` Hash methods.
2762
+ StyleGuide: "#hash-key"
2763
+ Enabled: true
2764
+ EnforcedStyle: short
2765
+ SupportedStyles:
2766
+ - short
2767
+ - verbose
2768
+
2769
+ # Supports --auto-correct
2770
+ Style/Proc:
2771
+ Description: Use proc instead of Proc.new.
2772
+ StyleGuide: "#proc"
2773
+ Enabled: true
2774
+
2775
+ # Supports --auto-correct
2776
+ Style/RaiseArgs:
2777
+ Description: Checks the arguments passed to raise/fail.
2778
+ StyleGuide: "#exception-class-messages"
2779
+ Enabled: true
2780
+ EnforcedStyle: exploded
2781
+ SupportedStyles:
2782
+ - compact
2783
+ - exploded
2784
+
2785
+ # Supports --auto-correct
2786
+ Style/RandomWithOffset:
2787
+ Description: Prefer to use ranges when generating random numbers instead of integers
2788
+ with offsets.
2789
+ StyleGuide: "#random-numbers"
2790
+ Enabled: true
2791
+
2792
+ # Supports --auto-correct
2793
+ Style/RedundantBegin:
2794
+ Description: Don't use begin blocks when they are not needed.
2795
+ StyleGuide: "#begin-implicit"
2796
+ Enabled: true
2797
+
2798
+ # Supports --auto-correct
2799
+ Style/RedundantConditional:
2800
+ Description: Don't return true/false from a conditional.
2801
+ Enabled: true
2802
+
2803
+ # Supports --auto-correct
2804
+ Style/RedundantException:
2805
+ Description: Checks for an obsolete RuntimeException argument in raise/fail.
2806
+ StyleGuide: "#no-explicit-runtimeerror"
2807
+ Enabled: true
2808
+
2809
+ # Supports --auto-correct
2810
+ Style/RedundantFreeze:
2811
+ Description: Checks usages of Object#freeze on immutable objects.
2812
+ Enabled: true
2813
+
2814
+ # Supports --auto-correct
2815
+ Style/RedundantParentheses:
2816
+ Description: Checks for parentheses that seem not to serve any purpose.
2817
+ Enabled: true
2818
+
2819
+ # Supports --auto-correct
2820
+ Style/RedundantReturn:
2821
+ Description: Don't use return where it's not required.
2822
+ StyleGuide: "#no-explicit-return"
2823
+ Enabled: true
2824
+ AllowMultipleReturnValues: false
2825
+
2826
+ # Supports --auto-correct
2827
+ Style/RedundantSelf:
2828
+ Description: Don't use self where it's not needed.
2829
+ StyleGuide: "#no-self-unless-required"
2830
+ Enabled: true
2831
+
2832
+ # Supports --auto-correct
2833
+ Style/RegexpLiteral:
2834
+ Description: Use / or %r around regular expressions.
2835
+ StyleGuide: "#percent-r"
2836
+ Enabled: true
2837
+ EnforcedStyle: slashes
2838
+ SupportedStyles:
2839
+ - slashes
2840
+ - percent_r
2841
+ - mixed
2842
+ AllowInnerSlashes: false
2843
+
2844
+ # Supports --auto-correct
2845
+ Style/RescueModifier:
2846
+ Description: Avoid using rescue in its modifier form.
2847
+ StyleGuide: "#no-rescue-modifiers"
2848
+ Enabled: true
2849
+
2850
+ # Supports --auto-correct
2851
+ Style/RescueStandardError:
2852
+ Description: Avoid rescuing without specifying an error class.
2853
+ Enabled: true
2854
+ EnforcedStyle: explicit
2855
+ SupportedStyles:
2856
+ - implicit
2857
+ - explicit
2858
+
2859
+ # Supports --auto-correct
2860
+ Style/ReturnNil:
2861
+ Description: Use return instead of return nil.
2862
+ Enabled: false
2863
+ EnforcedStyle: return
2864
+ SupportedStyles:
2865
+ - return
2866
+ - return_nil
2867
+
2868
+ # Supports --auto-correct
2869
+ Style/SafeNavigation:
2870
+ Description: This cop transforms usages of a method call safeguarded by a check for
2871
+ the existence of the object to safe navigation (`&.`).
2872
+ Enabled: true
2873
+ ConvertCodeThatCanStartToReturnNil: false
2874
+ Whitelist:
2875
+ - present?
2876
+ - blank?
2877
+ - presence
2878
+ - try
2879
+ - try!
2880
+
2881
+ # Supports --auto-correct
2882
+ Style/SelfAssignment:
2883
+ Description: Checks for places where self-assignment shorthand should have been used.
2884
+ StyleGuide: "#self-assignment"
2885
+ Enabled: true
2886
+
2887
+ # Supports --auto-correct
2888
+ Style/Semicolon:
2889
+ Description: Don't use semicolons to terminate expressions.
2890
+ StyleGuide: "#no-semicolon"
2891
+ Enabled: true
2892
+ AllowAsExpressionSeparator: false
2893
+
2894
+ Style/Send:
2895
+ Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send`
2896
+ may overlap with existing methods.
2897
+ StyleGuide: "#prefer-public-send"
2898
+ Enabled: false
2899
+
2900
+ # Supports --auto-correct
2901
+ Style/SignalException:
2902
+ Description: Checks for proper usage of fail and raise.
2903
+ StyleGuide: "#prefer-raise-over-fail"
2904
+ Enabled: true
2905
+ EnforcedStyle: only_raise
2906
+ SupportedStyles:
2907
+ - only_raise
2908
+ - only_fail
2909
+ - semantic
2910
+
2911
+ Style/SingleLineBlockParams:
2912
+ Description: Enforces the names of some block params.
2913
+ Enabled: false
2914
+ Methods:
2915
+ - reduce:
2916
+ - acc
2917
+ - elem
2918
+ - inject:
2919
+ - acc
2920
+ - elem
2921
+
2922
+ # Supports --auto-correct
2923
+ Style/SingleLineMethods:
2924
+ Description: Avoid single-line methods.
2925
+ StyleGuide: "#no-single-line-methods"
2926
+ Enabled: true
2927
+ AllowIfMethodIsEmpty: true
2928
+
2929
+ # Supports --auto-correct
2930
+ Style/SpecialGlobalVars:
2931
+ Description: Avoid Perl-style global variables.
2932
+ StyleGuide: "#no-cryptic-perlisms"
2933
+ Enabled: true
2934
+ EnforcedStyle: use_english_names
2935
+ SupportedStyles:
2936
+ - use_perl_names
2937
+ - use_english_names
2938
+
2939
+ # Supports --auto-correct
2940
+ Style/StabbyLambdaParentheses:
2941
+ Description: Check for the usage of parentheses around stabby lambda arguments.
2942
+ StyleGuide: "#stabby-lambda-with-args"
2943
+ Enabled: true
2944
+ EnforcedStyle: require_parentheses
2945
+ SupportedStyles:
2946
+ - require_parentheses
2947
+ - require_no_parentheses
2948
+
2949
+ # Supports --auto-correct
2950
+ Style/StderrPuts:
2951
+ Description: Use `warn` instead of `$stderr.puts`.
2952
+ StyleGuide: "#warn"
2953
+ Enabled: true
2954
+
2955
+ # Supports --auto-correct
2956
+ Style/StringHashKeys:
2957
+ Description: Prefer symbols instead of strings as hash keys.
2958
+ StyleGuide: "#symbols-as-keys"
2959
+ Enabled: false
2960
+
2961
+ # Supports --auto-correct
2962
+ Style/StringLiterals:
2963
+ Description: Checks if uses of quotes match the configured preference.
2964
+ StyleGuide: "#consistent-string-literals"
2965
+ Enabled: true
2966
+ EnforcedStyle: single_quotes
2967
+ SupportedStyles:
2968
+ - single_quotes
2969
+ - double_quotes
2970
+ ConsistentQuotesInMultiline: false
2971
+
2972
+ # Supports --auto-correct
2973
+ Style/StringLiteralsInInterpolation:
2974
+ Description: Checks if uses of quotes inside expressions in interpolated strings match
2975
+ the configured preference.
2976
+ Enabled: true
2977
+ EnforcedStyle: single_quotes
2978
+ SupportedStyles:
2979
+ - single_quotes
2980
+ - double_quotes
2981
+
2982
+ # Supports --auto-correct
2983
+ Style/StringMethods:
2984
+ Description: Checks if configured preferred methods are used over non-preferred.
2985
+ Enabled: false
2986
+ PreferredMethods:
2987
+ intern: to_sym
2988
+
2989
+ Style/StructInheritance:
2990
+ Description: Checks for inheritance from Struct.new.
2991
+ StyleGuide: "#no-extend-struct-new"
2992
+ Enabled: true
2993
+
2994
+ # Supports --auto-correct
2995
+ Style/SymbolArray:
2996
+ Description: Use %i or %I for arrays of symbols.
2997
+ StyleGuide: "#percent-i"
2998
+ Enabled: true
2999
+ EnforcedStyle: percent
3000
+ MinSize: 2
3001
+ SupportedStyles:
3002
+ - percent
3003
+ - brackets
3004
+
3005
+ # Supports --auto-correct
3006
+ Style/SymbolLiteral:
3007
+ Description: Use plain symbols instead of string symbols when possible.
3008
+ Enabled: true
3009
+
3010
+ # Supports --auto-correct
3011
+ Style/SymbolProc:
3012
+ Description: Use symbols as procs instead of blocks when possible.
3013
+ Enabled: true
3014
+ IgnoredMethods:
3015
+ - respond_to
3016
+ - define_method
3017
+
3018
+ # Supports --auto-correct
3019
+ Style/TernaryParentheses:
3020
+ Description: Checks for use of parentheses around ternary conditions.
3021
+ Enabled: true
3022
+ EnforcedStyle: require_no_parentheses
3023
+ SupportedStyles:
3024
+ - require_parentheses
3025
+ - require_no_parentheses
3026
+ - require_parentheses_when_complex
3027
+ AllowSafeAssignment: true
3028
+
3029
+ # Supports --auto-correct
3030
+ Style/TrailingBodyOnClass:
3031
+ Description: Class body goes below class statement.
3032
+ Enabled: true
3033
+
3034
+ # Supports --auto-correct
3035
+ Style/TrailingBodyOnMethodDefinition:
3036
+ Description: Method body goes below definition.
3037
+ Enabled: true
3038
+
3039
+ # Supports --auto-correct
3040
+ Style/TrailingBodyOnModule:
3041
+ Description: Module body goes below module statement.
3042
+ Enabled: true
3043
+
3044
+ # Supports --auto-correct
3045
+ Style/TrailingCommaInArguments:
3046
+ Description: Checks for trailing comma in argument lists.
3047
+ StyleGuide: "#no-trailing-params-comma"
3048
+ Enabled: true
3049
+ EnforcedStyleForMultiline: no_comma
3050
+ SupportedStylesForMultiline:
3051
+ - comma
3052
+ - consistent_comma
3053
+ - no_comma
3054
+
3055
+ # Supports --auto-correct
3056
+ Style/TrailingCommaInArrayLiteral:
3057
+ Description: Checks for trailing comma in array literals.
3058
+ StyleGuide: "#no-trailing-array-commas"
3059
+ Enabled: true
3060
+ EnforcedStyleForMultiline: no_comma
3061
+ SupportedStylesForMultiline:
3062
+ - comma
3063
+ - consistent_comma
3064
+ - no_comma
3065
+
3066
+ # Supports --auto-correct
3067
+ Style/TrailingCommaInHashLiteral:
3068
+ Description: Checks for trailing comma in hash literals.
3069
+ Enabled: true
3070
+ EnforcedStyleForMultiline: no_comma
3071
+ SupportedStylesForMultiline:
3072
+ - comma
3073
+ - consistent_comma
3074
+ - no_comma
3075
+
3076
+ # Supports --auto-correct
3077
+ Style/TrailingMethodEndStatement:
3078
+ Description: Checks for trailing end statement on line of method body.
3079
+ Enabled: true
3080
+
3081
+ # Supports --auto-correct
3082
+ Style/TrailingUnderscoreVariable:
3083
+ Description: Checks for the usage of unneeded trailing underscores at the end of parallel
3084
+ variable assignment.
3085
+ AllowNamedUnderscoreVariables: true
3086
+ Enabled: true
3087
+
3088
+ # Supports --auto-correct
3089
+ Style/TrivialAccessors:
3090
+ Description: Prefer attr_* methods to trivial readers/writers.
3091
+ StyleGuide: "#attr_family"
3092
+ Enabled: true
3093
+ ExactNameMatch: true
3094
+ AllowPredicates: true
3095
+ AllowDSLWriters: false
3096
+ IgnoreClassMethods: false
3097
+ Whitelist:
3098
+ - to_ary
3099
+ - to_a
3100
+ - to_c
3101
+ - to_enum
3102
+ - to_h
3103
+ - to_hash
3104
+ - to_i
3105
+ - to_int
3106
+ - to_io
3107
+ - to_open
3108
+ - to_path
3109
+ - to_proc
3110
+ - to_r
3111
+ - to_regexp
3112
+ - to_str
3113
+ - to_s
3114
+ - to_sym
3115
+
3116
+ # Supports --auto-correct
3117
+ Style/UnlessElse:
3118
+ Description: Do not use unless with else. Rewrite these with the positive case first.
3119
+ StyleGuide: "#no-else-with-unless"
3120
+ Enabled: true
3121
+
3122
+ # Supports --auto-correct
3123
+ Style/UnneededCapitalW:
3124
+ Description: Checks for %W when interpolation is not needed.
3125
+ Enabled: true
3126
+
3127
+ # Supports --auto-correct
3128
+ Style/UnneededCondition:
3129
+ Description: Checks for unnecessary conditional expressions.
3130
+ Enabled: true
3131
+
3132
+ # Supports --auto-correct
3133
+ Style/UnneededInterpolation:
3134
+ Description: Checks for strings that are just an interpolated expression.
3135
+ Enabled: true
3136
+
3137
+ # Supports --auto-correct
3138
+ Style/UnneededPercentQ:
3139
+ Description: Checks for %q/%Q when single quotes or double quotes would do.
3140
+ StyleGuide: "#percent-q"
3141
+ Enabled: true
3142
+
3143
+ # Supports --auto-correct
3144
+ Style/UnpackFirst:
3145
+ Description: Checks for accessing the first element of `String#unpack` instead of
3146
+ using `unpack1`
3147
+ Enabled: true
3148
+
3149
+ # Supports --auto-correct
3150
+ Style/VariableInterpolation:
3151
+ Description: Don't interpolate global, instance and class variables directly in strings.
3152
+ StyleGuide: "#curlies-interpolate"
3153
+ Enabled: true
3154
+
3155
+ # Supports --auto-correct
3156
+ Style/WhenThen:
3157
+ Description: Use when x then ... for one-line cases.
3158
+ StyleGuide: "#one-line-cases"
3159
+ Enabled: true
3160
+
3161
+ # Supports --auto-correct
3162
+ Style/WhileUntilDo:
3163
+ Description: Checks for redundant do after while or until.
3164
+ StyleGuide: "#no-multiline-while-do"
3165
+ Enabled: true
3166
+
3167
+ # Supports --auto-correct
3168
+ Style/WhileUntilModifier:
3169
+ Description: Favor modifier while/until usage when you have a single-line body.
3170
+ StyleGuide: "#while-as-a-modifier"
3171
+ Enabled: true
3172
+
3173
+ # Supports --auto-correct
3174
+ Style/WordArray:
3175
+ Description: Use %w or %W for arrays of words.
3176
+ StyleGuide: "#percent-w"
3177
+ Enabled: true
3178
+ EnforcedStyle: percent
3179
+ SupportedStyles:
3180
+ - percent
3181
+ - brackets
3182
+ MinSize: 2
3183
+ WordRegex: !ruby/regexp /\A[\p{Word}\n\t]+\z/
3184
+
3185
+ # Supports --auto-correct
3186
+ Style/YodaCondition:
3187
+ Description: Do not use literals as the first operand of a comparison.
3188
+ Reference: https://en.wikipedia.org/wiki/Yoda_conditions
3189
+ Enabled: true
3190
+ EnforcedStyle: all_comparison_operators
3191
+ SupportedStyles:
3192
+ - all_comparison_operators
3193
+ - equality_operators_only
3194
+
3195
+ # Supports --auto-correct
3196
+ Style/ZeroLengthPredicate:
3197
+ Description: 'Use #empty? when testing for objects of length 0.'
3198
+ Enabled: true
3199
+