generapp 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1631 @@
1
+ Style/AccessModifierIndentation:
2
+ Description: Check indentation of private/protected visibility modifiers.
3
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
4
+ Enabled: true
5
+ Style/AccessorMethodName:
6
+ Description: Check the naming of accessor methods for get_/set_.
7
+ Enabled: true
8
+ Style/Alias:
9
+ Description: 'Use alias_method instead of alias.'
10
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
11
+ Enabled: true
12
+ Style/AlignArray:
13
+ Description: >-
14
+ Align the elements of an array literal if they span more than
15
+ one line.
16
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
17
+ Enabled: true
18
+ Style/AlignHash:
19
+ Description: >-
20
+ Align the elements of a hash literal if they span more than
21
+ one line.
22
+ Enabled: true
23
+ Style/AlignParameters:
24
+ Description: >-
25
+ Align the parameters of a method call if they span more
26
+ than one line.
27
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
28
+ Enabled: true
29
+ Style/AndOr:
30
+ Description: 'Use &&/|| instead of and/or.'
31
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
32
+ Enabled: true
33
+ Style/ArrayJoin:
34
+ Description: 'Use Array#join instead of Array#*.'
35
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
36
+ Enabled: true
37
+ Style/AsciiComments:
38
+ Description: 'Use only ascii symbols in comments.'
39
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
40
+ Enabled: true
41
+ Style/AsciiIdentifiers:
42
+ Description: 'Use only ascii symbols in identifiers.'
43
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
44
+ Enabled: true
45
+ Style/Attr:
46
+ Description: 'Checks for uses of Module#attr.'
47
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
48
+ Enabled: true
49
+ Style/BeginBlock:
50
+ Description: 'Avoid the use of BEGIN blocks.'
51
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
52
+ Enabled: true
53
+ Style/BarePercentLiterals:
54
+ Description: 'Checks if usage of %() or %Q() matches configuration.'
55
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
56
+ Enabled: true
57
+ Style/BlockComments:
58
+ Description: 'Do not use block comments.'
59
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
60
+ Enabled: true
61
+ Style/BlockEndNewline:
62
+ Description: 'Put end statement of multiline block on its own line.'
63
+ Enabled: true
64
+ Style/BlockDelimiters:
65
+ Description: >-
66
+ Avoid using {...} for multi-line blocks (multiline chaining is
67
+ always ugly).
68
+ Prefer {...} over do...end for single-line blocks.
69
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
70
+ Enabled: true
71
+ Style/BracesAroundHashParameters:
72
+ Description: 'Enforce braces style around hash parameters.'
73
+ Enabled: true
74
+ Style/CaseEquality:
75
+ Description: 'Avoid explicit use of the case equality operator(===).'
76
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
77
+ Enabled: true
78
+ Style/CaseIndentation:
79
+ Description: 'Indentation of when in a case/when/[else/]end.'
80
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
81
+ Enabled: true
82
+ Style/CharacterLiteral:
83
+ Description: 'Checks for uses of character literals.'
84
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
85
+ Enabled: true
86
+ Style/ClassAndModuleCamelCase:
87
+ Description: 'Use CamelCase for classes and modules.'
88
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
89
+ Enabled: true
90
+ Style/ClassAndModuleChildren:
91
+ Description: 'Checks style of children classes and modules.'
92
+ Enabled: true
93
+ Style/ClassCheck:
94
+ Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
95
+ Enabled: true
96
+ Style/ClassMethods:
97
+ Description: 'Use self when defining module/class methods.'
98
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
99
+ Enabled: true
100
+ Style/ClassVars:
101
+ Description: 'Avoid the use of class variables.'
102
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
103
+ Enabled: true
104
+ Style/ClosingParenthesisIndentation:
105
+ Description: 'Checks the indentation of hanging closing parentheses.'
106
+ Enabled: true
107
+ Style/ColonMethodCall:
108
+ Description: 'Do not use :: for method call.'
109
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
110
+ Enabled: true
111
+ Style/CommandLiteral:
112
+ Description: 'Use `` or %x around command literals.'
113
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
114
+ Enabled: true
115
+ Style/CommentAnnotation:
116
+ Description: >-
117
+ Checks formatting of special comments
118
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
119
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
120
+ Enabled: true
121
+ Style/CommentIndentation:
122
+ Description: 'Indentation of comments.'
123
+ Enabled: true
124
+ Style/ConditionalAssignment:
125
+ Description: >-
126
+ Use the return value of `if` and `case` statements for
127
+ assignment to a variable and variable comparison instead
128
+ of assigning that variable inside of each branch.
129
+ Enabled: true
130
+ SingleLineConditionsOnly: true
131
+ Style/ConstantName:
132
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
133
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
134
+ Enabled: true
135
+ Style/DefWithParentheses:
136
+ Description: 'Use def with parentheses when there are arguments.'
137
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
138
+ Enabled: true
139
+ Style/DeprecatedHashMethods:
140
+ Description: 'Checks for use of deprecated Hash methods.'
141
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
142
+ Enabled: true
143
+ Style/Documentation:
144
+ Description: 'Document classes and non-namespace modules.'
145
+ Enabled: true
146
+ Exclude:
147
+ - 'spec/**/*'
148
+ - 'test/**/*'
149
+ Style/DotPosition:
150
+ Description: 'Checks the position of the dot in multi-line method calls.'
151
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
152
+ Enabled: true
153
+ Style/DoubleNegation:
154
+ Description: 'Checks for uses of double negation (!!).'
155
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
156
+ Enabled: true
157
+ Style/EachWithObject:
158
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
159
+ Enabled: true
160
+ Style/ElseAlignment:
161
+ Description: 'Align elses and elsifs correctly.'
162
+ Enabled: true
163
+ Style/EmptyElse:
164
+ Description: 'Avoid empty else-clauses.'
165
+ Enabled: true
166
+ Style/EmptyLineBetweenDefs:
167
+ Description: 'Use empty lines between defs.'
168
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
169
+ Enabled: true
170
+ Style/EmptyLines:
171
+ Description: "Don't use several empty lines in a row."
172
+ Enabled: true
173
+ Style/EmptyLinesAroundAccessModifier:
174
+ Description: "Keep blank lines around access modifiers."
175
+ Enabled: true
176
+ Style/EmptyLinesAroundBlockBody:
177
+ Description: "Keeps track of empty lines around block bodies."
178
+ Enabled: true
179
+ Style/EmptyLinesAroundClassBody:
180
+ Description: "Keeps track of empty lines around class bodies."
181
+ Enabled: true
182
+ Style/EmptyLinesAroundModuleBody:
183
+ Description: "Keeps track of empty lines around module bodies."
184
+ Enabled: true
185
+ Style/EmptyLinesAroundMethodBody:
186
+ Description: "Keeps track of empty lines around method bodies."
187
+ Enabled: true
188
+ Style/EmptyLiteral:
189
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
190
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
191
+ Enabled: true
192
+ Style/EndBlock:
193
+ Description: 'Avoid the use of END blocks.'
194
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
195
+ Enabled: true
196
+ Style/EndOfLine:
197
+ Description: 'Use Unix-style line endings.'
198
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
199
+ Enabled: true
200
+ Style/EvenOdd:
201
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
202
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
203
+ Enabled: true
204
+ Style/ExtraSpacing:
205
+ Description: 'Do not use unnecessary spacing.'
206
+ Enabled: true
207
+ Style/FileName:
208
+ Description: 'Use snake_case for source file names.'
209
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
210
+ Enabled: true
211
+ Style/FrozenStringLiteralComment:
212
+ Description: >-
213
+ Add the frozen_string_literal comment to the top of files
214
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
215
+ Enabled: true
216
+ Style/InitialIndentation:
217
+ Description: >-
218
+ Checks the indentation of the first non-blank non-comment line in a file.
219
+ Enabled: true
220
+ Style/FirstParameterIndentation:
221
+ Description: 'Checks the indentation of the first parameter in a method call.'
222
+ Enabled: true
223
+ Style/FlipFlop:
224
+ Description: 'Checks for flip flops'
225
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
226
+ Enabled: true
227
+ Style/For:
228
+ Description: 'Checks use of for or each in multiline loops.'
229
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
230
+ Enabled: true
231
+ Style/FormatString:
232
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
233
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
234
+ Enabled: true
235
+ Style/GlobalVars:
236
+ Description: 'Do not introduce global variables.'
237
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
238
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
239
+ Enabled: true
240
+ Style/GuardClause:
241
+ Description: 'Check for conditionals that can be replaced with guard clauses'
242
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
243
+ Enabled: true
244
+ Style/HashSyntax:
245
+ Description: >-
246
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
247
+ { :a => 1, :b => 2 }.
248
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
249
+ Enabled: true
250
+ Style/IfInsideElse:
251
+ Description: 'Finds if nodes inside else, which can be converted to elsif.'
252
+ Enabled: true
253
+ Style/IfUnlessModifier:
254
+ Description: >-
255
+ Favor modifier if/unless usage when you have a
256
+ single-line body.
257
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
258
+ Enabled: true
259
+ Style/IfWithSemicolon:
260
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
261
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
262
+ Enabled: true
263
+ Style/IndentationConsistency:
264
+ Description: 'Keep indentation straight.'
265
+ Enabled: true
266
+ Style/IndentationWidth:
267
+ Description: 'Use 2 spaces for indentation.'
268
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
269
+ Enabled: true
270
+ Style/IdenticalConditionalBranches:
271
+ Description: >-
272
+ Checks that conditional statements do not have an identical
273
+ line at the end of each branch, which can validly be moved
274
+ out of the conditional.
275
+ Enabled: true
276
+ Style/IndentArray:
277
+ Description: >-
278
+ Checks the indentation of the first element in an array
279
+ literal.
280
+ Enabled: true
281
+ Style/IndentAssignment:
282
+ Description: >-
283
+ Checks the indentation of the first line of the
284
+ right-hand-side of a multi-line assignment.
285
+ Enabled: true
286
+ Style/IndentHash:
287
+ Description: 'Checks the indentation of the first key in a hash literal.'
288
+ Enabled: true
289
+ Style/InfiniteLoop:
290
+ Description: 'Use Kernel#loop for infinite loops.'
291
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
292
+ Enabled: true
293
+ Style/Lambda:
294
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
295
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
296
+ Enabled: true
297
+ Style/LambdaCall:
298
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
299
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
300
+ Enabled: true
301
+ Style/LeadingCommentSpace:
302
+ Description: 'Comments should start with a space.'
303
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
304
+ Enabled: true
305
+ Style/LineEndConcatenation:
306
+ Description: >-
307
+ Use \ instead of + or << to concatenate two string literals at
308
+ line end.
309
+ Enabled: true
310
+ Style/MethodCallParentheses:
311
+ Description: 'Do not use parentheses for method calls with no arguments.'
312
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
313
+ Enabled: true
314
+ Style/MethodDefParentheses:
315
+ Description: >-
316
+ Checks if the method definitions have or don't have
317
+ parentheses.
318
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
319
+ Enabled: true
320
+ Style/MethodName:
321
+ Description: 'Use the configured style when naming methods.'
322
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
323
+ Enabled: true
324
+ Style/ModuleFunction:
325
+ Description: 'Checks for usage of `extend self` in modules.'
326
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
327
+ Enabled: true
328
+ Style/MultilineBlockChain:
329
+ Description: 'Avoid multi-line chains of blocks.'
330
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
331
+ Enabled: true
332
+ Style/MultilineBlockLayout:
333
+ Description: 'Ensures newlines after multiline block do statements.'
334
+ Enabled: true
335
+ Style/MultilineIfThen:
336
+ Description: 'Do not use then for multi-line if/unless.'
337
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
338
+ Enabled: true
339
+ Style/MultilineMethodCallIndentation:
340
+ Description: >-
341
+ Checks indentation of method calls with the dot operator
342
+ that span more than one line.
343
+ Enabled: true
344
+ Style/MultilineOperationIndentation:
345
+ Description: >-
346
+ Checks indentation of binary operations that span more than
347
+ one line.
348
+ Enabled: true
349
+ Style/MultilineTernaryOperator:
350
+ Description: >-
351
+ Avoid multi-line ?: (the ternary operator);
352
+ use if/unless instead.
353
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
354
+ Enabled: true
355
+ Style/MutableConstant:
356
+ Description: 'Do not assign mutable objects to constants.'
357
+ Enabled: true
358
+ Style/NegatedIf:
359
+ Description: >-
360
+ Favor unless over if for negative conditions
361
+ (or control flow or).
362
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
363
+ Enabled: true
364
+ Style/NegatedWhile:
365
+ Description: 'Favor until over while for negative conditions.'
366
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
367
+ Enabled: true
368
+ Style/NestedModifier:
369
+ Description: 'Avoid using nested modifiers.'
370
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-modifiers'
371
+ Enabled: true
372
+ Style/NestedParenthesizedCalls:
373
+ Description: >-
374
+ Parenthesize method calls which are nested inside the
375
+ argument list of another parenthesized method call.
376
+ Enabled: true
377
+ Style/NestedTernaryOperator:
378
+ Description: 'Use one expression per branch in a ternary operator.'
379
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
380
+ Enabled: true
381
+ Style/Next:
382
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
383
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
384
+ Enabled: true
385
+ Style/NilComparison:
386
+ Description: 'Prefer x.nil? to x == nil.'
387
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
388
+ Enabled: true
389
+ Style/NonNilCheck:
390
+ Description: 'Checks for redundant nil checks.'
391
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
392
+ Enabled: true
393
+ Style/Not:
394
+ Description: 'Use ! instead of not.'
395
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
396
+ Enabled: true
397
+ Style/NumericLiterals:
398
+ Description: >-
399
+ Add underscores to large numeric literals to improve their
400
+ readability.
401
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
402
+ Enabled: true
403
+ Style/OneLineConditional:
404
+ Description: >-
405
+ Favor the ternary operator(?:) over
406
+ if/then/else/end constructs.
407
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
408
+ Enabled: true
409
+ Style/OpMethod:
410
+ Description: 'When defining binary operators, name the argument other.'
411
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
412
+ Enabled: true
413
+ Style/OptionalArguments:
414
+ Description: >-
415
+ Checks for optional arguments that do not appear at the end
416
+ of the argument list
417
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
418
+ Enabled: true
419
+ Style/ParallelAssignment:
420
+ Description: >-
421
+ Check for simple usages of parallel assignment.
422
+ It will only warn when the number of variables
423
+ matches on both sides of the assignment.
424
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
425
+ Enabled: true
426
+ Style/ParenthesesAroundCondition:
427
+ Description: >-
428
+ Don't use parentheses around the condition of an
429
+ if/unless/while.
430
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
431
+ Enabled: true
432
+ Style/PercentLiteralDelimiters:
433
+ Description: 'Use `%`-literal delimiters consistently'
434
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
435
+ Enabled: true
436
+ Style/PercentQLiterals:
437
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
438
+ Enabled: true
439
+ Style/PerlBackrefs:
440
+ Description: 'Avoid Perl-style regex back references.'
441
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
442
+ Enabled: true
443
+ Style/PredicateName:
444
+ Description: 'Check the names of predicate methods.'
445
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
446
+ Enabled: true
447
+ Style/Proc:
448
+ Description: 'Use proc instead of Proc.new.'
449
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
450
+ Enabled: true
451
+ Style/RaiseArgs:
452
+ Description: 'Checks the arguments passed to raise/fail.'
453
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
454
+ Enabled: true
455
+ Style/RedundantBegin:
456
+ Description: "Don't use begin blocks when they are not needed."
457
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
458
+ Enabled: true
459
+ Style/RedundantException:
460
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
461
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
462
+ Enabled: true
463
+ Style/RedundantFreeze:
464
+ Description: "Checks usages of Object#freeze on immutable objects."
465
+ Enabled: true
466
+ Style/RedundantParentheses:
467
+ Description: "Checks for parentheses that seem not to serve any purpose."
468
+ Enabled: true
469
+ Style/RedundantReturn:
470
+ Description: "Don't use return where it's not required."
471
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
472
+ Enabled: true
473
+ Style/RedundantSelf:
474
+ Description: "Don't use self where it's not needed."
475
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
476
+ Enabled: true
477
+ Style/RegexpLiteral:
478
+ Description: 'Use / or %r around regular expressions.'
479
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
480
+ Enabled: true
481
+ Style/RescueEnsureAlignment:
482
+ Description: 'Align rescues and ensures correctly.'
483
+ Enabled: true
484
+ Style/RescueModifier:
485
+ Description: 'Avoid using rescue in its modifier form.'
486
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
487
+ Enabled: true
488
+ Style/SelfAssignment:
489
+ Description: >-
490
+ Checks for places where self-assignment shorthand should have
491
+ been used.
492
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
493
+ Enabled: true
494
+ Style/Semicolon:
495
+ Description: "Don't use semicolons to terminate expressions."
496
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
497
+ Enabled: true
498
+ Style/SignalException:
499
+ Description: 'Checks for proper usage of fail and raise.'
500
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
501
+ Enabled: true
502
+ Style/SingleLineBlockParams:
503
+ Description: 'Enforces the names of some block params.'
504
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
505
+ Enabled: true
506
+ Style/SingleLineMethods:
507
+ Description: 'Avoid single-line methods.'
508
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
509
+ Enabled: true
510
+ Style/SpaceBeforeFirstArg:
511
+ Description: >-
512
+ Checks that exactly one space is used between a method name
513
+ and the first argument for method calls without parentheses.
514
+ Enabled: true
515
+ Style/SpaceAfterColon:
516
+ Description: 'Use spaces after colons.'
517
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
518
+ Enabled: true
519
+ Style/SpaceAfterComma:
520
+ Description: 'Use spaces after commas.'
521
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
522
+ Enabled: true
523
+ Style/SpaceAfterMethodName:
524
+ Description: >-
525
+ Do not put a space between a method name and the opening
526
+ parenthesis in a method definition.
527
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
528
+ Enabled: true
529
+ Style/SpaceAfterNot:
530
+ Description: Tracks redundant space after the ! operator.
531
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
532
+ Enabled: true
533
+ Style/SpaceAfterSemicolon:
534
+ Description: 'Use spaces after semicolons.'
535
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
536
+ Enabled: true
537
+ Style/SpaceBeforeBlockBraces:
538
+ Description: >-
539
+ Checks that the left block brace has or doesn't have space
540
+ before it.
541
+ Enabled: true
542
+ Style/SpaceBeforeComma:
543
+ Description: 'No spaces before commas.'
544
+ Enabled: true
545
+ Style/SpaceBeforeComment:
546
+ Description: >-
547
+ Checks for missing space between code and a comment on the
548
+ same line.
549
+ Enabled: true
550
+ Style/SpaceBeforeSemicolon:
551
+ Description: 'No spaces before semicolons.'
552
+ Enabled: true
553
+ Style/SpaceInsideBlockBraces:
554
+ Description: >-
555
+ Checks that block braces have or don't have surrounding space.
556
+ For blocks taking parameters, checks that the left brace has
557
+ or doesn't have trailing space.
558
+ Enabled: true
559
+ Style/SpaceAroundBlockParameters:
560
+ Description: 'Checks the spacing inside and after block parameters pipes.'
561
+ Enabled: true
562
+ Style/SpaceAroundEqualsInParameterDefault:
563
+ Description: >-
564
+ Checks that the equals signs in parameter default assignments
565
+ have or don't have surrounding space depending on
566
+ configuration.
567
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
568
+ Enabled: true
569
+ Style/SpaceAroundKeyword:
570
+ Description: 'Use a space around keywords if appropriate.'
571
+ Enabled: true
572
+ Style/SpaceAroundOperators:
573
+ Description: 'Use a single space around operators.'
574
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
575
+ Enabled: true
576
+ Style/SpaceInsideBrackets:
577
+ Description: 'No spaces after [ or before ].'
578
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
579
+ Enabled: true
580
+ Style/SpaceInsideHashLiteralBraces:
581
+ Description: "Use spaces inside hash literal braces - or don't."
582
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
583
+ Enabled: true
584
+ Style/SpaceInsideParens:
585
+ Description: 'No spaces after ( or before ).'
586
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
587
+ Enabled: true
588
+ Style/SpaceInsideRangeLiteral:
589
+ Description: 'No spaces inside range literals.'
590
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
591
+ Enabled: true
592
+ Style/SpaceInsideStringInterpolation:
593
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
594
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
595
+ Enabled: true
596
+ Style/SpecialGlobalVars:
597
+ Description: 'Avoid Perl-style global variables.'
598
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
599
+ Enabled: true
600
+ Style/StabbyLambdaParentheses:
601
+ Description: 'Check for the usage of parentheses around stabby lambda arguments.'
602
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#stabby-lambda-with-args'
603
+ Enabled: true
604
+ Style/StringLiterals:
605
+ Description: 'Checks if uses of quotes match the configured preference.'
606
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
607
+ Enabled: true
608
+ Style/StringLiteralsInInterpolation:
609
+ Description: >-
610
+ Checks if uses of quotes inside expressions in interpolated
611
+ strings match the configured preference.
612
+ Enabled: true
613
+ Style/StructInheritance:
614
+ Description: 'Checks for inheritance from Struct.new.'
615
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
616
+ Enabled: true
617
+ Style/SymbolLiteral:
618
+ Description: 'Use plain symbols instead of string symbols when possible.'
619
+ Enabled: true
620
+ Style/SymbolProc:
621
+ Description: 'Use symbols as procs instead of blocks when possible.'
622
+ Enabled: true
623
+ Style/Tab:
624
+ Description: 'No hard tabs.'
625
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
626
+ Enabled: true
627
+ Style/TrailingBlankLines:
628
+ Description: 'Checks trailing blank lines and final newline.'
629
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
630
+ Enabled: true
631
+ Style/TrailingCommaInArguments:
632
+ Description: 'Checks for trailing comma in argument lists.'
633
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
634
+ Enabled: true
635
+ Style/TrailingCommaInLiteral:
636
+ Description: 'Checks for trailing comma in array and hash literals.'
637
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
638
+ Enabled: true
639
+ Style/TrailingWhitespace:
640
+ Description: 'Avoid trailing whitespace.'
641
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
642
+ Enabled: true
643
+ Style/TrivialAccessors:
644
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
645
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
646
+ Enabled: true
647
+ Style/UnlessElse:
648
+ Description: >-
649
+ Do not use unless with else. Rewrite these with the positive
650
+ case first.
651
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
652
+ Enabled: true
653
+ Style/UnneededCapitalW:
654
+ Description: 'Checks for %W when interpolation is not needed.'
655
+ Enabled: true
656
+ Style/UnneededInterpolation:
657
+ Description: 'Checks for strings that are just an interpolated expression.'
658
+ Enabled: true
659
+ Style/UnneededPercentQ:
660
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
661
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
662
+ Enabled: true
663
+ Style/TrailingUnderscoreVariable:
664
+ Description: >-
665
+ Checks for the usage of unneeded trailing underscores at the
666
+ end of parallel variable assignment.
667
+ AllowNamedUnderscoreVariables: true
668
+ Enabled: true
669
+ Style/VariableInterpolation:
670
+ Description: >-
671
+ Don't interpolate global, instance and class variables
672
+ directly in strings.
673
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
674
+ Enabled: true
675
+ Style/VariableName:
676
+ Description: 'Use the configured style when naming variables.'
677
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
678
+ Enabled: true
679
+ Style/WhenThen:
680
+ Description: 'Use when x then ... for one-line cases.'
681
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
682
+ Enabled: true
683
+ Style/WhileUntilDo:
684
+ Description: 'Checks for redundant do after while or until.'
685
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
686
+ Enabled: true
687
+ Style/WhileUntilModifier:
688
+ Description: >-
689
+ Favor modifier while/until usage when you have a
690
+ single-line body.
691
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
692
+ Enabled: true
693
+ Style/WordArray:
694
+ Description: 'Use %w or %W for arrays of words.'
695
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
696
+ Enabled: true
697
+ Metrics/AbcSize:
698
+ Description: >-
699
+ A calculated magnitude based on number of assignments,
700
+ branches, and conditions.
701
+ Reference: 'http://c2.com/cgi/wiki?AbcMetric'
702
+ Enabled: true
703
+ Metrics/BlockNesting:
704
+ Description: 'Avoid excessive block nesting'
705
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
706
+ Enabled: true
707
+ Metrics/ClassLength:
708
+ Description: 'Avoid classes longer than 100 lines of code.'
709
+ Enabled: true
710
+ Metrics/ModuleLength:
711
+ Description: 'Avoid modules longer than 100 lines of code.'
712
+ Enabled: true
713
+ Metrics/CyclomaticComplexity:
714
+ Description: >-
715
+ A complexity metric that is strongly correlated to the number
716
+ of test cases needed to validate a method.
717
+ Enabled: true
718
+ Metrics/LineLength:
719
+ Description: 'Limit lines to 80 characters.'
720
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
721
+ Enabled: true
722
+ Metrics/MethodLength:
723
+ Description: 'Avoid methods longer than 10 lines of code.'
724
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
725
+ Enabled: true
726
+ Metrics/ParameterLists:
727
+ Description: 'Avoid parameter lists longer than three or four parameters.'
728
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
729
+ Enabled: true
730
+ Metrics/PerceivedComplexity:
731
+ Description: >-
732
+ A complexity metric geared towards measuring complexity for a
733
+ human reader.
734
+ Enabled: true
735
+ Lint/AmbiguousOperator:
736
+ Description: >-
737
+ Checks for ambiguous operators in the first argument of a
738
+ method invocation without parentheses.
739
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
740
+ Enabled: true
741
+ Lint/AmbiguousRegexpLiteral:
742
+ Description: >-
743
+ Checks for ambiguous regexp literals in the first argument of
744
+ a method invocation without parentheses.
745
+ Enabled: true
746
+ Lint/AssignmentInCondition:
747
+ Description: "Don't use assignment in conditions."
748
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
749
+ Enabled: true
750
+ Lint/BlockAlignment:
751
+ Description: 'Align block ends correctly.'
752
+ Enabled: true
753
+ Lint/CircularArgumentReference:
754
+ Description: "Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument."
755
+ Enabled: true
756
+ Lint/ConditionPosition:
757
+ Description: >-
758
+ Checks for condition placed in a confusing position relative to
759
+ the keyword.
760
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
761
+ Enabled: true
762
+ Lint/Debugger:
763
+ Description: 'Check for debugger calls.'
764
+ Enabled: true
765
+ Lint/DefEndAlignment:
766
+ Description: 'Align ends corresponding to defs correctly.'
767
+ Enabled: true
768
+ Lint/DeprecatedClassMethods:
769
+ Description: 'Check for deprecated class method calls.'
770
+ Enabled: true
771
+ Lint/DuplicateMethods:
772
+ Description: 'Check for duplicate method definitions.'
773
+ Enabled: true
774
+ Lint/DuplicatedKey:
775
+ Description: 'Check for duplicate keys in hash literals.'
776
+ Enabled: true
777
+ Lint/EachWithObjectArgument:
778
+ Description: 'Check for immutable argument given to each_with_object.'
779
+ Enabled: true
780
+ Lint/ElseLayout:
781
+ Description: 'Check for odd code arrangement in an else block.'
782
+ Enabled: true
783
+ Lint/EmptyEnsure:
784
+ Description: 'Checks for empty ensure block.'
785
+ Enabled: true
786
+ Lint/EmptyInterpolation:
787
+ Description: 'Checks for empty string interpolation.'
788
+ Enabled: true
789
+ Lint/EndAlignment:
790
+ Description: 'Align ends correctly.'
791
+ Enabled: true
792
+ Lint/EndInMethod:
793
+ Description: 'END blocks should not be placed inside method definitions.'
794
+ Enabled: true
795
+ Lint/EnsureReturn:
796
+ Description: 'Do not use return in an ensure block.'
797
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
798
+ Enabled: true
799
+ Lint/Eval:
800
+ Description: 'The use of eval represents a serious security risk.'
801
+ Enabled: true
802
+ Lint/FloatOutOfRange:
803
+ Description: >-
804
+ Catches floating-point literals too large or small for Ruby to
805
+ represent.
806
+ Enabled: true
807
+ Lint/FormatParameterMismatch:
808
+ Description: 'The number of parameters to format/sprint must match the fields.'
809
+ Enabled: true
810
+ Lint/HandleExceptions:
811
+ Description: "Don't suppress exception."
812
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
813
+ Enabled: true
814
+ Lint/ImplicitStringConcatenation:
815
+ Description: >-
816
+ Checks for adjacent string literals on the same line, which
817
+ could better be represented as a single string literal.
818
+ Enabled: true
819
+ Lint/IneffectiveAccessModifier:
820
+ Description: >-
821
+ Checks for attempts to use `private` or `protected` to set
822
+ the visibility of a class method, which does not work.
823
+ Enabled: true
824
+ Lint/InvalidCharacterLiteral:
825
+ Description: >-
826
+ Checks for invalid character literals with a non-escaped
827
+ whitespace character.
828
+ Enabled: true
829
+ Lint/LiteralInCondition:
830
+ Description: 'Checks of literals used in conditions.'
831
+ Enabled: true
832
+ Lint/LiteralInInterpolation:
833
+ Description: 'Checks for literals used in interpolation.'
834
+ Enabled: true
835
+ Lint/Loop:
836
+ Description: >-
837
+ Use Kernel#loop with break rather than begin/end/until or
838
+ begin/end/while for post-loop tests.
839
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
840
+ Enabled: true
841
+ Lint/NestedMethodDefinition:
842
+ Description: 'Do not use nested method definitions.'
843
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
844
+ Enabled: true
845
+ Lint/NextWithoutAccumulator:
846
+ Description: >-
847
+ Do not omit the accumulator when calling `next`
848
+ in a `reduce`/`inject` block.
849
+ Enabled: true
850
+ Lint/NonLocalExitFromIterator:
851
+ Description: 'Do not use return in iterator to cause non-local exit.'
852
+ Enabled: true
853
+ Lint/ParenthesesAsGroupedExpression:
854
+ Description: >-
855
+ Checks for method calls with a space before the opening
856
+ parenthesis.
857
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
858
+ Enabled: true
859
+ Lint/RandOne:
860
+ Description: >-
861
+ Checks for `rand(1)` calls. Such calls always return `0`
862
+ and most likely a mistake.
863
+ Enabled: true
864
+ Lint/RequireParentheses:
865
+ Description: >-
866
+ Use parentheses in the method call to avoid confusion
867
+ about precedence.
868
+ Enabled: true
869
+ Lint/RescueException:
870
+ Description: 'Avoid rescuing the Exception class.'
871
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
872
+ Enabled: true
873
+ Lint/ShadowingOuterLocalVariable:
874
+ Description: >-
875
+ Do not use the same name as outer local variable
876
+ for block arguments or block local variables.
877
+ Enabled: true
878
+ Lint/StringConversionInInterpolation:
879
+ Description: 'Checks for Object#to_s usage in string interpolation.'
880
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
881
+ Enabled: true
882
+ Lint/UnderscorePrefixedVariableName:
883
+ Description: 'Do not use prefix `_` for a variable that is used.'
884
+ Enabled: true
885
+ Lint/UnneededDisable:
886
+ Description: >-
887
+ Checks for rubocop:disable comments that can be removed.
888
+ Note: this cop is not disabled when disabling all cops.
889
+ It must be explicitly disabled.
890
+ Enabled: true
891
+ Lint/UnusedBlockArgument:
892
+ Description: 'Checks for unused block arguments.'
893
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
894
+ Enabled: true
895
+ Lint/UnusedMethodArgument:
896
+ Description: 'Checks for unused method arguments.'
897
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
898
+ Enabled: true
899
+ Lint/UnreachableCode:
900
+ Description: 'Unreachable code.'
901
+ Enabled: true
902
+ Lint/UselessAccessModifier:
903
+ Description: 'Checks for useless access modifiers.'
904
+ Enabled: true
905
+ Lint/UselessAssignment:
906
+ Description: 'Checks for useless assignment to a local variable.'
907
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
908
+ Enabled: true
909
+ Lint/UselessComparison:
910
+ Description: 'Checks for comparison of something with itself.'
911
+ Enabled: true
912
+ Lint/UselessElseWithoutRescue:
913
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
914
+ Enabled: true
915
+ Lint/UselessSetterCall:
916
+ Description: 'Checks for useless setter call to a local variable.'
917
+ Enabled: true
918
+ Lint/Void:
919
+ Description: 'Possible use of operator/literal/variable in void context.'
920
+ Enabled: true
921
+ Performance/Casecmp:
922
+ Description: 'Use `casecmp` rather than `downcase ==`.'
923
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code'
924
+ Enabled: true
925
+ Performance/CaseWhenSplat:
926
+ Description: >-
927
+ Place `when` conditions that use splat at the end
928
+ of the list of `when` branches.
929
+ Enabled: true
930
+ Performance/Count:
931
+ Description: >-
932
+ Use `count` instead of `select...size`, `reject...size`,
933
+ `select...count`, `reject...count`, `select...length`,
934
+ and `reject...length`.
935
+ Enabled: true
936
+ Performance/Detect:
937
+ Description: >-
938
+ Use `detect` instead of `select.first`, `find_all.first`,
939
+ `select.last`, and `find_all.last`.
940
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
941
+ Enabled: true
942
+ Performance/DoubleStartEndWith:
943
+ Description: >-
944
+ Use `str.{start,end}_with?(x, ..., y, ...)`
945
+ instead of `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`.
946
+ Enabled: true
947
+ Performance/EndWith:
948
+ Description: 'Use `end_with?` instead of a regex match anchored to the end of a string.'
949
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end'
950
+ Enabled: true
951
+ Performance/FixedSize:
952
+ Description: 'Do not compute the size of statically sized objects except in constants'
953
+ Enabled: true
954
+ Performance/FlatMap:
955
+ Description: >-
956
+ Use `Enumerable#flat_map`
957
+ instead of `Enumerable#map...Array#flatten(1)`
958
+ or `Enumberable#collect..Array#flatten(1)`
959
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
960
+ Enabled: true
961
+ EnabledForFlattenWithoutParams: false
962
+ Performance/HashEachMethods:
963
+ Description: >-
964
+ Use `Hash#each_key` and `Hash#each_value` instead of
965
+ `Hash#keys.each` and `Hash#values.each`.
966
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-each'
967
+ Enabled: true
968
+ AutoCorrect: false
969
+ Performance/LstripRstrip:
970
+ Description: 'Use `strip` instead of `lstrip.rstrip`.'
971
+ Enabled: true
972
+ Performance/RangeInclude:
973
+ Description: 'Use `Range#cover?` instead of `Range#include?`.'
974
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code'
975
+ Enabled: true
976
+ Performance/RedundantBlockCall:
977
+ Description: 'Use `yield` instead of `block.call`.'
978
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#proccall-vs-yield-code'
979
+ Enabled: true
980
+ Performance/RedundantMatch:
981
+ Description: >-
982
+ Use `=~` instead of `String#match` or `Regexp#match` in a context where the
983
+ returned `MatchData` is not needed.
984
+ Enabled: true
985
+ Performance/RedundantMerge:
986
+ Description: 'Use Hash#[]=, rather than Hash#merge! with a single key-value pair.'
987
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code'
988
+ Enabled: true
989
+ Performance/RedundantSortBy:
990
+ Description: 'Use `sort` instead of `sort_by { |x| x }`.'
991
+ Enabled: true
992
+ Performance/ReverseEach:
993
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
994
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
995
+ Enabled: true
996
+ Performance/Sample:
997
+ Description: >-
998
+ Use `sample` instead of `shuffle.first`,
999
+ `shuffle.last`, and `shuffle[Fixnum]`.
1000
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
1001
+ Enabled: true
1002
+ Performance/Size:
1003
+ Description: >-
1004
+ Use `size` instead of `count` for counting
1005
+ the number of elements in `Array` and `Hash`.
1006
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
1007
+ Enabled: true
1008
+ Performance/StartWith:
1009
+ Description: 'Use `start_with?` instead of a regex match anchored to the beginning of a string.'
1010
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end'
1011
+ Enabled: true
1012
+ Performance/StringReplacement:
1013
+ Description: >-
1014
+ Use `tr` instead of `gsub` when you are replacing the same
1015
+ number of characters. Use `delete` instead of `gsub` when
1016
+ you are deleting characters.
1017
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
1018
+ Enabled: true
1019
+ Performance/TimesMap:
1020
+ Description: 'Checks for .times.map calls.'
1021
+ Enabled: true
1022
+ Rails/ActionFilter:
1023
+ Description: 'Enforces consistent use of action filter methods.'
1024
+ Enabled: true
1025
+ Rails/Date:
1026
+ Description: >-
1027
+ Checks the correct usage of date aware methods,
1028
+ such as Date.today, Date.current etc.
1029
+ Enabled: true
1030
+ Rails/Delegate:
1031
+ Description: 'Prefer delegate method for delegations.'
1032
+ Enabled: true
1033
+ Rails/FindBy:
1034
+ Description: 'Prefer find_by over where.first.'
1035
+ Enabled: true
1036
+ Rails/FindEach:
1037
+ Description: 'Prefer all.find_each over all.find.'
1038
+ Enabled: true
1039
+ Rails/HasAndBelongsToMany:
1040
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
1041
+ Enabled: true
1042
+ Rails/Output:
1043
+ Description: 'Checks for calls to puts, print, etc.'
1044
+ Enabled: true
1045
+ Rails/PluralizationGrammar:
1046
+ Description: 'Checks for incorrect grammar when using methods like `3.day.ago`.'
1047
+ Enabled: true
1048
+ Rails/ReadWriteAttribute:
1049
+ Description: >-
1050
+ Checks for read_attribute(:attr) and
1051
+ write_attribute(:attr, val).
1052
+ Enabled: true
1053
+ Rails/ScopeArgs:
1054
+ Description: 'Checks the arguments of ActiveRecord scopes.'
1055
+ Enabled: true
1056
+ Rails/TimeZone:
1057
+ Description: 'Checks the correct usage of time zone aware methods.'
1058
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
1059
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
1060
+ Enabled: true
1061
+ Rails/Validation:
1062
+ Description: 'Use validates :attribute, hash of validations.'
1063
+ Enabled: true
1064
+ AllCops:
1065
+ Include:
1066
+ - '**/*.gemspec'
1067
+ - '**/*.podspec'
1068
+ - '**/*.jbuilder'
1069
+ - '**/*.rake'
1070
+ - '**/*.opal'
1071
+ - '**/config.ru'
1072
+ - '**/Gemfile'
1073
+ - '**/Rakefile'
1074
+ - '**/Capfile'
1075
+ - '**/Guardfile'
1076
+ - '**/Podfile'
1077
+ - '**/Thorfile'
1078
+ - '**/Vagrantfile'
1079
+ - '**/Berksfile'
1080
+ - '**/Cheffile'
1081
+ - '**/Vagabondfile'
1082
+ Exclude:
1083
+ - 'vendor/**/*'
1084
+ DefaultFormatter: progress
1085
+ DisplayCopNames: false
1086
+ DisplayStyleGuide: false
1087
+ ExtraDetails: false
1088
+ StyleGuideCopsOnly: false
1089
+ DisabledByDefault: false
1090
+ UseCache: true
1091
+ MaxFilesInCache: 20000
1092
+ CacheRootDirectory: /tmp
1093
+ TargetRubyVersion: 2.0
1094
+ Style/AccessModifierIndentation:
1095
+ EnforcedStyle: indent
1096
+ SupportedStyles:
1097
+ - outdent
1098
+ - indent
1099
+ IndentationWidth: ~
1100
+ Style/Alias:
1101
+ EnforcedStyle: prefer_alias
1102
+ SupportedStyles:
1103
+ - prefer_alias
1104
+ - prefer_alias_method
1105
+ Style/AlignHash:
1106
+ EnforcedHashRocketStyle: key
1107
+ EnforcedColonStyle: key
1108
+ EnforcedLastArgumentHashStyle: always_inspect
1109
+ SupportedLastArgumentHashStyles:
1110
+ - always_inspect
1111
+ - always_ignore
1112
+ - ignore_implicit
1113
+ - ignore_explicit
1114
+ Style/AlignParameters:
1115
+ EnforcedStyle: with_first_parameter
1116
+ SupportedStyles:
1117
+ - with_first_parameter
1118
+ - with_fixed_indentation
1119
+ Style/AndOr:
1120
+ EnforcedStyle: always
1121
+ SupportedStyles:
1122
+ - always
1123
+ - conditionals
1124
+ Style/BarePercentLiterals:
1125
+ EnforcedStyle: bare_percent
1126
+ SupportedStyles:
1127
+ - percent_q
1128
+ - bare_percent
1129
+ Style/BlockDelimiters:
1130
+ EnforcedStyle: line_count_based
1131
+ SupportedStyles:
1132
+ - line_count_based
1133
+ - semantic
1134
+ - braces_for_chaining
1135
+ ProceduralMethods:
1136
+ - benchmark
1137
+ - bm
1138
+ - bmbm
1139
+ - create
1140
+ - each_with_object
1141
+ - measure
1142
+ - new
1143
+ - realtime
1144
+ - tap
1145
+ - with_object
1146
+ FunctionalMethods:
1147
+ - let
1148
+ - let!
1149
+ - subject
1150
+ - watch
1151
+ IgnoredMethods:
1152
+ - lambda
1153
+ - proc
1154
+ - it
1155
+ Style/BracesAroundHashParameters:
1156
+ EnforcedStyle: no_braces
1157
+ SupportedStyles:
1158
+ - braces
1159
+ - no_braces
1160
+ - context_dependent
1161
+ Style/CaseIndentation:
1162
+ IndentWhenRelativeTo: case
1163
+ SupportedStyles:
1164
+ - case
1165
+ - end
1166
+ IndentOneStep: false
1167
+ IndentationWidth: ~
1168
+ Style/ClassAndModuleChildren:
1169
+ EnforcedStyle: nested
1170
+ SupportedStyles:
1171
+ - nested
1172
+ - compact
1173
+ Style/ClassCheck:
1174
+ EnforcedStyle: is_a?
1175
+ SupportedStyles:
1176
+ - is_a?
1177
+ - kind_of?
1178
+ Style/CollectionMethods:
1179
+ PreferredMethods:
1180
+ collect: 'map'
1181
+ collect!: 'map!'
1182
+ inject: 'reduce'
1183
+ detect: 'find'
1184
+ find_all: 'select'
1185
+ Style/CommandLiteral:
1186
+ EnforcedStyle: backticks
1187
+ SupportedStyles:
1188
+ - backticks
1189
+ - percent_x
1190
+ - mixed
1191
+ AllowInnerBackticks: false
1192
+ Style/CommentAnnotation:
1193
+ Keywords:
1194
+ - TODO
1195
+ - FIXME
1196
+ - OPTIMIZE
1197
+ - HACK
1198
+ - REVIEW
1199
+ Style/Copyright:
1200
+ Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
1201
+ AutocorrectNotice: ''
1202
+ Style/DotPosition:
1203
+ EnforcedStyle: leading
1204
+ SupportedStyles:
1205
+ - leading
1206
+ - trailing
1207
+ Style/EmptyElse:
1208
+ EnforcedStyle: both
1209
+ SupportedStyles:
1210
+ - empty
1211
+ - nil
1212
+ - both
1213
+ Style/EmptyLineBetweenDefs:
1214
+ AllowAdjacentOneLineDefs: false
1215
+ Style/EmptyLinesAroundBlockBody:
1216
+ EnforcedStyle: no_empty_lines
1217
+ SupportedStyles:
1218
+ - empty_lines
1219
+ - no_empty_lines
1220
+ Style/EmptyLinesAroundClassBody:
1221
+ EnforcedStyle: no_empty_lines
1222
+ SupportedStyles:
1223
+ - empty_lines
1224
+ - no_empty_lines
1225
+ Style/EmptyLinesAroundModuleBody:
1226
+ EnforcedStyle: no_empty_lines
1227
+ SupportedStyles:
1228
+ - empty_lines
1229
+ - no_empty_lines
1230
+ Style/Encoding:
1231
+ EnforcedStyle: always
1232
+ SupportedStyles:
1233
+ - when_needed
1234
+ - always
1235
+ AutoCorrectEncodingComment: '# encoding: utf-8'
1236
+ Style/ExtraSpacing:
1237
+ AllowForAlignment: true
1238
+ ForceEqualSignAlignment: false
1239
+ Style/FileName:
1240
+ Exclude: []
1241
+ ExpectMatchingDefinition: false
1242
+ Regex: ~
1243
+ IgnoreExecutableScripts: true
1244
+ Style/FirstParameterIndentation:
1245
+ EnforcedStyle: special_for_inner_method_call_in_parentheses
1246
+ SupportedStyles:
1247
+ - consistent
1248
+ - special_for_inner_method_call
1249
+ - special_for_inner_method_call_in_parentheses
1250
+ IndentationWidth: ~
1251
+ Style/For:
1252
+ EnforcedStyle: each
1253
+ SupportedStyles:
1254
+ - for
1255
+ - each
1256
+ Style/FormatString:
1257
+ EnforcedStyle: format
1258
+ SupportedStyles:
1259
+ - format
1260
+ - sprintf
1261
+ - percent
1262
+ Style/FrozenStringLiteralComment:
1263
+ EnforcedStyle: when_needed
1264
+ SupportedStyles:
1265
+ - when_needed
1266
+ - always
1267
+ Style/GlobalVars:
1268
+ AllowedVariables: []
1269
+ Style/GuardClause:
1270
+ MinBodyLength: 1
1271
+ Style/HashSyntax:
1272
+ EnforcedStyle: ruby19
1273
+ SupportedStyles:
1274
+ - ruby19
1275
+ - ruby19_no_mixed_keys
1276
+ - hash_rockets
1277
+ UseHashRocketsWithSymbolValues: false
1278
+ Style/IfUnlessModifier:
1279
+ MaxLineLength: 80
1280
+ Style/IndentationConsistency:
1281
+ EnforcedStyle: normal
1282
+ SupportedStyles:
1283
+ - normal
1284
+ - rails
1285
+ Style/IndentationWidth:
1286
+ Width: 2
1287
+ Style/IndentArray:
1288
+ EnforcedStyle: special_inside_parentheses
1289
+ SupportedStyles:
1290
+ - special_inside_parentheses
1291
+ - consistent
1292
+ - align_brackets
1293
+ IndentationWidth: ~
1294
+ Style/IndentAssignment:
1295
+ IndentationWidth: ~
1296
+ Style/IndentHash:
1297
+ EnforcedStyle: special_inside_parentheses
1298
+ SupportedStyles:
1299
+ - special_inside_parentheses
1300
+ - consistent
1301
+ - align_braces
1302
+ IndentationWidth: ~
1303
+ Style/LambdaCall:
1304
+ EnforcedStyle: call
1305
+ SupportedStyles:
1306
+ - call
1307
+ - braces
1308
+ Style/Next:
1309
+ EnforcedStyle: skip_modifier_ifs
1310
+ MinBodyLength: 3
1311
+ SupportedStyles:
1312
+ - skip_modifier_ifs
1313
+ - always
1314
+ Style/NonNilCheck:
1315
+ IncludeSemanticChanges: false
1316
+ Style/MethodDefParentheses:
1317
+ EnforcedStyle: require_parentheses
1318
+ SupportedStyles:
1319
+ - require_parentheses
1320
+ - require_no_parentheses
1321
+ - require_no_parentheses_except_multiline
1322
+ Style/MethodName:
1323
+ EnforcedStyle: snake_case
1324
+ SupportedStyles:
1325
+ - snake_case
1326
+ - camelCase
1327
+ Style/MultilineAssignmentLayout:
1328
+ SupportedTypes:
1329
+ - block
1330
+ - case
1331
+ - class
1332
+ - if
1333
+ - kwbegin
1334
+ - module
1335
+ EnforcedStyle: new_line
1336
+ SupportedStyles:
1337
+ - same_line
1338
+ - new_line
1339
+ Style/MultilineMethodCallIndentation:
1340
+ EnforcedStyle: aligned
1341
+ SupportedStyles:
1342
+ - aligned
1343
+ - indented
1344
+ IndentationWidth: ~
1345
+ Style/MultilineOperationIndentation:
1346
+ EnforcedStyle: aligned
1347
+ SupportedStyles:
1348
+ - aligned
1349
+ - indented
1350
+ IndentationWidth: ~
1351
+ Style/NumericLiterals:
1352
+ MinDigits: 5
1353
+ Style/OptionHash:
1354
+ SuspiciousParamNames:
1355
+ - options
1356
+ - opts
1357
+ - args
1358
+ - params
1359
+ - parameters
1360
+ Style/ParenthesesAroundCondition:
1361
+ AllowSafeAssignment: true
1362
+ Style/PercentLiteralDelimiters:
1363
+ PreferredDelimiters:
1364
+ '%': ()
1365
+ '%i': ()
1366
+ '%q': ()
1367
+ '%Q': ()
1368
+ '%r': '{}'
1369
+ '%s': ()
1370
+ '%w': ()
1371
+ '%W': ()
1372
+ '%x': ()
1373
+ Style/PercentQLiterals:
1374
+ EnforcedStyle: lower_case_q
1375
+ SupportedStyles:
1376
+ - lower_case_q # Use %q when possible, %Q when necessary
1377
+ - upper_case_q # Always use %Q
1378
+ Style/PredicateName:
1379
+ NamePrefix:
1380
+ - is_
1381
+ - has_
1382
+ - have_
1383
+ NamePrefixBlacklist:
1384
+ - is_
1385
+ - has_
1386
+ - have_
1387
+ NameWhitelist:
1388
+ - is_a?
1389
+ Style/RaiseArgs:
1390
+ EnforcedStyle: exploded
1391
+ SupportedStyles:
1392
+ - compact # raise Exception.new(msg)
1393
+ - exploded # raise Exception, msg
1394
+ Style/RedundantReturn:
1395
+ AllowMultipleReturnValues: false
1396
+ Style/RegexpLiteral:
1397
+ EnforcedStyle: slashes
1398
+ SupportedStyles:
1399
+ - slashes
1400
+ - percent_r
1401
+ - mixed
1402
+ AllowInnerSlashes: false
1403
+ Style/Semicolon:
1404
+ AllowAsExpressionSeparator: false
1405
+ Style/SignalException:
1406
+ EnforcedStyle: semantic
1407
+ SupportedStyles:
1408
+ - only_raise
1409
+ - only_fail
1410
+ - semantic
1411
+ Style/SingleLineBlockParams:
1412
+ Methods:
1413
+ - reduce:
1414
+ - a
1415
+ - e
1416
+ - inject:
1417
+ - a
1418
+ - e
1419
+ Style/SingleLineMethods:
1420
+ AllowIfMethodIsEmpty: true
1421
+ Style/SpaceBeforeFirstArg:
1422
+ AllowForAlignment: true
1423
+ Style/SpecialGlobalVars:
1424
+ EnforcedStyle: use_english_names
1425
+ SupportedStyles:
1426
+ - use_perl_names
1427
+ - use_english_names
1428
+ Style/StabbyLambdaParentheses:
1429
+ EnforcedStyle: require_parentheses
1430
+ SupportedStyles:
1431
+ - require_parentheses
1432
+ - require_no_parentheses
1433
+ Style/StringLiterals:
1434
+ EnforcedStyle: single_quotes
1435
+ SupportedStyles:
1436
+ - single_quotes
1437
+ - double_quotes
1438
+ ConsistentQuotesInMultiline: false
1439
+ Style/StringLiteralsInInterpolation:
1440
+ EnforcedStyle: single_quotes
1441
+ SupportedStyles:
1442
+ - single_quotes
1443
+ - double_quotes
1444
+ Style/StringMethods:
1445
+ PreferredMethods:
1446
+ intern: to_sym
1447
+ Style/SpaceAroundBlockParameters:
1448
+ EnforcedStyleInsidePipes: no_space
1449
+ SupportedStyles:
1450
+ - space
1451
+ - no_space
1452
+ Style/SpaceAroundEqualsInParameterDefault:
1453
+ EnforcedStyle: space
1454
+ SupportedStyles:
1455
+ - space
1456
+ - no_space
1457
+ Style/SpaceAroundOperators:
1458
+ AllowForAlignment: true
1459
+ Style/SpaceBeforeBlockBraces:
1460
+ EnforcedStyle: space
1461
+ SupportedStyles:
1462
+ - space
1463
+ - no_space
1464
+ Style/SpaceInsideBlockBraces:
1465
+ EnforcedStyle: space
1466
+ SupportedStyles:
1467
+ - space
1468
+ - no_space
1469
+ EnforcedStyleForEmptyBraces: no_space
1470
+ SpaceBeforeBlockParameters: true
1471
+ Style/SpaceInsideHashLiteralBraces:
1472
+ EnforcedStyle: space
1473
+ EnforcedStyleForEmptyBraces: no_space
1474
+ SupportedStyles:
1475
+ - space
1476
+ - no_space
1477
+ Style/SpaceInsideStringInterpolation:
1478
+ EnforcedStyle: no_space
1479
+ SupportedStyles:
1480
+ - space
1481
+ - no_space
1482
+ Style/SymbolArray:
1483
+ EnforcedStyle: percent
1484
+ SupportedStyles:
1485
+ - percent
1486
+ - brackets
1487
+ Style/SymbolProc:
1488
+ IgnoredMethods:
1489
+ - respond_to
1490
+ Style/TrailingBlankLines:
1491
+ EnforcedStyle: final_newline
1492
+ SupportedStyles:
1493
+ - final_newline
1494
+ - final_blank_line
1495
+ Style/TrailingCommaInArguments:
1496
+ EnforcedStyleForMultiline: no_comma
1497
+ SupportedStyles:
1498
+ - comma
1499
+ - consistent_comma
1500
+ - no_comma
1501
+ Style/TrailingCommaInLiteral:
1502
+ EnforcedStyleForMultiline: no_comma
1503
+ SupportedStyles:
1504
+ - comma
1505
+ - consistent_comma
1506
+ - no_comma
1507
+ Style/TrivialAccessors:
1508
+ ExactNameMatch: true
1509
+ AllowPredicates: false
1510
+ AllowDSLWriters: false
1511
+ IgnoreClassMethods: false
1512
+ Whitelist:
1513
+ - to_ary
1514
+ - to_a
1515
+ - to_c
1516
+ - to_enum
1517
+ - to_h
1518
+ - to_hash
1519
+ - to_i
1520
+ - to_int
1521
+ - to_io
1522
+ - to_open
1523
+ - to_path
1524
+ - to_proc
1525
+ - to_r
1526
+ - to_regexp
1527
+ - to_str
1528
+ - to_s
1529
+ - to_sym
1530
+ Style/VariableName:
1531
+ EnforcedStyle: snake_case
1532
+ SupportedStyles:
1533
+ - snake_case
1534
+ - camelCase
1535
+ Style/WhileUntilModifier:
1536
+ MaxLineLength: 80
1537
+ Style/WordArray:
1538
+ EnforcedStyle: percent
1539
+ SupportedStyles:
1540
+ - percent
1541
+ - brackets
1542
+ MinSize: 0
1543
+ WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'
1544
+ Metrics/AbcSize:
1545
+ Max: 15
1546
+ Metrics/BlockNesting:
1547
+ Max: 3
1548
+ Metrics/ClassLength:
1549
+ CountComments: false # count full line comments?
1550
+ Max: 100
1551
+ Metrics/ModuleLength:
1552
+ CountComments: false # count full line comments?
1553
+ Max: 100
1554
+ Metrics/CyclomaticComplexity:
1555
+ Max: 6
1556
+ Metrics/LineLength:
1557
+ Max: 80
1558
+ AllowHeredoc: true
1559
+ AllowURI: true
1560
+ URISchemes:
1561
+ - http
1562
+ - https
1563
+ Metrics/MethodLength:
1564
+ CountComments: false # count full line comments?
1565
+ Max: 10
1566
+ Metrics/ParameterLists:
1567
+ Max: 5
1568
+ CountKeywordArgs: true
1569
+ Metrics/PerceivedComplexity:
1570
+ Max: 7
1571
+ Lint/AssignmentInCondition:
1572
+ AllowSafeAssignment: true
1573
+ Lint/EndAlignment:
1574
+ AlignWith: keyword
1575
+ SupportedStyles:
1576
+ - keyword
1577
+ - variable
1578
+ - start_of_line
1579
+ AutoCorrect: false
1580
+ Lint/DefEndAlignment:
1581
+ AlignWith: start_of_line
1582
+ SupportedStyles:
1583
+ - start_of_line
1584
+ - def
1585
+ AutoCorrect: false
1586
+ Lint/UnusedBlockArgument:
1587
+ IgnoreEmptyBlocks: true
1588
+ Lint/UnusedMethodArgument:
1589
+ AllowUnusedKeywordArguments: false
1590
+ IgnoreEmptyMethods: true
1591
+ Rails/ActionFilter:
1592
+ EnforcedStyle: action
1593
+ SupportedStyles:
1594
+ - action
1595
+ - filter
1596
+ Include:
1597
+ - app/controllers/**/*.rb
1598
+ Rails/Date:
1599
+ EnforcedStyle: flexible
1600
+ SupportedStyles:
1601
+ - strict
1602
+ - flexible
1603
+ Rails/FindBy:
1604
+ Include:
1605
+ - app/models/**/*.rb
1606
+ Rails/FindEach:
1607
+ Include:
1608
+ - app/models/**/*.rb
1609
+ Rails/HasAndBelongsToMany:
1610
+ Include:
1611
+ - app/models/**/*.rb
1612
+ Rails/Output:
1613
+ Include:
1614
+ - app/**/*.rb
1615
+ - config/**/*.rb
1616
+ - db/**/*.rb
1617
+ - lib/**/*.rb
1618
+ Rails/ReadWriteAttribute:
1619
+ Include:
1620
+ - app/models/**/*.rb
1621
+ Rails/ScopeArgs:
1622
+ Include:
1623
+ - app/models/**/*.rb
1624
+ Rails/TimeZone:
1625
+ EnforcedStyle: flexible
1626
+ SupportedStyles:
1627
+ - strict
1628
+ - flexible
1629
+ Rails/Validation:
1630
+ Include:
1631
+ - app/models/**/*.rb