seira 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
data/.default-rubocop.yml DELETED
@@ -1,1769 +0,0 @@
1
- # This is the default configuration file. Enabling and disabling is configured
2
- # in separate files. This file adds all other parameters apart from Enabled.
3
-
4
- # Common configuration.
5
- AllCops:
6
- # Include common Ruby source files.
7
- Include:
8
- - '**/*.arb'
9
- - '**/*.axlsx'
10
- - '**/*.builder'
11
- - '**/*.fcgi'
12
- - '**/*.gemfile'
13
- - '**/*.gemspec'
14
- - '**/*.god'
15
- - '**/*.jb'
16
- - '**/*.jbuilder'
17
- - '**/*.mspec'
18
- - '**/*.opal'
19
- - '**/*.pluginspec'
20
- - '**/*.podspec'
21
- - '**/*.rabl'
22
- - '**/*.rake'
23
- - '**/*.rbuild'
24
- - '**/*.rbw'
25
- - '**/*.rbx'
26
- - '**/*.ru'
27
- - '**/*.ruby'
28
- - '**/*.spec'
29
- - '**/*.thor'
30
- - '**/*.watchr'
31
- - '**/.irbrc'
32
- - '**/.pryrc'
33
- - '**/buildfile'
34
- - '**/config.ru'
35
- - '**/Appraisals'
36
- - '**/Berksfile'
37
- - '**/Brewfile'
38
- - '**/Buildfile'
39
- - '**/Capfile'
40
- - '**/Cheffile'
41
- - '**/Dangerfile'
42
- - '**/Deliverfile'
43
- - '**/Fastfile'
44
- - '**/*Fastfile'
45
- - '**/Gemfile'
46
- - '**/Guardfile'
47
- - '**/Jarfile'
48
- - '**/Mavenfile'
49
- - '**/Podfile'
50
- - '**/Puppetfile'
51
- - '**/Rakefile'
52
- - '**/Snapfile'
53
- - '**/Thorfile'
54
- - '**/Vagabondfile'
55
- - '**/Vagrantfile'
56
- Exclude:
57
- - 'node_modules/**/*'
58
- - 'vendor/**/*'
59
- - '.git/**/*'
60
- # Default formatter will be used if no `-f/--format` option is given.
61
- DefaultFormatter: progress
62
- # Cop names are displayed in offense messages by default. Change behavior
63
- # by overriding DisplayCopNames, or by giving the `--no-display-cop-names`
64
- # option.
65
- DisplayCopNames: true
66
- # Style guide URLs are not displayed in offense messages by default. Change
67
- # behavior by overriding `DisplayStyleGuide`, or by giving the
68
- # `-S/--display-style-guide` option.
69
- DisplayStyleGuide: false
70
- # When specifying style guide URLs, any paths and/or fragments will be
71
- # evaluated relative to the base URL.
72
- StyleGuideBaseURL: https://github.com/bbatsov/ruby-style-guide
73
- # Extra details are not displayed in offense messages by default. Change
74
- # behavior by overriding ExtraDetails, or by giving the
75
- # `-E/--extra-details` option.
76
- ExtraDetails: false
77
- # Additional cops that do not reference a style guide rule may be enabled by
78
- # default. Change behavior by overriding `StyleGuideCopsOnly`, or by giving
79
- # the `--only-guide-cops` option.
80
- StyleGuideCopsOnly: false
81
- # All cops except the ones in disabled.yml are enabled by default. Change
82
- # this behavior by overriding either `DisabledByDefault` or `EnabledByDefault`.
83
- # When `DisabledByDefault` is `true`, all cops in the default configuration
84
- # are disabled, and only cops in user configuration are enabled. This makes
85
- # cops opt-in instead of opt-out. Note that when `DisabledByDefault` is `true`,
86
- # cops in user configuration will be enabled even if they don't set the
87
- # Enabled parameter.
88
- # When `EnabledByDefault` is `true`, all cops, even those in disabled.yml,
89
- # are enabled by default. Cops can still be disabled in user configuration.
90
- # Note that it is invalid to set both EnabledByDefault and DisabledByDefault
91
- # to true in the same configuration.
92
- EnabledByDefault: false
93
- DisabledByDefault: false
94
- # Enables the result cache if `true`. Can be overridden by the `--cache` command
95
- # line option.
96
- UseCache: true
97
- # Threshold for how many files can be stored in the result cache before some
98
- # of the files are automatically removed.
99
- MaxFilesInCache: 20000
100
- # The cache will be stored in "rubocop_cache" under this directory. If
101
- # CacheRootDirectory is ~ (nil), which it is by default, the root will be
102
- # taken from the environment variable `$XDG_CACHE_HOME` if it is set, or if
103
- # `$XDG_CACHE_HOME` is not set, it will be `$HOME/.cache/`.
104
- CacheRootDirectory: ~
105
- # It is possible for a malicious user to know the location of RuboCop's cache
106
- # directory by looking at CacheRootDirectory, and create a symlink in its
107
- # place that could cause RuboCop to overwrite unintended files, or read
108
- # malicious input. If you are certain that your cache location is secure from
109
- # this kind of attack, and wish to use a symlinked cache location, set this
110
- # value to "true".
111
- AllowSymlinksInCacheRootDirectory: false
112
- # What MRI version of the Ruby interpreter is the inspected code intended to
113
- # run on? (If there is more than one, set this to the lowest version.)
114
- # If a value is specified for TargetRubyVersion then it is used. Acceptable
115
- # values are specificed as a float (i.e. 2.5); the teeny version of Ruby
116
- # should not be included. If the project specifies a Ruby version in the
117
- # .ruby-version file, Gemfile or gems.rb file, RuboCop will try to determine
118
- # the desired version of Ruby by inspecting the .ruby-version file first,
119
- # followed by the Gemfile.lock or gems.locked file. (Although the Ruby version
120
- # is specified in the Gemfile or gems.rb file, RuboCop reads the final value
121
- # from the lock file.) If the Ruby version is still unresolved, RuboCop will
122
- # use the oldest officially supported Ruby version (currently Ruby 2.1).
123
- TargetRubyVersion: ~
124
- # What version of Rails is the inspected code using? If a value is specified
125
- # for TargetRailsVersion then it is used. Acceptable values are specificed
126
- # as a float (i.e. 5.1); the patch version of Rails should not be included.
127
- # If TargetRailsVersion is not set, RuboCop will parse the Gemfile.lock or
128
- # gems.locked file to find the version of Rails that has been bound to the
129
- # application. If neither of those files exist, RuboCop will use Rails 5.0
130
- # as the default.
131
- TargetRailsVersion: ~
132
-
133
- #################### Layout ###########################
134
-
135
- # Indent private/protected/public as deep as method definitions
136
- Layout/AccessModifierIndentation:
137
- EnforcedStyle: indent
138
- SupportedStyles:
139
- - outdent
140
- - indent
141
- # By default, the indentation width from Layout/IndentationWidth is used
142
- # But it can be overridden by setting this parameter
143
- IndentationWidth: ~
144
-
145
- # Align the elements of a hash literal if they span more than one line.
146
- Layout/AlignHash:
147
- # Alignment of entries using hash rocket as separator. Valid values are:
148
- #
149
- # key - left alignment of keys
150
- # 'a' => 2
151
- # 'bb' => 3
152
- # separator - alignment of hash rockets, keys are right aligned
153
- # 'a' => 2
154
- # 'bb' => 3
155
- # table - left alignment of keys, hash rockets, and values
156
- # 'a' => 2
157
- # 'bb' => 3
158
- EnforcedHashRocketStyle: key
159
- SupportedHashRocketStyles:
160
- - key
161
- - separator
162
- - table
163
- # Alignment of entries using colon as separator. Valid values are:
164
- #
165
- # key - left alignment of keys
166
- # a: 0
167
- # bb: 1
168
- # separator - alignment of colons, keys are right aligned
169
- # a: 0
170
- # bb: 1
171
- # table - left alignment of keys and values
172
- # a: 0
173
- # bb: 1
174
- EnforcedColonStyle: key
175
- SupportedColonStyles:
176
- - key
177
- - separator
178
- - table
179
- # Select whether hashes that are the last argument in a method call should be
180
- # inspected? Valid values are:
181
- #
182
- # always_inspect - Inspect both implicit and explicit hashes.
183
- # Registers an offense for:
184
- # function(a: 1,
185
- # b: 2)
186
- # Registers an offense for:
187
- # function({a: 1,
188
- # b: 2})
189
- # always_ignore - Ignore both implicit and explicit hashes.
190
- # Accepts:
191
- # function(a: 1,
192
- # b: 2)
193
- # Accepts:
194
- # function({a: 1,
195
- # b: 2})
196
- # ignore_implicit - Ignore only implicit hashes.
197
- # Accepts:
198
- # function(a: 1,
199
- # b: 2)
200
- # Registers an offense for:
201
- # function({a: 1,
202
- # b: 2})
203
- # ignore_explicit - Ignore only explicit hashes.
204
- # Accepts:
205
- # function({a: 1,
206
- # b: 2})
207
- # Registers an offense for:
208
- # function(a: 1,
209
- # b: 2)
210
- EnforcedLastArgumentHashStyle: always_inspect
211
- SupportedLastArgumentHashStyles:
212
- - always_inspect
213
- - always_ignore
214
- - ignore_implicit
215
- - ignore_explicit
216
-
217
- Layout/AlignParameters:
218
- # Alignment of parameters in multi-line method calls.
219
- #
220
- # The `with_first_parameter` style aligns the following lines along the same
221
- # column as the first parameter.
222
- #
223
- # method_call(a,
224
- # b)
225
- #
226
- # The `with_fixed_indentation` style aligns the following lines with one
227
- # level of indentation relative to the start of the line with the method call.
228
- #
229
- # method_call(a,
230
- # b)
231
- EnforcedStyle: with_first_parameter
232
- SupportedStyles:
233
- - with_first_parameter
234
- - with_fixed_indentation
235
- # By default, the indentation width from Layout/IndentationWidth is used
236
- # But it can be overridden by setting this parameter
237
- IndentationWidth: ~
238
-
239
- # checks whether the end keywords are aligned properly for `do` `end` blocks.
240
- Layout/BlockAlignment:
241
- # The value `start_of_block` means that the `end` should be aligned with line
242
- # where the `do` keyword appears.
243
- # The value `start_of_line` means it should be aligned with the whole
244
- # expression's starting line.
245
- # The value `either` means both are allowed.
246
- EnforcedStyleAlignWith: either
247
- SupportedStylesAlignWith:
248
- - either
249
- - start_of_block
250
- - start_of_line
251
-
252
- # Indentation of `when`.
253
- Layout/CaseIndentation:
254
- EnforcedStyle: case
255
- SupportedStyles:
256
- - case
257
- - end
258
- IndentOneStep: false
259
- # By default, the indentation width from `Layout/IndentationWidth` is used.
260
- # But it can be overridden by setting this parameter.
261
- # This only matters if `IndentOneStep` is `true`
262
- IndentationWidth: ~
263
-
264
- Layout/DefEndAlignment:
265
- # The value `def` means that `end` should be aligned with the def keyword.
266
- # The value `start_of_line` means that `end` should be aligned with method
267
- # calls like `private`, `public`, etc, if present in front of the `def`
268
- # keyword on the same line.
269
- EnforcedStyleAlignWith: start_of_line
270
- SupportedStylesAlignWith:
271
- - start_of_line
272
- - def
273
- AutoCorrect: false
274
- Severity: warning
275
-
276
- # Multi-line method chaining should be done with leading dots.
277
- Layout/DotPosition:
278
- EnforcedStyle: leading
279
- SupportedStyles:
280
- - leading
281
- - trailing
282
-
283
- Layout/EmptyComment:
284
- AllowBorderComment: true
285
- AllowMarginComment: true
286
-
287
- # Use empty lines between defs.
288
- Layout/EmptyLineBetweenDefs:
289
- # If `true`, this parameter means that single line method definitions don't
290
- # need an empty line between them.
291
- AllowAdjacentOneLineDefs: false
292
- # Can be array to specify minimum and maximum number of empty lines, e.g. [1, 2]
293
- NumberOfEmptyLines: 1
294
-
295
- Layout/EmptyLinesAroundBlockBody:
296
- EnforcedStyle: no_empty_lines
297
- SupportedStyles:
298
- - empty_lines
299
- - no_empty_lines
300
-
301
- Layout/EmptyLinesAroundClassBody:
302
- EnforcedStyle: no_empty_lines
303
- SupportedStyles:
304
- - empty_lines
305
- - empty_lines_except_namespace
306
- - empty_lines_special
307
- - no_empty_lines
308
- - beginning_only
309
- - ending_only
310
-
311
- Layout/EmptyLinesAroundModuleBody:
312
- EnforcedStyle: no_empty_lines
313
- SupportedStyles:
314
- - empty_lines
315
- - empty_lines_except_namespace
316
- - empty_lines_special
317
- - no_empty_lines
318
-
319
- # Align ends correctly.
320
- Layout/EndAlignment:
321
- # The value `keyword` means that `end` should be aligned with the matching
322
- # keyword (`if`, `while`, etc.).
323
- # The value `variable` means that in assignments, `end` should be aligned
324
- # with the start of the variable on the left hand side of `=`. In all other
325
- # situations, `end` should still be aligned with the keyword.
326
- # The value `start_of_line` means that `end` should be aligned with the start
327
- # of the line which the matching keyword appears on.
328
- EnforcedStyleAlignWith: keyword
329
- SupportedStylesAlignWith:
330
- - keyword
331
- - variable
332
- - start_of_line
333
- AutoCorrect: false
334
- Severity: warning
335
-
336
- Layout/EndOfLine:
337
- # The `native` style means that CR+LF (Carriage Return + Line Feed) is
338
- # enforced on Windows, and LF is enforced on other platforms. The other styles
339
- # mean LF and CR+LF, respectively.
340
- EnforcedStyle: native
341
- SupportedStyles:
342
- - native
343
- - lf
344
- - crlf
345
-
346
- Layout/ExtraSpacing:
347
- # When true, allows most uses of extra spacing if the intent is to align
348
- # things with the previous or next line, not counting empty lines or comment
349
- # lines.
350
- AllowForAlignment: true
351
- # When true, forces the alignment of `=` in assignments on consecutive lines.
352
- ForceEqualSignAlignment: false
353
-
354
- Layout/FirstParameterIndentation:
355
- EnforcedStyle: special_for_inner_method_call_in_parentheses
356
- SupportedStyles:
357
- # The first parameter should always be indented one step more than the
358
- # preceding line.
359
- - consistent
360
- # The first parameter should normally be indented one step more than the
361
- # preceding line, but if it's a parameter for a method call that is itself
362
- # a parameter in a method call, then the inner parameter should be indented
363
- # relative to the inner method.
364
- - special_for_inner_method_call
365
- # Same as `special_for_inner_method_call` except that the special rule only
366
- # applies if the outer method call encloses its arguments in parentheses.
367
- - special_for_inner_method_call_in_parentheses
368
- # By default, the indentation width from `Layout/IndentationWidth` is used
369
- # But it can be overridden by setting this parameter
370
- IndentationWidth: ~
371
-
372
- Layout/IndentationConsistency:
373
- # The difference between `rails` and `normal` is that the `rails` style
374
- # prescribes that in classes and modules the `protected` and `private`
375
- # modifier keywords shall be indented the same as public methods and that
376
- # protected and private members shall be indented one step more than the
377
- # modifiers. Other than that, both styles mean that entities on the same
378
- # logical depth shall have the same indentation.
379
- EnforcedStyle: normal
380
- SupportedStyles:
381
- - normal
382
- - rails
383
-
384
- Layout/IndentationWidth:
385
- # Number of spaces for each indentation level.
386
- Width: 2
387
- IgnoredPatterns: []
388
-
389
- # Checks the indentation of the first element in an array literal.
390
- Layout/IndentArray:
391
- # The value `special_inside_parentheses` means that array literals with
392
- # brackets that have their opening bracket on the same line as a surrounding
393
- # opening round parenthesis, shall have their first element indented relative
394
- # to the first position inside the parenthesis.
395
- #
396
- # The value `consistent` means that the indentation of the first element shall
397
- # always be relative to the first position of the line where the opening
398
- # bracket is.
399
- #
400
- # The value `align_brackets` means that the indentation of the first element
401
- # shall always be relative to the position of the opening bracket.
402
- EnforcedStyle: special_inside_parentheses
403
- SupportedStyles:
404
- - special_inside_parentheses
405
- - consistent
406
- - align_brackets
407
- # By default, the indentation width from `Layout/IndentationWidth` is used
408
- # But it can be overridden by setting this parameter
409
- IndentationWidth: ~
410
-
411
- # Checks the indentation of assignment RHS, when on a different line from LHS
412
- Layout/IndentAssignment:
413
- # By default, the indentation width from `Layout/IndentationWidth` is used
414
- # But it can be overridden by setting this parameter
415
- IndentationWidth: ~
416
-
417
- # Checks the indentation of the first key in a hash literal.
418
- Layout/IndentHash:
419
- # The value `special_inside_parentheses` means that hash literals with braces
420
- # that have their opening brace on the same line as a surrounding opening
421
- # round parenthesis, shall have their first key indented relative to the
422
- # first position inside the parenthesis.
423
- #
424
- # The value `consistent` means that the indentation of the first key shall
425
- # always be relative to the first position of the line where the opening
426
- # brace is.
427
- #
428
- # The value `align_braces` means that the indentation of the first key shall
429
- # always be relative to the position of the opening brace.
430
- EnforcedStyle: special_inside_parentheses
431
- SupportedStyles:
432
- - special_inside_parentheses
433
- - consistent
434
- - align_braces
435
- # By default, the indentation width from `Layout/IndentationWidth` is used
436
- # But it can be overridden by setting this parameter
437
- IndentationWidth: ~
438
-
439
- Layout/IndentHeredoc:
440
- EnforcedStyle: auto_detection
441
- SupportedStyles:
442
- - auto_detection
443
- - squiggly
444
- - active_support
445
- - powerpack
446
- - unindent
447
-
448
- Layout/SpaceInLambdaLiteral:
449
- EnforcedStyle: require_no_space
450
- SupportedStyles:
451
- - require_no_space
452
- - require_space
453
-
454
- Layout/MultilineArrayBraceLayout:
455
- EnforcedStyle: symmetrical
456
- SupportedStyles:
457
- # symmetrical: closing brace is positioned in same way as opening brace
458
- # new_line: closing brace is always on a new line
459
- # same_line: closing brace is always on the same line as last element
460
- - symmetrical
461
- - new_line
462
- - same_line
463
-
464
- Layout/MultilineAssignmentLayout:
465
- # The types of assignments which are subject to this rule.
466
- SupportedTypes:
467
- - block
468
- - case
469
- - class
470
- - if
471
- - kwbegin
472
- - module
473
- EnforcedStyle: new_line
474
- SupportedStyles:
475
- # Ensures that the assignment operator and the rhs are on the same line for
476
- # the set of supported types.
477
- - same_line
478
- # Ensures that the assignment operator and the rhs are on separate lines
479
- # for the set of supported types.
480
- - new_line
481
-
482
- Layout/MultilineHashBraceLayout:
483
- EnforcedStyle: symmetrical
484
- SupportedStyles:
485
- # symmetrical: closing brace is positioned in same way as opening brace
486
- # new_line: closing brace is always on a new line
487
- # same_line: closing brace is always on same line as last element
488
- - symmetrical
489
- - new_line
490
- - same_line
491
-
492
- Layout/MultilineMethodCallBraceLayout:
493
- EnforcedStyle: symmetrical
494
- SupportedStyles:
495
- # symmetrical: closing brace is positioned in same way as opening brace
496
- # new_line: closing brace is always on a new line
497
- # same_line: closing brace is always on the same line as last argument
498
- - symmetrical
499
- - new_line
500
- - same_line
501
-
502
- Layout/MultilineMethodCallIndentation:
503
- EnforcedStyle: aligned
504
- SupportedStyles:
505
- - aligned
506
- - indented
507
- - indented_relative_to_receiver
508
- # By default, the indentation width from Layout/IndentationWidth is used
509
- # But it can be overridden by setting this parameter
510
- IndentationWidth: ~
511
-
512
- Layout/MultilineMethodDefinitionBraceLayout:
513
- EnforcedStyle: symmetrical
514
- SupportedStyles:
515
- # symmetrical: closing brace is positioned in same way as opening brace
516
- # new_line: closing brace is always on a new line
517
- # same_line: closing brace is always on the same line as last parameter
518
- - symmetrical
519
- - new_line
520
- - same_line
521
-
522
- Layout/MultilineOperationIndentation:
523
- EnforcedStyle: aligned
524
- SupportedStyles:
525
- - aligned
526
- - indented
527
- # By default, the indentation width from `Layout/IndentationWidth` is used
528
- # But it can be overridden by setting this parameter
529
- IndentationWidth: ~
530
-
531
- Layout/SpaceAroundBlockParameters:
532
- EnforcedStyleInsidePipes: no_space
533
- SupportedStylesInsidePipes:
534
- - space
535
- - no_space
536
-
537
- Layout/SpaceAroundEqualsInParameterDefault:
538
- EnforcedStyle: space
539
- SupportedStyles:
540
- - space
541
- - no_space
542
-
543
- Layout/SpaceAroundOperators:
544
- # When `true`, allows most uses of extra spacing if the intent is to align
545
- # with an operator on the previous or next line, not counting empty lines
546
- # or comment lines.
547
- AllowForAlignment: true
548
-
549
- Layout/SpaceBeforeBlockBraces:
550
- EnforcedStyle: space
551
- SupportedStyles:
552
- - space
553
- - no_space
554
- EnforcedStyleForEmptyBraces: space
555
- SupportedStylesForEmptyBraces:
556
- - space
557
- - no_space
558
-
559
- Layout/SpaceBeforeFirstArg:
560
- # When `true`, allows most uses of extra spacing if the intent is to align
561
- # things with the previous or next line, not counting empty lines or comment
562
- # lines.
563
- AllowForAlignment: true
564
-
565
- Layout/SpaceInsideArrayLiteralBrackets:
566
- EnforcedStyle: no_space
567
- SupportedStyles:
568
- - space
569
- - no_space
570
- # 'compact' normally requires a space inside the brackets, with the exception
571
- # that successive left brackets or right brackets are collapsed together
572
- - compact
573
- EnforcedStyleForEmptyBrackets: no_space
574
- SupportedStylesForEmptyBrackets:
575
- - space
576
- - no_space
577
-
578
- Layout/SpaceInsideBlockBraces:
579
- EnforcedStyle: space
580
- SupportedStyles:
581
- - space
582
- - no_space
583
- EnforcedStyleForEmptyBraces: no_space
584
- SupportedStylesForEmptyBraces:
585
- - space
586
- - no_space
587
- # Space between `{` and `|`. Overrides `EnforcedStyle` if there is a conflict.
588
- SpaceBeforeBlockParameters: true
589
-
590
- Layout/SpaceInsideHashLiteralBraces:
591
- EnforcedStyle: space
592
- SupportedStyles:
593
- - space
594
- - no_space
595
- # 'compact' normally requires a space inside hash braces, with the exception
596
- # that successive left braces or right braces are collapsed together
597
- - compact
598
- EnforcedStyleForEmptyBraces: no_space
599
- SupportedStylesForEmptyBraces:
600
- - space
601
- - no_space
602
-
603
- Layout/SpaceInsideReferenceBrackets:
604
- EnforcedStyle: no_space
605
- SupportedStyles:
606
- - space
607
- - no_space
608
- EnforcedStyleForEmptyBrackets: no_space
609
- SupportedStylesForEmptyBrackets:
610
- - space
611
- - no_space
612
-
613
- Layout/SpaceInsideStringInterpolation:
614
- EnforcedStyle: no_space
615
- SupportedStyles:
616
- - space
617
- - no_space
618
-
619
- Layout/ClassStructure:
620
- Categories:
621
- module_inclusion:
622
- - include
623
- - prepend
624
- - extend
625
- ExpectedOrder:
626
- - module_inclusion
627
- - constants
628
- - public_class_methods
629
- - initializer
630
- - public_methods
631
- - protected_methods
632
- - private_methods
633
-
634
- Layout/Tab:
635
- # By default, the indentation width from Layout/IndentationWidth is used
636
- # But it can be overridden by setting this parameter
637
- # It is used during auto-correction to determine how many spaces should
638
- # replace each tab.
639
- IndentationWidth: ~
640
-
641
- Layout/TrailingBlankLines:
642
- EnforcedStyle: final_newline
643
- SupportedStyles:
644
- - final_newline
645
- - final_blank_line
646
-
647
- #################### Naming ##########################
648
-
649
- Naming/FileName:
650
- # File names listed in `AllCops:Include` are excluded by default. Add extra
651
- # excludes here.
652
- Exclude: []
653
- # When `true`, requires that each source file should define a class or module
654
- # with a name which matches the file name (converted to ... case).
655
- # It further expects it to be nested inside modules which match the names
656
- # of subdirectories in its path.
657
- ExpectMatchingDefinition: false
658
- # If non-`nil`, expect all source file names to match the following regex.
659
- # Only the file name itself is matched, not the entire file path.
660
- # Use anchors as necessary if you want to match the entire name rather than
661
- # just a part of it.
662
- Regex: ~
663
- # With `IgnoreExecutableScripts` set to `true`, this cop does not
664
- # report offending filenames for executable scripts (i.e. source
665
- # files with a shebang in the first line).
666
- IgnoreExecutableScripts: true
667
- AllowedAcronyms:
668
- - CLI
669
- - DSL
670
- - ACL
671
- - API
672
- - ASCII
673
- - CPU
674
- - CSS
675
- - DNS
676
- - EOF
677
- - GUID
678
- - HTML
679
- - HTTP
680
- - HTTPS
681
- - ID
682
- - IP
683
- - JSON
684
- - LHS
685
- - QPS
686
- - RAM
687
- - RHS
688
- - RPC
689
- - SLA
690
- - SMTP
691
- - SQL
692
- - SSH
693
- - TCP
694
- - TLS
695
- - TTL
696
- - UDP
697
- - UI
698
- - UID
699
- - UUID
700
- - URI
701
- - URL
702
- - UTF8
703
- - VM
704
- - XML
705
- - XMPP
706
- - XSRF
707
- - XSS
708
-
709
- Naming/HeredocDelimiterNaming:
710
- Blacklist:
711
- - END
712
- - !ruby/regexp '/EO[A-Z]{1}/'
713
-
714
- Naming/HeredocDelimiterCase:
715
- EnforcedStyle: uppercase
716
- SupportedStyles:
717
- - lowercase
718
- - uppercase
719
-
720
- Naming/MethodName:
721
- EnforcedStyle: snake_case
722
- SupportedStyles:
723
- - snake_case
724
- - camelCase
725
-
726
- Naming/PredicateName:
727
- # Predicate name prefixes.
728
- NamePrefix:
729
- - is_
730
- - has_
731
- - have_
732
- # Predicate name prefixes that should be removed.
733
- NamePrefixBlacklist:
734
- - is_
735
- - has_
736
- - have_
737
- # Predicate names which, despite having a blacklisted prefix, or no `?`,
738
- # should still be accepted
739
- NameWhitelist:
740
- - is_a?
741
- # Method definition macros for dynamically generated methods.
742
- MethodDefinitionMacros:
743
- - define_method
744
- - define_singleton_method
745
- # Exclude Rspec specs because there is a strong convention to write spec
746
- # helpers in the form of `have_something` or `be_something`.
747
- Exclude:
748
- - 'spec/**/*'
749
-
750
- Naming/UncommunicativeBlockParamName:
751
- # Parameter names may be equal to or greater than this value
752
- MinNameLength: 1
753
- AllowNamesEndingInNumbers: true
754
- # Whitelisted names that will not register an offense
755
- AllowedNames: []
756
- # Blacklisted names that will register an offense
757
- ForbiddenNames: []
758
-
759
- Naming/UncommunicativeMethodParamName:
760
- # Parameter names may be equal to or greater than this value
761
- MinNameLength: 3
762
- AllowNamesEndingInNumbers: true
763
- # Whitelisted names that will not register an offense
764
- AllowedNames:
765
- - io
766
- - id
767
- - to
768
- - by
769
- - 'on'
770
- - in
771
- - at
772
- # Blacklisted names that will register an offense
773
- ForbiddenNames: []
774
-
775
- Naming/VariableName:
776
- EnforcedStyle: snake_case
777
- SupportedStyles:
778
- - snake_case
779
- - camelCase
780
-
781
- Naming/VariableNumber:
782
- EnforcedStyle: normalcase
783
- SupportedStyles:
784
- - snake_case
785
- - normalcase
786
- - non_integer
787
-
788
- #################### Style ###########################
789
-
790
- Style/Alias:
791
- EnforcedStyle: prefer_alias
792
- SupportedStyles:
793
- - prefer_alias
794
- - prefer_alias_method
795
-
796
- Style/AndOr:
797
- # Whether `and` and `or` are banned only in conditionals (conditionals)
798
- # or completely (always).
799
- EnforcedStyle: always
800
- SupportedStyles:
801
- - always
802
- - conditionals
803
-
804
- Style/AsciiComments:
805
- AllowedChars: []
806
-
807
- # Checks if usage of `%()` or `%Q()` matches configuration.
808
- Style/BarePercentLiterals:
809
- EnforcedStyle: bare_percent
810
- SupportedStyles:
811
- - percent_q
812
- - bare_percent
813
-
814
- Style/BlockDelimiters:
815
- EnforcedStyle: line_count_based
816
- SupportedStyles:
817
- # The `line_count_based` style enforces braces around single line blocks and
818
- # do..end around multi-line blocks.
819
- - line_count_based
820
- # The `semantic` style enforces braces around functional blocks, where the
821
- # primary purpose of the block is to return a value and do..end for
822
- # procedural blocks, where the primary purpose of the block is its
823
- # side-effects.
824
- #
825
- # This looks at the usage of a block's method to determine its type (e.g. is
826
- # the result of a `map` assigned to a variable or passed to another
827
- # method) but exceptions are permitted in the `ProceduralMethods`,
828
- # `FunctionalMethods` and `IgnoredMethods` sections below.
829
- - semantic
830
- # The `braces_for_chaining` style enforces braces around single line blocks
831
- # and do..end around multi-line blocks, except for multi-line blocks whose
832
- # return value is being chained with another method (in which case braces
833
- # are enforced).
834
- - braces_for_chaining
835
- ProceduralMethods:
836
- # Methods that are known to be procedural in nature but look functional from
837
- # their usage, e.g.
838
- #
839
- # time = Benchmark.realtime do
840
- # foo.bar
841
- # end
842
- #
843
- # Here, the return value of the block is discarded but the return value of
844
- # `Benchmark.realtime` is used.
845
- - benchmark
846
- - bm
847
- - bmbm
848
- - create
849
- - each_with_object
850
- - measure
851
- - new
852
- - realtime
853
- - tap
854
- - with_object
855
- FunctionalMethods:
856
- # Methods that are known to be functional in nature but look procedural from
857
- # their usage, e.g.
858
- #
859
- # let(:foo) { Foo.new }
860
- #
861
- # Here, the return value of `Foo.new` is used to define a `foo` helper but
862
- # doesn't appear to be used from the return value of `let`.
863
- - let
864
- - let!
865
- - subject
866
- - watch
867
- IgnoredMethods:
868
- # Methods that can be either procedural or functional and cannot be
869
- # categorised from their usage alone, e.g.
870
- #
871
- # foo = lambda do |x|
872
- # puts "Hello, #{x}"
873
- # end
874
- #
875
- # foo = lambda do |x|
876
- # x * 100
877
- # end
878
- #
879
- # Here, it is impossible to tell from the return value of `lambda` whether
880
- # the inner block's return value is significant.
881
- - lambda
882
- - proc
883
- - it
884
-
885
- Style/BracesAroundHashParameters:
886
- EnforcedStyle: no_braces
887
- SupportedStyles:
888
- # The `braces` style enforces braces around all method parameters that are
889
- # hashes.
890
- - braces
891
- # The `no_braces` style checks that the last parameter doesn't have braces
892
- # around it.
893
- - no_braces
894
- # The `context_dependent` style checks that the last parameter doesn't have
895
- # braces around it, but requires braces if the second to last parameter is
896
- # also a hash literal.
897
- - context_dependent
898
-
899
- Style/ClassAndModuleChildren:
900
- # Checks the style of children definitions at classes and modules.
901
- #
902
- # Basically there are two different styles:
903
- #
904
- # `nested` - have each child on a separate line
905
- # class Foo
906
- # class Bar
907
- # end
908
- # end
909
- #
910
- # `compact` - combine definitions as much as possible
911
- # class Foo::Bar
912
- # end
913
- #
914
- # The compact style is only forced, for classes or modules with one child.
915
- EnforcedStyle: nested
916
- SupportedStyles:
917
- - nested
918
- - compact
919
-
920
- Style/ClassCheck:
921
- EnforcedStyle: is_a?
922
- SupportedStyles:
923
- - is_a?
924
- - kind_of?
925
-
926
- # Align with the style guide.
927
- Style/CollectionMethods:
928
- # Mapping from undesired method to desired_method
929
- # e.g. to use `detect` over `find`:
930
- #
931
- # CollectionMethods:
932
- # PreferredMethods:
933
- # find: detect
934
- PreferredMethods:
935
- collect: 'map'
936
- collect!: 'map!'
937
- inject: 'reduce'
938
- detect: 'find'
939
- find_all: 'select'
940
-
941
- # Use '`' or '%x' around command literals.
942
- Style/CommandLiteral:
943
- EnforcedStyle: backticks
944
- # backticks: Always use backticks.
945
- # percent_x: Always use `%x`.
946
- # mixed: Use backticks on single-line commands, and `%x` on multi-line commands.
947
- SupportedStyles:
948
- - backticks
949
- - percent_x
950
- - mixed
951
- # If `false`, the cop will always recommend using `%x` if one or more backticks
952
- # are found in the command string.
953
- AllowInnerBackticks: false
954
-
955
- # Checks formatting of special comments
956
- Style/CommentAnnotation:
957
- Keywords:
958
- - TODO
959
- - FIXME
960
- - OPTIMIZE
961
- - HACK
962
- - REVIEW
963
-
964
- Style/ConditionalAssignment:
965
- EnforcedStyle: assign_to_condition
966
- SupportedStyles:
967
- - assign_to_condition
968
- - assign_inside_condition
969
- # When configured to `assign_to_condition`, `SingleLineConditionsOnly`
970
- # will only register an offense when all branches of a condition are
971
- # a single line.
972
- # When configured to `assign_inside_condition`, `SingleLineConditionsOnly`
973
- # will only register an offense for assignment to a condition that has
974
- # at least one multiline branch.
975
- SingleLineConditionsOnly: true
976
- IncludeTernaryExpressions: true
977
-
978
- # Checks that you have put a copyright in a comment before any code.
979
- #
980
- # You can override the default Notice in your .rubocop.yml file.
981
- #
982
- # In order to use autocorrect, you must supply a value for the
983
- # `AutocorrectNotice` key that matches the regexp Notice. A blank
984
- # `AutocorrectNotice` will cause an error during autocorrect.
985
- #
986
- # Autocorrect will add a copyright notice in a comment at the top
987
- # of the file immediately after any shebang or encoding comments.
988
- #
989
- # Example rubocop.yml:
990
- #
991
- # Style/Copyright:
992
- # Enabled: true
993
- # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
994
- # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
995
- #
996
- Style/Copyright:
997
- Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
998
- AutocorrectNotice: ''
999
-
1000
- Style/DocumentationMethod:
1001
- RequireForNonPublicMethods: false
1002
-
1003
- # Warn on empty else statements
1004
- # empty - warn only on empty `else`
1005
- # nil - warn on `else` with nil in it
1006
- # both - warn on empty `else` and `else` with `nil` in it
1007
- Style/EmptyElse:
1008
- EnforcedStyle: both
1009
- SupportedStyles:
1010
- - empty
1011
- - nil
1012
- - both
1013
-
1014
- Style/EmptyMethod:
1015
- EnforcedStyle: compact
1016
- SupportedStyles:
1017
- - compact
1018
- - expanded
1019
-
1020
- # Checks use of for or each in multiline loops.
1021
- Style/For:
1022
- EnforcedStyle: each
1023
- SupportedStyles:
1024
- - each
1025
- - for
1026
-
1027
- # Enforce the method used for string formatting.
1028
- Style/FormatString:
1029
- EnforcedStyle: format
1030
- SupportedStyles:
1031
- - format
1032
- - sprintf
1033
- - percent
1034
-
1035
- # Enforce using either `%<token>s` or `%{token}`
1036
- Style/FormatStringToken:
1037
- EnforcedStyle: annotated
1038
- SupportedStyles:
1039
- # Prefer tokens which contain a sprintf like type annotation like
1040
- # `%<name>s`, `%<age>d`, `%<score>f`
1041
- - annotated
1042
- # Prefer simple looking "template" style tokens like `%{name}`, `%{age}`
1043
- - template
1044
- - unannotated
1045
-
1046
- Style/FrozenStringLiteralComment:
1047
- EnforcedStyle: when_needed
1048
- SupportedStyles:
1049
- # `when_needed` will add the frozen string literal comment to files
1050
- # only when the `TargetRubyVersion` is set to 2.3+.
1051
- - when_needed
1052
- # `always` will always add the frozen string literal comment to a file
1053
- # regardless of the Ruby version or if `freeze` or `<<` are called on a
1054
- # string literal. If you run code against multiple versions of Ruby, it is
1055
- # possible that this will create errors in Ruby 2.3.0+.
1056
- - always
1057
- # `never` will enforce that the frozen string literal comment does not
1058
- # exist in a file.
1059
- - never
1060
-
1061
- # Built-in global variables are allowed by default.
1062
- Style/GlobalVars:
1063
- AllowedVariables: []
1064
-
1065
- # `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
1066
- # needs to have to trigger this cop
1067
- Style/GuardClause:
1068
- MinBodyLength: 1
1069
-
1070
- Style/HashSyntax:
1071
- EnforcedStyle: ruby19
1072
- SupportedStyles:
1073
- # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys
1074
- - ruby19
1075
- # checks for hash rocket syntax for all hashes
1076
- - hash_rockets
1077
- # forbids mixed key syntaxes (e.g. {a: 1, :b => 2})
1078
- - no_mixed_keys
1079
- # enforces both ruby19 and no_mixed_keys styles
1080
- - ruby19_no_mixed_keys
1081
- # Force hashes that have a symbol value to use hash rockets
1082
- UseHashRocketsWithSymbolValues: false
1083
- # Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
1084
- PreferHashRocketsForNonAlnumEndingSymbols: false
1085
-
1086
- Style/InverseMethods:
1087
- # `InverseMethods` are methods that can be inverted by a not (`not` or `!`)
1088
- # The relationship of inverse methods only needs to be defined in one direction.
1089
- # Keys and values both need to be defined as symbols.
1090
- InverseMethods:
1091
- :any?: :none?
1092
- :even?: :odd?
1093
- :==: :!=
1094
- :=~: :!~
1095
- :<: :>=
1096
- :>: :<=
1097
- # `ActiveSupport` defines some common inverse methods. They are listed below,
1098
- # and not enabled by default.
1099
- #:present?: :blank?,
1100
- #:include?: :exclude?
1101
- # `InverseBlocks` are methods that are inverted by inverting the return
1102
- # of the block that is passed to the method
1103
- InverseBlocks:
1104
- :select: :reject
1105
- :select!: :reject!
1106
-
1107
- Style/Lambda:
1108
- EnforcedStyle: line_count_dependent
1109
- SupportedStyles:
1110
- - line_count_dependent
1111
- - lambda
1112
- - literal
1113
-
1114
- Style/LambdaCall:
1115
- EnforcedStyle: call
1116
- SupportedStyles:
1117
- - call
1118
- - braces
1119
-
1120
- Style/MethodCallWithArgsParentheses:
1121
- IgnoreMacros: true
1122
- IgnoredMethods: []
1123
-
1124
- Style/MethodDefParentheses:
1125
- EnforcedStyle: require_parentheses
1126
- SupportedStyles:
1127
- - require_parentheses
1128
- - require_no_parentheses
1129
- - require_no_parentheses_except_multiline
1130
-
1131
- Style/MissingElse:
1132
- EnforcedStyle: both
1133
- SupportedStyles:
1134
- # if - warn when an if expression is missing an else branch
1135
- # case - warn when a case expression is missing an else branch
1136
- # both - warn when an if or case expression is missing an else branch
1137
- - if
1138
- - case
1139
- - both
1140
-
1141
- # Checks the grouping of mixins (`include`, `extend`, `prepend`) in `class` and
1142
- # `module` bodies.
1143
- Style/MixinGrouping:
1144
- EnforcedStyle: separated
1145
- SupportedStyles:
1146
- # separated: each mixed in module goes in a separate statement.
1147
- # grouped: mixed in modules are grouped into a single statement.
1148
- - separated
1149
- - grouped
1150
-
1151
- Style/ModuleFunction:
1152
- EnforcedStyle: module_function
1153
- SupportedStyles:
1154
- - module_function
1155
- - extend_self
1156
-
1157
- Style/MultilineMemoization:
1158
- EnforcedStyle: keyword
1159
- SupportedStyles:
1160
- - keyword
1161
- - braces
1162
-
1163
- Style/NegatedIf:
1164
- EnforcedStyle: both
1165
- SupportedStyles:
1166
- # both: prefix and postfix negated `if` should both use `unless`
1167
- # prefix: only use `unless` for negated `if` statements positioned before the body of the statement
1168
- # postfix: only use `unless` for negated `if` statements positioned after the body of the statement
1169
- - both
1170
- - prefix
1171
- - postfix
1172
-
1173
- Style/NestedParenthesizedCalls:
1174
- Whitelist:
1175
- - be
1176
- - be_a
1177
- - be_an
1178
- - be_between
1179
- - be_falsey
1180
- - be_kind_of
1181
- - be_instance_of
1182
- - be_truthy
1183
- - be_within
1184
- - eq
1185
- - eql
1186
- - end_with
1187
- - include
1188
- - match
1189
- - raise_error
1190
- - respond_to
1191
- - start_with
1192
-
1193
- Style/Next:
1194
- # With `always` all conditions at the end of an iteration needs to be
1195
- # replaced by next - with `skip_modifier_ifs` the modifier if like this one
1196
- # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
1197
- EnforcedStyle: skip_modifier_ifs
1198
- # `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
1199
- # needs to have to trigger this cop
1200
- MinBodyLength: 3
1201
- SupportedStyles:
1202
- - skip_modifier_ifs
1203
- - always
1204
-
1205
- Style/NonNilCheck:
1206
- # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
1207
- # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
1208
- # **usually** OK, but might change behavior.
1209
- #
1210
- # With `IncludeSemanticChanges` set to `false`, this cop does not report
1211
- # offenses for `!x.nil?` and does no changes that might change behavior.
1212
- IncludeSemanticChanges: false
1213
-
1214
- Style/NumericLiterals:
1215
- MinDigits: 5
1216
- Strict: false
1217
-
1218
- Style/NumericLiteralPrefix:
1219
- EnforcedOctalStyle: zero_with_o
1220
- SupportedOctalStyles:
1221
- - zero_with_o
1222
- - zero_only
1223
-
1224
- Style/NumericPredicate:
1225
- EnforcedStyle: predicate
1226
- SupportedStyles:
1227
- - predicate
1228
- - comparison
1229
- # Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
1230
- # false positives.
1231
- Exclude:
1232
- - 'spec/**/*'
1233
-
1234
- Style/OptionHash:
1235
- # A list of parameter names that will be flagged by this cop.
1236
- SuspiciousParamNames:
1237
- - options
1238
- - opts
1239
- - args
1240
- - params
1241
- - parameters
1242
-
1243
- # Allow safe assignment in conditions.
1244
- Style/ParenthesesAroundCondition:
1245
- AllowSafeAssignment: true
1246
-
1247
- Style/PercentLiteralDelimiters:
1248
- # Specify the default preferred delimiter for all types with the 'default' key
1249
- # Override individual delimiters (even with default specified) by specifying
1250
- # an individual key
1251
- PreferredDelimiters:
1252
- default: ()
1253
- '%i': '[]'
1254
- '%I': '[]'
1255
- '%r': '{}'
1256
- '%w': '[]'
1257
- '%W': '[]'
1258
-
1259
- Style/PercentQLiterals:
1260
- EnforcedStyle: lower_case_q
1261
- SupportedStyles:
1262
- - lower_case_q # Use `%q` when possible, `%Q` when necessary
1263
- - upper_case_q # Always use `%Q`
1264
-
1265
- Style/PreferredHashMethods:
1266
- EnforcedStyle: short
1267
- SupportedStyles:
1268
- - short
1269
- - verbose
1270
-
1271
- Style/RaiseArgs:
1272
- EnforcedStyle: exploded
1273
- SupportedStyles:
1274
- - compact # raise Exception.new(msg)
1275
- - exploded # raise Exception, msg
1276
-
1277
- Style/RedundantReturn:
1278
- # When `true` allows code like `return x, y`.
1279
- AllowMultipleReturnValues: false
1280
-
1281
- # Use `/` or `%r` around regular expressions.
1282
- Style/RegexpLiteral:
1283
- EnforcedStyle: slashes
1284
- # slashes: Always use slashes.
1285
- # percent_r: Always use `%r`.
1286
- # mixed: Use slashes on single-line regexes, and `%r` on multi-line regexes.
1287
- SupportedStyles:
1288
- - slashes
1289
- - percent_r
1290
- - mixed
1291
- # If `false`, the cop will always recommend using `%r` if one or more slashes
1292
- # are found in the regexp string.
1293
- AllowInnerSlashes: false
1294
-
1295
- Style/RescueStandardError:
1296
- EnforcedStyle: explicit
1297
- # implicit: Do not include the error class, `rescue`
1298
- # explicit: Require an error class `rescue StandardError`
1299
- SupportedStyles:
1300
- - implicit
1301
- - explicit
1302
-
1303
- Style/ReturnNil:
1304
- EnforcedStyle: return
1305
- SupportedStyles:
1306
- - return
1307
- - return_nil
1308
-
1309
- Style/SafeNavigation:
1310
- # Safe navigation may cause a statement to start returning `nil` in addition
1311
- # to whatever it used to return.
1312
- ConvertCodeThatCanStartToReturnNil: false
1313
- Whitelist:
1314
- - present?
1315
- - blank?
1316
- - presence
1317
- - try
1318
-
1319
- Style/Semicolon:
1320
- # Allow `;` to separate several expressions on the same line.
1321
- AllowAsExpressionSeparator: false
1322
-
1323
- Style/SignalException:
1324
- EnforcedStyle: only_raise
1325
- SupportedStyles:
1326
- - only_raise
1327
- - only_fail
1328
- - semantic
1329
-
1330
- Style/SingleLineBlockParams:
1331
- Methods:
1332
- - reduce:
1333
- - acc
1334
- - elem
1335
- - inject:
1336
- - acc
1337
- - elem
1338
-
1339
- Style/SingleLineMethods:
1340
- AllowIfMethodIsEmpty: true
1341
-
1342
- Style/SpecialGlobalVars:
1343
- EnforcedStyle: use_english_names
1344
- SupportedStyles:
1345
- - use_perl_names
1346
- - use_english_names
1347
-
1348
- Style/StabbyLambdaParentheses:
1349
- EnforcedStyle: require_parentheses
1350
- SupportedStyles:
1351
- - require_parentheses
1352
- - require_no_parentheses
1353
-
1354
- Style/StringLiterals:
1355
- EnforcedStyle: single_quotes
1356
- SupportedStyles:
1357
- - single_quotes
1358
- - double_quotes
1359
- # If `true`, strings which span multiple lines using `\` for continuation must
1360
- # use the same type of quotes on each line.
1361
- ConsistentQuotesInMultiline: false
1362
-
1363
- Style/StringLiteralsInInterpolation:
1364
- EnforcedStyle: single_quotes
1365
- SupportedStyles:
1366
- - single_quotes
1367
- - double_quotes
1368
-
1369
- Style/StringMethods:
1370
- # Mapping from undesired method to desired_method
1371
- # e.g. to use `to_sym` over `intern`:
1372
- #
1373
- # StringMethods:
1374
- # PreferredMethods:
1375
- # intern: to_sym
1376
- PreferredMethods:
1377
- intern: to_sym
1378
-
1379
- Style/SymbolArray:
1380
- EnforcedStyle: percent
1381
- MinSize: 0
1382
- SupportedStyles:
1383
- - percent
1384
- - brackets
1385
-
1386
- Style/SymbolProc:
1387
- # A list of method names to be ignored by the check.
1388
- # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
1389
- IgnoredMethods:
1390
- - respond_to
1391
- - define_method
1392
-
1393
- Style/TernaryParentheses:
1394
- EnforcedStyle: require_no_parentheses
1395
- SupportedStyles:
1396
- - require_parentheses
1397
- - require_no_parentheses
1398
- - require_parentheses_when_complex
1399
- AllowSafeAssignment: true
1400
-
1401
- Style/TrailingCommaInArguments:
1402
- # If `comma`, the cop requires a comma after the last argument, but only for
1403
- # parenthesized method calls where each argument is on its own line.
1404
- # If `consistent_comma`, the cop requires a comma after the last argument,
1405
- # for all parenthesized method calls with arguments.
1406
- EnforcedStyleForMultiline: no_comma
1407
- SupportedStylesForMultiline:
1408
- - comma
1409
- - consistent_comma
1410
- - no_comma
1411
-
1412
- Style/TrailingCommaInArrayLiteral:
1413
- # If `comma`, the cop requires a comma after the last item in an array,
1414
- # but only when each item is on its own line.
1415
- # If `consistent_comma`, the cop requires a comma after the last item of all
1416
- # non-empty array literals.
1417
- EnforcedStyleForMultiline: no_comma
1418
- SupportedStylesForMultiline:
1419
- - comma
1420
- - consistent_comma
1421
- - no_comma
1422
-
1423
- Style/TrailingCommaInHashLiteral:
1424
- # If `comma`, the cop requires a comma after the last item in a hash,
1425
- # but only when each item is on its own line.
1426
- # If `consistent_comma`, the cop requires a comma after the last item of all
1427
- # non-empty hash literals.
1428
- EnforcedStyleForMultiline: no_comma
1429
- SupportedStylesForMultiline:
1430
- - comma
1431
- - consistent_comma
1432
- - no_comma
1433
-
1434
- # `TrivialAccessors` requires exact name matches and doesn't allow
1435
- # predicated methods by default.
1436
- Style/TrivialAccessors:
1437
- # When set to `false` the cop will suggest the use of accessor methods
1438
- # in situations like:
1439
- #
1440
- # def name
1441
- # @other_name
1442
- # end
1443
- #
1444
- # This way you can uncover "hidden" attributes in your code.
1445
- ExactNameMatch: true
1446
- AllowPredicates: true
1447
- # Allows trivial writers that don't end in an equal sign. e.g.
1448
- #
1449
- # def on_exception(action)
1450
- # @on_exception=action
1451
- # end
1452
- # on_exception :restart
1453
- #
1454
- # Commonly used in DSLs
1455
- AllowDSLWriters: false
1456
- IgnoreClassMethods: false
1457
- Whitelist:
1458
- - to_ary
1459
- - to_a
1460
- - to_c
1461
- - to_enum
1462
- - to_h
1463
- - to_hash
1464
- - to_i
1465
- - to_int
1466
- - to_io
1467
- - to_open
1468
- - to_path
1469
- - to_proc
1470
- - to_r
1471
- - to_regexp
1472
- - to_str
1473
- - to_s
1474
- - to_sym
1475
-
1476
- # `WordArray` enforces how array literals of word-like strings should be expressed.
1477
- Style/WordArray:
1478
- EnforcedStyle: percent
1479
- SupportedStyles:
1480
- # percent style: %w(word1 word2)
1481
- - percent
1482
- # bracket style: ['word1', 'word2']
1483
- - brackets
1484
- # The `MinSize` option causes the `WordArray` rule to be ignored for arrays
1485
- # smaller than a certain size. The rule is only applied to arrays
1486
- # whose element count is greater than or equal to `MinSize`.
1487
- MinSize: 0
1488
- # The regular expression `WordRegex` decides what is considered a word.
1489
- WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'
1490
-
1491
- Style/YodaCondition:
1492
- EnforcedStyle: all_comparison_operators
1493
- SupportedStyles:
1494
- # check all comparison operators
1495
- - all_comparison_operators
1496
- # check only equality operators: `!=` and `==`
1497
- - equality_operators_only
1498
-
1499
- #################### Metrics ###############################
1500
-
1501
- Metrics/AbcSize:
1502
- # The ABC size is a calculated magnitude, so this number can be an Integer or
1503
- # a Float.
1504
- Max: 15
1505
-
1506
- Metrics/BlockLength:
1507
- CountComments: false # count full line comments?
1508
- Max: 25
1509
- ExcludedMethods: []
1510
-
1511
- Metrics/BlockNesting:
1512
- CountBlocks: false
1513
- Max: 3
1514
-
1515
- Metrics/ClassLength:
1516
- CountComments: false # count full line comments?
1517
- Max: 100
1518
-
1519
- # Avoid complex methods.
1520
- Metrics/CyclomaticComplexity:
1521
- Max: 6
1522
-
1523
- Metrics/LineLength:
1524
- Max: 80
1525
- # To make it possible to copy or click on URIs in the code, we allow lines
1526
- # containing a URI to be longer than Max.
1527
- AllowHeredoc: true
1528
- AllowURI: true
1529
- URISchemes:
1530
- - http
1531
- - https
1532
- # The IgnoreCopDirectives option causes the LineLength rule to ignore cop
1533
- # directives like '# rubocop: enable ...' when calculating a line's length.
1534
- IgnoreCopDirectives: false
1535
- # The IgnoredPatterns option is a list of !ruby/regexp and/or string
1536
- # elements. Strings will be converted to Regexp objects. A line that matches
1537
- # any regular expression listed in this option will be ignored by LineLength.
1538
- IgnoredPatterns: []
1539
-
1540
- Metrics/MethodLength:
1541
- CountComments: false # count full line comments?
1542
- Max: 10
1543
-
1544
- Metrics/ModuleLength:
1545
- CountComments: false # count full line comments?
1546
- Max: 100
1547
-
1548
- Metrics/ParameterLists:
1549
- Max: 5
1550
- CountKeywordArgs: true
1551
-
1552
- Metrics/PerceivedComplexity:
1553
- Max: 7
1554
-
1555
- #################### Lint ##################################
1556
-
1557
- # Allow safe assignment in conditions.
1558
- Lint/AssignmentInCondition:
1559
- AllowSafeAssignment: true
1560
-
1561
- Lint/InheritException:
1562
- # The default base class in favour of `Exception`.
1563
- EnforcedStyle: runtime_error
1564
- SupportedStyles:
1565
- - runtime_error
1566
- - standard_error
1567
-
1568
- Lint/MissingCopEnableDirective:
1569
- # Maximum number of consecutive lines the cop can be disabled for.
1570
- # 0 allows only single-line disables
1571
- # 1 would mean the maximum allowed is the following:
1572
- # # rubocop:disable SomeCop
1573
- # a = 1
1574
- # # rubocop:enable SomeCop
1575
- # .inf for any size
1576
- MaximumRangeSize: .inf
1577
-
1578
- Lint/SafeNavigationChain:
1579
- Whitelist:
1580
- - present?
1581
- - blank?
1582
- - presence
1583
- - try
1584
-
1585
- # Checks for shadowed arguments
1586
- Lint/ShadowedArgument:
1587
- IgnoreImplicitReferences: false
1588
-
1589
- # Checks for unused block arguments
1590
- Lint/UnusedBlockArgument:
1591
- IgnoreEmptyBlocks: true
1592
- AllowUnusedKeywordArguments: false
1593
-
1594
- # Checks for unused method arguments.
1595
- Lint/UnusedMethodArgument:
1596
- AllowUnusedKeywordArguments: false
1597
- IgnoreEmptyMethods: true
1598
-
1599
- Lint/Void:
1600
- CheckForMethodsWithNoSideEffects: false
1601
-
1602
- #################### Performance ###########################
1603
-
1604
- Performance/DoubleStartEndWith:
1605
- # Used to check for `starts_with?` and `ends_with?`.
1606
- # These methods are defined by `ActiveSupport`.
1607
- IncludeActiveSupportAliases: false
1608
-
1609
- Performance/RedundantMerge:
1610
- # Max number of key-value pairs to consider an offense
1611
- MaxKeyValuePairs: 2
1612
-
1613
- #################### Rails #################################
1614
-
1615
- Rails/ActionFilter:
1616
- EnforcedStyle: action
1617
- SupportedStyles:
1618
- - action
1619
- - filter
1620
- Include:
1621
- - app/controllers/**/*.rb
1622
-
1623
- Rails/CreateTableWithTimestamps:
1624
- Include:
1625
- - db/migrate/*.rb
1626
-
1627
- Rails/Date:
1628
- # The value `strict` disallows usage of `Date.today`, `Date.current`,
1629
- # `Date#to_time` etc.
1630
- # The value `flexible` allows usage of `Date.current`, `Date.yesterday`, etc
1631
- # (but not `Date.today`) which are overridden by ActiveSupport to handle current
1632
- # time zone.
1633
- EnforcedStyle: flexible
1634
- SupportedStyles:
1635
- - strict
1636
- - flexible
1637
-
1638
- Rails/Delegate:
1639
- # When set to true, using the target object as a prefix of the
1640
- # method name without using the `delegate` method will be a
1641
- # violation. When set to false, this case is legal.
1642
- EnforceForPrefixed: true
1643
-
1644
- Rails/DynamicFindBy:
1645
- Whitelist:
1646
- - find_by_sql
1647
-
1648
- Rails/EnumUniqueness:
1649
- Include:
1650
- - app/models/**/*.rb
1651
-
1652
- Rails/Exit:
1653
- Include:
1654
- - app/**/*.rb
1655
- - config/**/*.rb
1656
- - lib/**/*.rb
1657
- Exclude:
1658
- - lib/**/*.rake
1659
-
1660
- Rails/FindBy:
1661
- Include:
1662
- - app/models/**/*.rb
1663
-
1664
- Rails/FindEach:
1665
- Include:
1666
- - app/models/**/*.rb
1667
-
1668
- Rails/HasAndBelongsToMany:
1669
- Include:
1670
- - app/models/**/*.rb
1671
-
1672
- Rails/HasManyOrHasOneDependent:
1673
- Include:
1674
- - app/models/**/*.rb
1675
-
1676
- Rails/HttpStatus:
1677
- EnforcedStyle: symbolic
1678
- SupportedStyles:
1679
- - numeric
1680
- - symbolic
1681
-
1682
- Rails/InverseOf:
1683
- Include:
1684
- - app/models/**/*.rb
1685
-
1686
- Rails/LexicallyScopedActionFilter:
1687
- Include:
1688
- - app/controllers/**/*.rb
1689
-
1690
- Rails/NotNullColumn:
1691
- Include:
1692
- - db/migrate/*.rb
1693
-
1694
- Rails/Output:
1695
- Include:
1696
- - app/**/*.rb
1697
- - config/**/*.rb
1698
- - db/**/*.rb
1699
- - lib/**/*.rb
1700
-
1701
- Rails/ReadWriteAttribute:
1702
- Include:
1703
- - app/models/**/*.rb
1704
-
1705
- Rails/RequestReferer:
1706
- EnforcedStyle: referer
1707
- SupportedStyles:
1708
- - referer
1709
- - referrer
1710
-
1711
- Rails/ReversibleMigration:
1712
- Include:
1713
- - db/migrate/*.rb
1714
-
1715
- Rails/SafeNavigation:
1716
- # This will convert usages of `try` to use safe navigation as well as `try!`.
1717
- # `try` and `try!` work slightly differently. `try!` and safe navigation will
1718
- # both raise a `NoMethodError` if the receiver of the method call does not
1719
- # implement the intended method. `try` will not raise an exception for this.
1720
- ConvertTry: false
1721
-
1722
- Rails/ScopeArgs:
1723
- Include:
1724
- - app/models/**/*.rb
1725
-
1726
- Rails/TimeZone:
1727
- # The value `strict` means that `Time` should be used with `zone`.
1728
- # The value `flexible` allows usage of `in_time_zone` instead of `zone`.
1729
- EnforcedStyle: flexible
1730
- SupportedStyles:
1731
- - strict
1732
- - flexible
1733
-
1734
- Rails/UniqBeforePluck:
1735
- EnforcedStyle: conservative
1736
- SupportedStyles:
1737
- - conservative
1738
- - aggressive
1739
- AutoCorrect: false
1740
-
1741
- Rails/UnknownEnv:
1742
- Environments:
1743
- - development
1744
- - test
1745
- - production
1746
-
1747
- Rails/SkipsModelValidations:
1748
- Blacklist:
1749
- - decrement!
1750
- - decrement_counter
1751
- - increment!
1752
- - increment_counter
1753
- - toggle!
1754
- - touch
1755
- - update_all
1756
- - update_attribute
1757
- - update_column
1758
- - update_columns
1759
- - update_counters
1760
-
1761
- Rails/Validation:
1762
- Include:
1763
- - app/models/**/*.rb
1764
-
1765
- Bundler/OrderedGems:
1766
- TreatCommentsAsGroupSeparators: true
1767
-
1768
- Gemspec/OrderedDependencies:
1769
- TreatCommentsAsGroupSeparators: true