freakonomics 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fa62c92542be4ba4e2dffeec8ed00e57dbf78cdc
4
+ data.tar.gz: 093943a6f630f337d1ec3ad143271d1e154d2fa6
5
+ SHA512:
6
+ metadata.gz: 98bf42ff14f69c6ccf1ff1c20facf0bbdc65d03119ea9ad65948476e5c5fd926af6d6effe790c1cb709d0f601d6b185209f69311bd0648ffb78ff30ef07a428d
7
+ data.tar.gz: 96ff906d41250b00abf36d0cb7950d0c431d54042f27aea6597caf10c9a7b000b1d5f360968348e2de57378dc3f20f705b018ae76c5f724ec8cd1c3eea352bfb
@@ -0,0 +1,13 @@
1
+ ---
2
+ engines:
3
+ bundler-audit:
4
+ enabled: true
5
+ fixme:
6
+ enabled: true
7
+ rubocop:
8
+ enabled: true
9
+ ratings:
10
+ paths:
11
+ - Gemfile.lock
12
+ - "**.rb"
13
+ - test/**/*
@@ -0,0 +1,27 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+
12
+ ## Documentation cache and generated files:
13
+ /.yardoc/
14
+ /_yardoc/
15
+ /doc/
16
+ /rdoc/
17
+
18
+ ## Environment normalisation:
19
+ /.bundle/
20
+ /vendor/bundle
21
+ /lib/bundler/man/
22
+
23
+ # for a library or gem, you might want to ignore these files since the code is
24
+ # intended to run in multiple environments; otherwise, check them in:
25
+ # Gemfile.lock
26
+ # .ruby-version
27
+ # .ruby-gemset
@@ -0,0 +1,1171 @@
1
+ # Disable all checks not explicitly referenced in this file
2
+ # This is used to easily disable Style/* checks
3
+ AllCops:
4
+ DisabledByDefault: true
5
+
6
+ ################## STYLE #################################
7
+
8
+ Style/AccessModifierIndentation:
9
+ Description: Check indentation of private/protected visibility modifiers.
10
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
11
+ Enabled: true
12
+
13
+ Style/AccessorMethodName:
14
+ Description: Check the naming of accessor methods for get_/set_.
15
+ Enabled: true
16
+
17
+ Style/Alias:
18
+ Description: 'Use alias_method instead of alias.'
19
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
20
+ Enabled: true
21
+
22
+ Style/AlignArray:
23
+ Description: >-
24
+ Align the elements of an array literal if they span more than
25
+ one line.
26
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
27
+ Enabled: true
28
+
29
+ Style/AlignHash:
30
+ Description: >-
31
+ Align the elements of a hash literal if they span more than
32
+ one line.
33
+ Enabled: true
34
+
35
+ Style/AlignParameters:
36
+ Description: >-
37
+ Align the parameters of a method call if they span more
38
+ than one line.
39
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
40
+ Enabled: true
41
+
42
+ Style/AndOr:
43
+ Description: 'Use &&/|| instead of and/or.'
44
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
45
+ Enabled: true
46
+
47
+ Style/ArrayJoin:
48
+ Description: 'Use Array#join instead of Array#*.'
49
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
50
+ Enabled: true
51
+
52
+ Style/AsciiComments:
53
+ Description: 'Use only ascii symbols in comments.'
54
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
55
+ Enabled: true
56
+
57
+ Style/AsciiIdentifiers:
58
+ Description: 'Use only ascii symbols in identifiers.'
59
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
60
+ Enabled: true
61
+
62
+ Style/Attr:
63
+ Description: 'Checks for uses of Module#attr.'
64
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
65
+ Enabled: true
66
+
67
+ Style/BeginBlock:
68
+ Description: 'Avoid the use of BEGIN blocks.'
69
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
70
+ Enabled: true
71
+
72
+ Style/BarePercentLiterals:
73
+ Description: 'Checks if usage of %() or %Q() matches configuration.'
74
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
75
+ Enabled: true
76
+
77
+ Style/BlockComments:
78
+ Description: 'Do not use block comments.'
79
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
80
+ Enabled: true
81
+
82
+ Style/BlockEndNewline:
83
+ Description: 'Put end statement of multiline block on its own line.'
84
+ Enabled: true
85
+
86
+ Style/BlockDelimiters:
87
+ Description: >-
88
+ Avoid using {...} for multi-line blocks (multiline chaining is
89
+ always ugly).
90
+ Prefer {...} over do...end for single-line blocks.
91
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
92
+ Enabled: true
93
+
94
+ Style/BracesAroundHashParameters:
95
+ Description: 'Enforce braces style around hash parameters.'
96
+ Enabled: true
97
+
98
+ Style/CaseEquality:
99
+ Description: 'Avoid explicit use of the case equality operator(===).'
100
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
101
+ Enabled: true
102
+
103
+ Style/CaseIndentation:
104
+ Description: 'Indentation of when in a case/when/[else/]end.'
105
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
106
+ Enabled: true
107
+
108
+ Style/CharacterLiteral:
109
+ Description: 'Checks for uses of character literals.'
110
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
111
+ Enabled: true
112
+
113
+ Style/ClassAndModuleCamelCase:
114
+ Description: 'Use CamelCase for classes and modules.'
115
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
116
+ Enabled: true
117
+
118
+ Style/ClassAndModuleChildren:
119
+ Description: 'Checks style of children classes and modules.'
120
+ Enabled: true
121
+
122
+ Style/ClassCheck:
123
+ Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
124
+ Enabled: true
125
+
126
+ Style/ClassMethods:
127
+ Description: 'Use self when defining module/class methods.'
128
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
129
+ Enabled: true
130
+
131
+ Style/ClassVars:
132
+ Description: 'Avoid the use of class variables.'
133
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
134
+ Enabled: true
135
+
136
+ Style/ClosingParenthesisIndentation:
137
+ Description: 'Checks the indentation of hanging closing parentheses.'
138
+ Enabled: true
139
+
140
+ Style/ColonMethodCall:
141
+ Description: 'Do not use :: for method call.'
142
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
143
+ Enabled: true
144
+
145
+ Style/CommandLiteral:
146
+ Description: 'Use `` or %x around command literals.'
147
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
148
+ Enabled: true
149
+
150
+ Style/CommentAnnotation:
151
+ Description: >-
152
+ Checks formatting of special comments
153
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
154
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
155
+ Enabled: true
156
+
157
+ Style/CommentIndentation:
158
+ Description: 'Indentation of comments.'
159
+ Enabled: true
160
+
161
+ Style/ConstantName:
162
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
163
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
164
+ Enabled: true
165
+
166
+ Style/DefWithParentheses:
167
+ Description: 'Use def with parentheses when there are arguments.'
168
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
169
+ Enabled: true
170
+
171
+ Style/DeprecatedHashMethods:
172
+ Description: 'Checks for use of deprecated Hash methods.'
173
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
174
+ Enabled: true
175
+
176
+ Style/Documentation:
177
+ Description: 'Document classes and non-namespace modules.'
178
+ Enabled: true
179
+
180
+ Style/DotPosition:
181
+ Description: 'Checks the position of the dot in multi-line method calls.'
182
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
183
+ Enabled: true
184
+
185
+ Style/DoubleNegation:
186
+ Description: 'Checks for uses of double negation (!!).'
187
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
188
+ Enabled: true
189
+
190
+ Style/EachWithObject:
191
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
192
+ Enabled: true
193
+
194
+ Style/ElseAlignment:
195
+ Description: 'Align elses and elsifs correctly.'
196
+ Enabled: true
197
+
198
+ Style/EmptyElse:
199
+ Description: 'Avoid empty else-clauses.'
200
+ Enabled: true
201
+
202
+ Style/EmptyLineBetweenDefs:
203
+ Description: 'Use empty lines between defs.'
204
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
205
+ Enabled: true
206
+
207
+ Style/EmptyLines:
208
+ Description: "Don't use several empty lines in a row."
209
+ Enabled: true
210
+
211
+ Style/EmptyLinesAroundAccessModifier:
212
+ Description: "Keep blank lines around access modifiers."
213
+ Enabled: true
214
+
215
+ Style/EmptyLinesAroundBlockBody:
216
+ Description: "Keeps track of empty lines around block bodies."
217
+ Enabled: true
218
+
219
+ Style/EmptyLinesAroundClassBody:
220
+ Description: "Keeps track of empty lines around class bodies."
221
+ Enabled: true
222
+
223
+ Style/EmptyLinesAroundModuleBody:
224
+ Description: "Keeps track of empty lines around module bodies."
225
+ Enabled: true
226
+
227
+ Style/EmptyLinesAroundMethodBody:
228
+ Description: "Keeps track of empty lines around method bodies."
229
+ Enabled: true
230
+
231
+ Style/EmptyLiteral:
232
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
233
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
234
+ Enabled: true
235
+
236
+ Style/EndBlock:
237
+ Description: 'Avoid the use of END blocks.'
238
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
239
+ Enabled: true
240
+
241
+ Style/EndOfLine:
242
+ Description: 'Use Unix-style line endings.'
243
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
244
+ Enabled: true
245
+
246
+ Style/EvenOdd:
247
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
248
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
249
+ Enabled: true
250
+
251
+ Style/ExtraSpacing:
252
+ Description: 'Do not use unnecessary spacing.'
253
+ Enabled: true
254
+
255
+ Style/FileName:
256
+ Description: 'Use snake_case for source file names.'
257
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
258
+ Enabled: true
259
+
260
+ Style/InitialIndentation:
261
+ Description: >-
262
+ Checks the indentation of the first non-blank non-comment line in a file.
263
+ Enabled: true
264
+
265
+ Style/FirstParameterIndentation:
266
+ Description: 'Checks the indentation of the first parameter in a method call.'
267
+ Enabled: true
268
+
269
+ Style/FlipFlop:
270
+ Description: 'Checks for flip flops'
271
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
272
+ Enabled: true
273
+
274
+ Style/For:
275
+ Description: 'Checks use of for or each in multiline loops.'
276
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
277
+ Enabled: true
278
+
279
+ Style/FormatString:
280
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
281
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
282
+ Enabled: true
283
+
284
+ Style/GlobalVars:
285
+ Description: 'Do not introduce global variables.'
286
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
287
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
288
+ Enabled: true
289
+
290
+ Style/GuardClause:
291
+ Description: 'Check for conditionals that can be replaced with guard clauses'
292
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
293
+ Enabled: true
294
+
295
+ Style/HashSyntax:
296
+ Description: >-
297
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
298
+ { :a => 1, :b => 2 }.
299
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
300
+ Enabled: true
301
+
302
+ Style/IfUnlessModifier:
303
+ Description: >-
304
+ Favor modifier if/unless usage when you have a
305
+ single-line body.
306
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
307
+ Enabled: true
308
+
309
+ Style/IfWithSemicolon:
310
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
311
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
312
+ Enabled: true
313
+
314
+ Style/IndentationConsistency:
315
+ Description: 'Keep indentation straight.'
316
+ Enabled: true
317
+
318
+ Style/IndentationWidth:
319
+ Description: 'Use 2 spaces for indentation.'
320
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
321
+ Enabled: true
322
+
323
+ Style/IndentArray:
324
+ Description: >-
325
+ Checks the indentation of the first element in an array
326
+ literal.
327
+ Enabled: true
328
+
329
+ Style/IndentHash:
330
+ Description: 'Checks the indentation of the first key in a hash literal.'
331
+ Enabled: true
332
+
333
+ Style/InfiniteLoop:
334
+ Description: 'Use Kernel#loop for infinite loops.'
335
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
336
+ Enabled: true
337
+
338
+ Style/Lambda:
339
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
340
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
341
+ Enabled: true
342
+
343
+ Style/LambdaCall:
344
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
345
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
346
+ Enabled: true
347
+
348
+ Style/LeadingCommentSpace:
349
+ Description: 'Comments should start with a space.'
350
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
351
+ Enabled: true
352
+
353
+ Style/LineEndConcatenation:
354
+ Description: >-
355
+ Use \ instead of + or << to concatenate two string literals at
356
+ line end.
357
+ Enabled: true
358
+
359
+ Style/MethodCallParentheses:
360
+ Description: 'Do not use parentheses for method calls with no arguments.'
361
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
362
+ Enabled: true
363
+
364
+ Style/MethodDefParentheses:
365
+ Description: >-
366
+ Checks if the method definitions have or don't have
367
+ parentheses.
368
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
369
+ Enabled: true
370
+
371
+ Style/MethodName:
372
+ Description: 'Use the configured style when naming methods.'
373
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
374
+ Enabled: true
375
+
376
+ Style/ModuleFunction:
377
+ Description: 'Checks for usage of `extend self` in modules.'
378
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
379
+ Enabled: true
380
+
381
+ Style/MultilineBlockChain:
382
+ Description: 'Avoid multi-line chains of blocks.'
383
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
384
+ Enabled: true
385
+
386
+ Style/MultilineBlockLayout:
387
+ Description: 'Ensures newlines after multiline block do statements.'
388
+ Enabled: true
389
+
390
+ Style/MultilineIfThen:
391
+ Description: 'Do not use then for multi-line if/unless.'
392
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
393
+ Enabled: true
394
+
395
+ Style/MultilineOperationIndentation:
396
+ Description: >-
397
+ Checks indentation of binary operations that span more than
398
+ one line.
399
+ Enabled: true
400
+
401
+ Style/MultilineTernaryOperator:
402
+ Description: >-
403
+ Avoid multi-line ?: (the ternary operator);
404
+ use if/unless instead.
405
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
406
+ Enabled: true
407
+
408
+ Style/NegatedIf:
409
+ Description: >-
410
+ Favor unless over if for negative conditions
411
+ (or control flow or).
412
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
413
+ Enabled: true
414
+
415
+ Style/NegatedWhile:
416
+ Description: 'Favor until over while for negative conditions.'
417
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
418
+ Enabled: true
419
+
420
+ Style/NestedTernaryOperator:
421
+ Description: 'Use one expression per branch in a ternary operator.'
422
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
423
+ Enabled: true
424
+
425
+ Style/Next:
426
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
427
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
428
+ Enabled: true
429
+
430
+ Style/NilComparison:
431
+ Description: 'Prefer x.nil? to x == nil.'
432
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
433
+ Enabled: true
434
+
435
+ Style/NonNilCheck:
436
+ Description: 'Checks for redundant nil checks.'
437
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
438
+ Enabled: true
439
+
440
+ Style/Not:
441
+ Description: 'Use ! instead of not.'
442
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
443
+ Enabled: true
444
+
445
+ Style/NumericLiterals:
446
+ Description: >-
447
+ Add underscores to large numeric literals to improve their
448
+ readability.
449
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
450
+ Enabled: true
451
+
452
+ Style/OneLineConditional:
453
+ Description: >-
454
+ Favor the ternary operator(?:) over
455
+ if/then/else/end constructs.
456
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
457
+ Enabled: true
458
+
459
+ Style/OpMethod:
460
+ Description: 'When defining binary operators, name the argument other.'
461
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
462
+ Enabled: true
463
+
464
+ Style/OptionalArguments:
465
+ Description: >-
466
+ Checks for optional arguments that do not appear at the end
467
+ of the argument list
468
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
469
+ Enabled: true
470
+
471
+ Style/ParallelAssignment:
472
+ Description: >-
473
+ Check for simple usages of parallel assignment.
474
+ It will only warn when the number of variables
475
+ matches on both sides of the assignment.
476
+ This also provides performance benefits
477
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
478
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#parallel-assignment-vs-sequential-assignment-code'
479
+ Enabled: true
480
+
481
+ Style/ParenthesesAroundCondition:
482
+ Description: >-
483
+ Don't use parentheses around the condition of an
484
+ if/unless/while.
485
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
486
+ Enabled: true
487
+
488
+ Style/PercentLiteralDelimiters:
489
+ Description: 'Use `%`-literal delimiters consistently'
490
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
491
+ Enabled: true
492
+
493
+ Style/PercentQLiterals:
494
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
495
+ Enabled: true
496
+
497
+ Style/PerlBackrefs:
498
+ Description: 'Avoid Perl-style regex back references.'
499
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
500
+ Enabled: true
501
+
502
+ Style/PredicateName:
503
+ Description: 'Check the names of predicate methods.'
504
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
505
+ Enabled: true
506
+
507
+ Style/Proc:
508
+ Description: 'Use proc instead of Proc.new.'
509
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
510
+ Enabled: true
511
+
512
+ Style/RaiseArgs:
513
+ Description: 'Checks the arguments passed to raise/fail.'
514
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
515
+ Enabled: true
516
+
517
+ Style/RedundantBegin:
518
+ Description: "Don't use begin blocks when they are not needed."
519
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
520
+ Enabled: true
521
+
522
+ Style/RedundantException:
523
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
524
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
525
+ Enabled: true
526
+
527
+ Style/RedundantReturn:
528
+ Description: "Don't use return where it's not required."
529
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
530
+ Enabled: true
531
+
532
+ Style/RedundantSelf:
533
+ Description: "Don't use self where it's not needed."
534
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
535
+ Enabled: true
536
+
537
+ Style/RegexpLiteral:
538
+ Description: 'Use / or %r around regular expressions.'
539
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
540
+ Enabled: true
541
+
542
+ Style/RescueEnsureAlignment:
543
+ Description: 'Align rescues and ensures correctly.'
544
+ Enabled: true
545
+
546
+ Style/RescueModifier:
547
+ Description: 'Avoid using rescue in its modifier form.'
548
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
549
+ Enabled: true
550
+
551
+ Style/SelfAssignment:
552
+ Description: >-
553
+ Checks for places where self-assignment shorthand should have
554
+ been used.
555
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
556
+ Enabled: true
557
+
558
+ Style/Semicolon:
559
+ Description: "Don't use semicolons to terminate expressions."
560
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
561
+ Enabled: true
562
+
563
+ Style/SignalException:
564
+ Description: 'Checks for proper usage of fail and raise.'
565
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
566
+ Enabled: true
567
+
568
+ Style/SingleLineBlockParams:
569
+ Description: 'Enforces the names of some block params.'
570
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
571
+ Enabled: true
572
+
573
+ Style/SingleLineMethods:
574
+ Description: 'Avoid single-line methods.'
575
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
576
+ Enabled: true
577
+
578
+ Style/SingleSpaceBeforeFirstArg:
579
+ Description: >-
580
+ Checks that exactly one space is used between a method name
581
+ and the first argument for method calls without parentheses.
582
+ Enabled: true
583
+
584
+ Style/SpaceAfterColon:
585
+ Description: 'Use spaces after colons.'
586
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
587
+ Enabled: true
588
+
589
+ Style/SpaceAfterComma:
590
+ Description: 'Use spaces after commas.'
591
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
592
+ Enabled: true
593
+
594
+ Style/SpaceAfterControlKeyword:
595
+ Description: 'Use spaces after if/elsif/unless/while/until/case/when.'
596
+ Enabled: true
597
+
598
+ Style/SpaceAfterMethodName:
599
+ Description: >-
600
+ Do not put a space between a method name and the opening
601
+ parenthesis in a method definition.
602
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
603
+ Enabled: true
604
+
605
+ Style/SpaceAfterNot:
606
+ Description: Tracks redundant space after the ! operator.
607
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
608
+ Enabled: true
609
+
610
+ Style/SpaceAfterSemicolon:
611
+ Description: 'Use spaces after semicolons.'
612
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
613
+ Enabled: true
614
+
615
+ Style/SpaceBeforeBlockBraces:
616
+ Description: >-
617
+ Checks that the left block brace has or doesn't have space
618
+ before it.
619
+ Enabled: true
620
+
621
+ Style/SpaceBeforeComma:
622
+ Description: 'No spaces before commas.'
623
+ Enabled: true
624
+
625
+ Style/SpaceBeforeComment:
626
+ Description: >-
627
+ Checks for missing space between code and a comment on the
628
+ same line.
629
+ Enabled: true
630
+
631
+ Style/SpaceBeforeSemicolon:
632
+ Description: 'No spaces before semicolons.'
633
+ Enabled: true
634
+
635
+ Style/SpaceInsideBlockBraces:
636
+ Description: >-
637
+ Checks that block braces have or don't have surrounding space.
638
+ For blocks taking parameters, checks that the left brace has
639
+ or doesn't have trailing space.
640
+ Enabled: true
641
+
642
+ Style/SpaceAroundBlockParameters:
643
+ Description: 'Checks the spacing inside and after block parameters pipes.'
644
+ Enabled: true
645
+
646
+ Style/SpaceAroundEqualsInParameterDefault:
647
+ Description: >-
648
+ Checks that the equals signs in parameter default assignments
649
+ have or don't have surrounding space depending on
650
+ configuration.
651
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
652
+ Enabled: true
653
+
654
+ Style/SpaceAroundOperators:
655
+ Description: 'Use a single space around operators.'
656
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
657
+ Enabled: true
658
+
659
+ Style/SpaceBeforeModifierKeyword:
660
+ Description: 'Put a space before the modifier keyword.'
661
+ Enabled: true
662
+
663
+ Style/SpaceInsideBrackets:
664
+ Description: 'No spaces after [ or before ].'
665
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
666
+ Enabled: true
667
+
668
+ Style/SpaceInsideHashLiteralBraces:
669
+ Description: "Use spaces inside hash literal braces - or don't."
670
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
671
+ Enabled: true
672
+
673
+ Style/SpaceInsideParens:
674
+ Description: 'No spaces after ( or before ).'
675
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
676
+ Enabled: true
677
+
678
+ Style/SpaceInsideRangeLiteral:
679
+ Description: 'No spaces inside range literals.'
680
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
681
+ Enabled: true
682
+
683
+ Style/SpaceInsideStringInterpolation:
684
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
685
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
686
+ Enabled: true
687
+
688
+ Style/SpecialGlobalVars:
689
+ Description: 'Avoid Perl-style global variables.'
690
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
691
+ Enabled: true
692
+
693
+ Style/StringLiterals:
694
+ Description: 'Checks if uses of quotes match the configured preference.'
695
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
696
+ Enabled: true
697
+
698
+ Style/StringLiteralsInInterpolation:
699
+ Description: >-
700
+ Checks if uses of quotes inside expressions in interpolated
701
+ strings match the configured preference.
702
+ Enabled: true
703
+
704
+ Style/StructInheritance:
705
+ Description: 'Checks for inheritance from Struct.new.'
706
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
707
+ Enabled: true
708
+
709
+ Style/SymbolLiteral:
710
+ Description: 'Use plain symbols instead of string symbols when possible.'
711
+ Enabled: true
712
+
713
+ Style/SymbolProc:
714
+ Description: 'Use symbols as procs instead of blocks when possible.'
715
+ Enabled: true
716
+
717
+ Style/Tab:
718
+ Description: 'No hard tabs.'
719
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
720
+ Enabled: true
721
+
722
+ Style/TrailingBlankLines:
723
+ Description: 'Checks trailing blank lines and final newline.'
724
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
725
+ Enabled: true
726
+
727
+ Style/TrailingComma:
728
+ Description: 'Checks for trailing comma in parameter lists and literals.'
729
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
730
+ Enabled: true
731
+
732
+ Style/TrailingWhitespace:
733
+ Description: 'Avoid trailing whitespace.'
734
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
735
+ Enabled: true
736
+
737
+ Style/TrivialAccessors:
738
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
739
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
740
+ Enabled: true
741
+
742
+ Style/UnlessElse:
743
+ Description: >-
744
+ Do not use unless with else. Rewrite these with the positive
745
+ case first.
746
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
747
+ Enabled: true
748
+
749
+ Style/UnneededCapitalW:
750
+ Description: 'Checks for %W when interpolation is not needed.'
751
+ Enabled: true
752
+
753
+ Style/UnneededPercentQ:
754
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
755
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
756
+ Enabled: true
757
+
758
+ Style/TrailingUnderscoreVariable:
759
+ Description: >-
760
+ Checks for the usage of unneeded trailing underscores at the
761
+ end of parallel variable assignment.
762
+ Enabled: true
763
+
764
+ Style/VariableInterpolation:
765
+ Description: >-
766
+ Don't interpolate global, instance and class variables
767
+ directly in strings.
768
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
769
+ Enabled: true
770
+
771
+ Style/VariableName:
772
+ Description: 'Use the configured style when naming variables.'
773
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
774
+ Enabled: true
775
+
776
+ Style/WhenThen:
777
+ Description: 'Use when x then ... for one-line cases.'
778
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
779
+ Enabled: true
780
+
781
+ Style/WhileUntilDo:
782
+ Description: 'Checks for redundant do after while or until.'
783
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
784
+ Enabled: true
785
+
786
+ Style/WhileUntilModifier:
787
+ Description: >-
788
+ Favor modifier while/until usage when you have a
789
+ single-line body.
790
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
791
+ Enabled: true
792
+
793
+ Style/WordArray:
794
+ Description: 'Use %w or %W for arrays of words.'
795
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
796
+ Enabled: true
797
+
798
+ ##########################################################
799
+ Metrics/AbcSize:
800
+ Description: >-
801
+ A calculated magnitude based on number of assignments,
802
+ branches, and conditions.
803
+ Reference: 'http://c2.com/cgi/wiki?AbcMetric'
804
+ Enabled: true
805
+ Max: 20
806
+
807
+ Metrics/BlockNesting:
808
+ Description: 'Avoid excessive block nesting'
809
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
810
+ Enabled: true
811
+ Max: 4
812
+
813
+ Metrics/ClassLength:
814
+ Description: 'Avoid classes longer than 100 lines of code.'
815
+ Enabled: true
816
+ Max: 150
817
+
818
+ Metrics/ModuleLength:
819
+ Description: 'Avoid modules longer than 100 lines of code.'
820
+ Enabled: true
821
+ Max: 150
822
+
823
+ Metrics/CyclomaticComplexity:
824
+ Description: >-
825
+ A complexity metric that is strongly correlated to the number
826
+ of test cases needed to validate a method.
827
+ Enabled: true
828
+
829
+ Metrics/LineLength:
830
+ Description: 'Limit lines to 80 characters.'
831
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
832
+ Enabled: true
833
+
834
+ Metrics/MethodLength:
835
+ Description: 'Avoid methods longer than 10 lines of code.'
836
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
837
+ Enabled: true
838
+
839
+ Metrics/ParameterLists:
840
+ Description: 'Avoid parameter lists longer than three or four parameters.'
841
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
842
+ Enabled: true
843
+
844
+ Metrics/PerceivedComplexity:
845
+ Description: >-
846
+ A complexity metric geared towards measuring complexity for a
847
+ human reader.
848
+ Enabled: true
849
+
850
+ #################### Lint ################################
851
+ ### Warnings
852
+
853
+ Lint/AmbiguousOperator:
854
+ Description: >-
855
+ Checks for ambiguous operators in the first argument of a
856
+ method invocation without parentheses.
857
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
858
+ Enabled: true
859
+
860
+ Lint/AmbiguousRegexpLiteral:
861
+ Description: >-
862
+ Checks for ambiguous regexp literals in the first argument of
863
+ a method invocation without parenthesis.
864
+ Enabled: true
865
+
866
+ Lint/AssignmentInCondition:
867
+ Description: "Don't use assignment in conditions."
868
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
869
+ Enabled: true
870
+
871
+ Lint/BlockAlignment:
872
+ Description: 'Align block ends correctly.'
873
+ Enabled: true
874
+
875
+ Lint/CircularArgumentReference:
876
+ Description: "Don't refer to the keyword argument in the default value."
877
+ Enabled: true
878
+
879
+ Lint/ConditionPosition:
880
+ Description: >-
881
+ Checks for condition placed in a confusing position relative to
882
+ the keyword.
883
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
884
+ Enabled: true
885
+
886
+ Lint/Debugger:
887
+ Description: 'Check for debugger calls.'
888
+ Enabled: true
889
+
890
+ Lint/DefEndAlignment:
891
+ Description: 'Align ends corresponding to defs correctly.'
892
+ Enabled: true
893
+
894
+ Lint/DeprecatedClassMethods:
895
+ Description: 'Check for deprecated class method calls.'
896
+ Enabled: true
897
+
898
+ Lint/DuplicateMethods:
899
+ Description: 'Check for duplicate methods calls.'
900
+ Enabled: true
901
+
902
+ Lint/EachWithObjectArgument:
903
+ Description: 'Check for immutable argument given to each_with_object.'
904
+ Enabled: true
905
+
906
+ Lint/ElseLayout:
907
+ Description: 'Check for odd code arrangement in an else block.'
908
+ Enabled: true
909
+
910
+ Lint/EmptyEnsure:
911
+ Description: 'Checks for empty ensure block.'
912
+ Enabled: true
913
+
914
+ Lint/EmptyInterpolation:
915
+ Description: 'Checks for empty string interpolation.'
916
+ Enabled: true
917
+
918
+ Lint/EndAlignment:
919
+ Description: 'Align ends correctly.'
920
+ Enabled: true
921
+
922
+ Lint/EndInMethod:
923
+ Description: 'END blocks should not be placed inside method definitions.'
924
+ Enabled: true
925
+
926
+ Lint/EnsureReturn:
927
+ Description: 'Do not use return in an ensure block.'
928
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
929
+ Enabled: true
930
+
931
+ Lint/Eval:
932
+ Description: 'The use of eval represents a serious security risk.'
933
+ Enabled: true
934
+
935
+ Lint/FormatParameterMismatch:
936
+ Description: 'The number of parameters to format/sprint must match the fields.'
937
+ Enabled: true
938
+
939
+ Lint/HandleExceptions:
940
+ Description: "Don't suppress exception."
941
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
942
+ Enabled: true
943
+
944
+ Lint/InvalidCharacterLiteral:
945
+ Description: >-
946
+ Checks for invalid character literals with a non-escaped
947
+ whitespace character.
948
+ Enabled: true
949
+
950
+ Lint/LiteralInCondition:
951
+ Description: 'Checks of literals used in conditions.'
952
+ Enabled: true
953
+
954
+ Lint/LiteralInInterpolation:
955
+ Description: 'Checks for literals used in interpolation.'
956
+ Enabled: true
957
+
958
+ Lint/Loop:
959
+ Description: >-
960
+ Use Kernel#loop with break rather than begin/end/until or
961
+ begin/end/while for post-loop tests.
962
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
963
+ Enabled: true
964
+
965
+ Lint/NestedMethodDefinition:
966
+ Description: 'Do not use nested method definitions.'
967
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
968
+ Enabled: true
969
+
970
+ Lint/NonLocalExitFromIterator:
971
+ Description: 'Do not use return in iterator to cause non-local exit.'
972
+ Enabled: true
973
+
974
+ Lint/ParenthesesAsGroupedExpression:
975
+ Description: >-
976
+ Checks for method calls with a space before the opening
977
+ parenthesis.
978
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
979
+ Enabled: true
980
+
981
+ Lint/RequireParentheses:
982
+ Description: >-
983
+ Use parentheses in the method call to avoid confusion
984
+ about precedence.
985
+ Enabled: true
986
+
987
+ Lint/RescueException:
988
+ Description: 'Avoid rescuing the Exception class.'
989
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
990
+ Enabled: true
991
+
992
+ Lint/ShadowingOuterLocalVariable:
993
+ Description: >-
994
+ Do not use the same name as outer local variable
995
+ for block arguments or block local variables.
996
+ Enabled: true
997
+
998
+ Lint/SpaceBeforeFirstArg:
999
+ Description: >-
1000
+ Put a space between a method name and the first argument
1001
+ in a method call without parentheses.
1002
+ Enabled: true
1003
+
1004
+ Lint/StringConversionInInterpolation:
1005
+ Description: 'Checks for Object#to_s usage in string interpolation.'
1006
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
1007
+ Enabled: true
1008
+
1009
+ Lint/UnderscorePrefixedVariableName:
1010
+ Description: 'Do not use prefix `_` for a variable that is used.'
1011
+ Enabled: true
1012
+
1013
+ Lint/UnneededDisable:
1014
+ Description: >-
1015
+ Checks for rubocop:disable comments that can be removed.
1016
+ Note: this cop is not disabled when disabling all cops.
1017
+ It must be explicitly disabled.
1018
+ Enabled: true
1019
+
1020
+ Lint/UnusedBlockArgument:
1021
+ Description: 'Checks for unused block arguments.'
1022
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
1023
+ Enabled: true
1024
+
1025
+ Lint/UnusedMethodArgument:
1026
+ Description: 'Checks for unused method arguments.'
1027
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
1028
+ Enabled: true
1029
+
1030
+ Lint/UnreachableCode:
1031
+ Description: 'Unreachable code.'
1032
+ Enabled: true
1033
+
1034
+ Lint/UselessAccessModifier:
1035
+ Description: 'Checks for useless access modifiers.'
1036
+ Enabled: true
1037
+
1038
+ Lint/UselessAssignment:
1039
+ Description: 'Checks for useless assignment to a local variable.'
1040
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
1041
+ Enabled: true
1042
+
1043
+ Lint/UselessComparison:
1044
+ Description: 'Checks for comparison of something with itself.'
1045
+ Enabled: true
1046
+
1047
+ Lint/UselessElseWithoutRescue:
1048
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
1049
+ Enabled: true
1050
+
1051
+ Lint/UselessSetterCall:
1052
+ Description: 'Checks for useless setter call to a local variable.'
1053
+ Enabled: true
1054
+
1055
+ Lint/Void:
1056
+ Description: 'Possible use of operator/literal/variable in void context.'
1057
+ Enabled: true
1058
+
1059
+ ##################### Performance #############################
1060
+
1061
+ Performance/Count:
1062
+ Description: >-
1063
+ Use `count` instead of `select...size`, `reject...size`,
1064
+ `select...count`, `reject...count`, `select...length`,
1065
+ and `reject...length`.
1066
+ Enabled: true
1067
+
1068
+ Performance/Detect:
1069
+ Description: >-
1070
+ Use `detect` instead of `select.first`, `find_all.first`,
1071
+ `select.last`, and `find_all.last`.
1072
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
1073
+ Enabled: true
1074
+
1075
+ Performance/FlatMap:
1076
+ Description: >-
1077
+ Use `Enumerable#flat_map`
1078
+ instead of `Enumerable#map...Array#flatten(1)`
1079
+ or `Enumberable#collect..Array#flatten(1)`
1080
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
1081
+ Enabled: true
1082
+ EnabledForFlattenWithoutParams: true
1083
+ # If enabled, this cop will warn about usages of
1084
+ # `flatten` being called without any parameters.
1085
+ # This can be dangerous since `flat_map` will only flatten 1 level, and
1086
+ # `flatten` without any parameters can flatten multiple levels.
1087
+
1088
+ Performance/ReverseEach:
1089
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
1090
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
1091
+ Enabled: true
1092
+
1093
+ Performance/Sample:
1094
+ Description: >-
1095
+ Use `sample` instead of `shuffle.first`,
1096
+ `shuffle.last`, and `shuffle[Fixnum]`.
1097
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
1098
+ Enabled: true
1099
+
1100
+ Performance/Size:
1101
+ Description: >-
1102
+ Use `size` instead of `count` for counting
1103
+ the number of elements in `Array` and `Hash`.
1104
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
1105
+ Enabled: true
1106
+
1107
+ Performance/StringReplacement:
1108
+ Description: >-
1109
+ Use `tr` instead of `gsub` when you are replacing the same
1110
+ number of characters. Use `delete` instead of `gsub` when
1111
+ you are deleting characters.
1112
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
1113
+ Enabled: true
1114
+
1115
+ ##################### Rails ##################################
1116
+ #
1117
+ # Consider enabling some/all of these if you use Rails.
1118
+ #
1119
+ Rails/ActionFilter:
1120
+ Description: 'Enforces consistent use of action filter methods.'
1121
+ Enabled: true
1122
+
1123
+ Rails/Date:
1124
+ Description: >-
1125
+ Checks the correct usage of date aware methods,
1126
+ such as Date.today, Date.current etc.
1127
+ Enabled: true
1128
+
1129
+ Rails/DefaultScope:
1130
+ Description: 'Checks if the argument passed to default_scope is a block.'
1131
+ Enabled: true
1132
+
1133
+ Rails/Delegate:
1134
+ Description: 'Prefer delegate method for delegations.'
1135
+ Enabled: true
1136
+
1137
+ Rails/FindBy:
1138
+ Description: 'Prefer find_by over where.first.'
1139
+ Enabled: true
1140
+
1141
+ Rails/FindEach:
1142
+ Description: 'Prefer all.find_each over all.find.'
1143
+ Enabled: true
1144
+
1145
+ Rails/HasAndBelongsToMany:
1146
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
1147
+ Enabled: true
1148
+
1149
+ Rails/Output:
1150
+ Description: 'Checks for calls to puts, print, etc.'
1151
+ Enabled: true
1152
+
1153
+ Rails/ReadWriteAttribute:
1154
+ Description: >-
1155
+ Checks for read_attribute(:attr) and
1156
+ write_attribute(:attr, val).
1157
+ Enabled: true
1158
+
1159
+ Rails/ScopeArgs:
1160
+ Description: 'Checks the arguments of ActiveRecord scopes.'
1161
+ Enabled: true
1162
+
1163
+ Rails/TimeZone:
1164
+ Description: 'Checks the correct usage of time zone aware methods.'
1165
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
1166
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
1167
+ Enabled: true
1168
+
1169
+ Rails/Validation:
1170
+ Description: 'Use validates :attribute, hash of validations.'
1171
+ Enabled: true