tolken 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4fba9918f15512180b1e6b5165de2db39b55f5e40d1f990aa940c3a5ebf3f4f3
4
+ data.tar.gz: 438b87384e727fa84bfae004b6bfe2cf5835fd8ec13e05ef1ffac752271a896c
5
+ SHA512:
6
+ metadata.gz: 4da7a01fd5f07fabc16ad2d59eb3a29dddd316cfd5b0e19ba6b3d1471ffd218074eca29e49f0fb1ee609640700b0e72b93e9b21cfdc2c39c19bde19fd49bcb24
7
+ data.tar.gz: 583bb33c59af8dd984d86d3c3dd3adc790843003a746d65a3c93c0d25c699d365ece9cd9d7a988e7257d4fd0309613ffe8336a234436408c9220cc982787c9ea
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,718 @@
1
+ # See https://github.com/bbatsov/rubocop/blob/master/config/default.yml
2
+
3
+ require: rubocop-rspec
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.5
7
+ Exclude:
8
+ - Rakefile
9
+ - .rubocop.yml
10
+
11
+ Rails:
12
+ Enabled: true
13
+
14
+ Documentation:
15
+ Enabled: false
16
+
17
+ # -- Security
18
+
19
+ Security/Eval:
20
+ Enabled: true
21
+
22
+ # -- Performance
23
+
24
+ Performance/StringReplacement:
25
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'"
26
+ Enabled: true
27
+
28
+ Performance/ReverseEach:
29
+ Description: "Use `reverse_each` instead of `reverse.each`."
30
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code"
31
+ Enabled: true
32
+
33
+ Performance/Sample:
34
+ Description: "Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`."
35
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code"
36
+ Enabled: true
37
+
38
+ Performance/Size:
39
+ Description: "Use `size` instead of `count` for counting the number of elements in `Array` and `Hash`."
40
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code"
41
+ Enabled: true
42
+
43
+ Performance/FlatMap:
44
+ Description: "Use `Enumerable#flat_map` instead of `Enumerable#map…Array#flatten` or `Enumberable#collect…Array#flatten`."
45
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code"
46
+ Enabled: true
47
+ EnabledForFlattenWithoutParams: false
48
+
49
+ Performance/Detect:
50
+ Description: "Use `detect` instead of `select.first`, `find_all.first`, `select.last`, and `find_all.last`."
51
+ Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code"
52
+ Enabled: true
53
+
54
+ Performance/Count:
55
+ Description: "Use `count` instead of `select|reject...size|count|length`"
56
+ Enabled: true
57
+
58
+ # -- Lint
59
+
60
+ Lint/Debugger:
61
+ Enabled: true
62
+
63
+ Lint/EndAlignment:
64
+ EnforcedStyleAlignWith: variable
65
+
66
+ Lint/AssignmentInCondition:
67
+ Description: "bad: `if foo = bar` ok: `if (foo = bar)`"
68
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition"
69
+ AllowSafeAssignment: true
70
+
71
+ Lint/UnusedBlockArgument:
72
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars"
73
+ AllowUnusedKeywordArguments: false
74
+
75
+ Lint/UnusedMethodArgument:
76
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars"
77
+ AllowUnusedKeywordArguments: false
78
+
79
+ Lint/BlockAlignment:
80
+ Enabled: true
81
+
82
+ Lint/CircularArgumentReference:
83
+ Description: "Don't refer to the keyword argument in the default value."
84
+ Enabled: true
85
+
86
+ Lint/ConditionPosition:
87
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#same-line-condition"
88
+ Enabled: true
89
+
90
+ Lint/DefEndAlignment:
91
+ Enabled: true
92
+
93
+ Lint/DeprecatedClassMethods:
94
+ Enabled: true
95
+
96
+ Lint/DuplicateMethods:
97
+ Enabled: true
98
+
99
+ Lint/EachWithObjectArgument:
100
+ Description: "Check for immutable argument given to each_with_object."
101
+ Enabled: true
102
+
103
+ Lint/ElseLayout:
104
+ Description: "Check for odd code arrangement in an else block."
105
+ Enabled: true
106
+
107
+ Lint/EmptyEnsure:
108
+ Enabled: true
109
+
110
+ Lint/EmptyInterpolation:
111
+ Enabled: true
112
+
113
+ Lint/EnsureReturn:
114
+ Description: "Do not use return in an ensure block."
115
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-return-ensure"
116
+ Enabled: true
117
+
118
+ Lint/FormatParameterMismatch:
119
+ Enabled: true
120
+
121
+ Lint/HandleExceptions:
122
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions"
123
+ Enabled: true
124
+
125
+ Lint/LiteralInInterpolation:
126
+ Enabled: true
127
+
128
+ Lint/Loop:
129
+ Description: "Use Kernel#loop with break rather than begin/end/until or begin/end/while for post-loop tests."
130
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#loop-with-break"
131
+ Enabled: true
132
+
133
+ Lint/NestedMethodDefinition:
134
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-nested-methods"
135
+ Enabled: true
136
+
137
+ Lint/NonLocalExitFromIterator:
138
+ Enabled: true
139
+
140
+ Lint/ParenthesesAsGroupedExpression:
141
+ Description: "bad: `f (3 + 2) + 1`. ok: `f(3 + 2) + 1`"
142
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#parens-no-spaces"
143
+ Enabled: true
144
+
145
+ Lint/RequireParentheses:
146
+ Description: "Use parentheses in the method call to avoid confusion about precedence."
147
+ Enabled: true
148
+
149
+ Lint/RescueException:
150
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-blind-rescues"
151
+ Enabled: true
152
+
153
+ Lint/ShadowingOuterLocalVariable:
154
+ Description: "Do not use the same name as outer local variable for block arguments or block local variables."
155
+ Enabled: true
156
+
157
+ Lint/StringConversionInInterpolation:
158
+ Description: "Checks for Object#to_s usage in string interpolation."
159
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-to-s"
160
+ Enabled: true
161
+
162
+ Lint/UnderscorePrefixedVariableName:
163
+ Description: "Do not use prefix `_` for a variable that is used."
164
+ Enabled: true
165
+
166
+ Lint/UnneededDisable:
167
+ Description: "Checks for rubocop:disable comments that can be removed."
168
+ Enabled: true
169
+
170
+ Lint/UnreachableCode:
171
+ Enabled: true
172
+
173
+ Lint/UselessAccessModifier:
174
+ Enabled: true
175
+
176
+ Lint/UselessAssignment:
177
+ Description: "Checks for useless assignment to a local variable."
178
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars"
179
+ Enabled: true
180
+
181
+ Lint/UselessComparison:
182
+ Description: "Checks for comparison of something with itself."
183
+ Enabled: true
184
+
185
+ Lint/UselessElseWithoutRescue:
186
+ Description: "Checks for useless `else` in `begin..end` without `rescue`."
187
+ Enabled: true
188
+
189
+ Lint/UselessSetterCall:
190
+ Description: "Checks for useless setter call to a local variable."
191
+ Enabled: true
192
+
193
+ Lint/Void:
194
+ Description: "Possible use of operator/literal/variable in void context."
195
+ Enabled: true
196
+
197
+ Lint/AmbiguousOperator:
198
+ Enabled: true
199
+
200
+ # -- Metrics
201
+
202
+ Metrics/ClassLength:
203
+ Max: 300
204
+
205
+ Metrics/ModuleLength:
206
+ Max: 300
207
+
208
+ Metrics/MethodLength:
209
+ Max: 25
210
+ Exclude:
211
+ - db/migrate/**/*.rb # mostly create table blocks
212
+
213
+ Metrics/LineLength:
214
+ Max: 125
215
+ AllowHeredoc: true
216
+ AllowURI: true
217
+ URISchemes:
218
+ - http
219
+ - https
220
+ IgnoredPatterns: ['\A#', '#\s.+\Z', 'https?:\/\/']
221
+
222
+ Metrics/BlockLength:
223
+ Enabled: true
224
+ Exclude:
225
+ - config/environments/*.rb
226
+ - config/initializers/simple_form_bootstrap.rb
227
+ - config/routes.rb
228
+ - db/seeds.rb
229
+ - bin/seed_daily_booking_mailer.rb
230
+ - spec/**/*
231
+
232
+ Metrics/PerceivedComplexity:
233
+ Enabled: true
234
+
235
+ Metrics/BlockNesting:
236
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count"
237
+ Enabled: true
238
+ Max: 4
239
+
240
+ Metrics/CyclomaticComplexity:
241
+ Description: "A complexity metric that is strongly correlated to the number of test cases needed to validate a method."
242
+ Max: 9
243
+
244
+ Metrics/AbcSize:
245
+ Description: "A calculated magnitude based on number of assignments, branches, and conditions."
246
+ Reference: "http://c2.com/cgi/wiki?AbcMetric"
247
+ Max: 20
248
+ Exclude:
249
+ - db/migrate/**/*.rb # mostly create table blocks
250
+
251
+ Metrics/ParameterLists:
252
+ Description: "Avoid parameter lists longer than three or four parameters."
253
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#too-many-params"
254
+ Enabled: true
255
+ CountKeywordArgs: false
256
+
257
+ # -- Naming
258
+
259
+ Naming/AsciiIdentifiers:
260
+ Enabled: true
261
+
262
+ Naming/FileName:
263
+ Description: "Use snake_case for source file names."
264
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#snake-case-files"
265
+ Enabled: true
266
+
267
+ Naming/MethodName:
268
+ EnforcedStyle: snake_case
269
+
270
+ Naming/VariableName:
271
+ EnforcedStyle: snake_case
272
+
273
+ Naming/BinaryOperatorParameterName:
274
+ Enabled: false # don't require variable to <=> to be named just "other"
275
+
276
+ # -- Layout
277
+
278
+ Layout/IndentArray:
279
+ Enabled: false
280
+ # Or the following isn't allowed
281
+ # foo([
282
+ # %w[n V n],
283
+ # %w[V S V]
284
+ # ])
285
+
286
+ Layout/CaseIndentation:
287
+ EnforcedStyle: end
288
+
289
+ Layout/AccessModifierIndentation:
290
+ Description: "Check indentation of private/protected visibility modifiers."
291
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected"
292
+ EnforcedStyle: indent
293
+
294
+ Layout/AlignHash:
295
+ Description: "Align the elements of a hash literal if they span more than one line."
296
+ EnforcedHashRocketStyle: key
297
+ EnforcedColonStyle: key
298
+ EnforcedLastArgumentHashStyle: always_inspect
299
+
300
+ Layout/AlignParameters:
301
+ Description: "Align the parameters of a method call if they span more than one line."
302
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-double-indent"
303
+ EnforcedStyle: with_first_parameter
304
+
305
+ Layout/FirstHashElementLineBreak:
306
+ Enabled: true
307
+
308
+ Layout/FirstArrayElementLineBreak:
309
+ Enabled: true
310
+
311
+ Layout/FirstMethodArgumentLineBreak:
312
+ Enabled: true
313
+
314
+ Layout/FirstMethodParameterLineBreak:
315
+ Enabled: true
316
+
317
+ Layout/FirstParameterIndentation:
318
+ Enabled: true
319
+
320
+ Layout/DotPosition:
321
+ EnforcedStyle: leading
322
+
323
+ Layout/EmptyLinesAroundBlockBody:
324
+ EnforcedStyle: no_empty_lines
325
+
326
+ Layout/EmptyLinesAroundClassBody:
327
+ EnforcedStyle: no_empty_lines
328
+
329
+ Layout/EmptyLinesAroundModuleBody:
330
+ EnforcedStyle: no_empty_lines
331
+
332
+ Layout/ExtraSpacing:
333
+ AllowForAlignment: true
334
+
335
+ Layout/IndentationConsistency:
336
+ EnforcedStyle: normal
337
+
338
+ Layout/IndentationWidth:
339
+ Width: 2
340
+
341
+ Layout/SpaceInLambdaLiteral:
342
+ EnforcedStyle: require_no_space
343
+
344
+ Layout/MultilineArrayBraceLayout:
345
+ EnforcedStyle: new_line
346
+
347
+ Layout/MultilineHashBraceLayout:
348
+ EnforcedStyle: new_line
349
+
350
+ Layout/MultilineMethodCallBraceLayout:
351
+ EnforcedStyle: symmetrical
352
+
353
+ Layout/MultilineMethodDefinitionBraceLayout:
354
+ EnforcedStyle: new_line
355
+
356
+ Layout/ClosingParenthesisIndentation:
357
+ Enabled: true
358
+
359
+ Layout/SpaceAroundBlockParameters:
360
+ EnforcedStyleInsidePipes: no_space
361
+
362
+ Layout/SpaceAroundEqualsInParameterDefault:
363
+ EnforcedStyle: space
364
+
365
+ Layout/SpaceBeforeBlockBraces:
366
+ EnforcedStyle: space
367
+
368
+ Layout/SpaceInsideBlockBraces:
369
+ EnforcedStyle: space
370
+
371
+ Layout/SpaceInsideHashLiteralBraces:
372
+ EnforcedStyle: space
373
+ EnforcedStyleForEmptyBraces: no_space
374
+
375
+ Layout/SpaceInsideStringInterpolation:
376
+ EnforcedStyle: no_space
377
+
378
+ Layout/TrailingBlankLines:
379
+ EnforcedStyle: final_newline
380
+
381
+ Layout/MultilineMethodCallIndentation:
382
+ EnforcedStyle: indented
383
+
384
+ Layout/SpaceBeforeComma:
385
+ Enabled: true
386
+
387
+ Layout/LeadingCommentSpace:
388
+ Enabled: true
389
+ Exclude:
390
+ - spec/teaspoon_env.rb
391
+
392
+ # -- Style
393
+
394
+ Style/UnneededPercentQ:
395
+ Description: "Checks for %q/%Q when single quotes or double quotes would do."
396
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#percent-q"
397
+ Enabled: false
398
+
399
+ Style/MultilineBlockChain:
400
+ Description: "Disallows multiline do…end.method_call"
401
+ Enabled: false
402
+
403
+ Style/DoubleNegation:
404
+ Description: "Disallows !! to cast falsy values to false"
405
+ Enabled: false # Allow !!
406
+
407
+ Style/AsciiComments:
408
+ Enabled: false
409
+ # Or we can't add comments about Swedish characters for example
410
+
411
+ Style/InverseMethods:
412
+ Description: "bad: `!foo.blank?` ok: `foo.present?`"
413
+ Enabled: true # Allow !!
414
+
415
+ Style/Alias:
416
+ EnforcedStyle: prefer_alias_method
417
+
418
+ Style/AndOr:
419
+ Description: "Use &&/|| instead of and/or."
420
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-and-or-or"
421
+ EnforcedStyle: conditionals
422
+
423
+ Style/BlockDelimiters:
424
+ Description: "Use {…} for one line blocks and do…end for multiline blocks."
425
+ EnforcedStyle: line_count_based
426
+
427
+ Style/BracesAroundHashParameters:
428
+ EnforcedStyle: no_braces
429
+
430
+ Style/ClassAndModuleChildren:
431
+ EnforcedStyle: compact
432
+ Enabled: false # What style to enforce has not been decided
433
+
434
+ Style/ClassCheck:
435
+ EnforcedStyle: is_a?
436
+
437
+ Style/CollectionMethods:
438
+ PreferredMethods:
439
+ collect: "map"
440
+ collect!: "map!"
441
+ inject: "reduce"
442
+ detect: "find"
443
+ find_all: "select"
444
+
445
+ Style/CommandLiteral:
446
+ EnforcedStyle: percent_x
447
+ AllowInnerBackticks: false
448
+
449
+ Style/CommentAnnotation:
450
+ Keywords:
451
+ - TODO
452
+ - FIXME
453
+ - OPTIMIZE
454
+ - HACK
455
+ - REVIEW
456
+
457
+ Style/EmptyElse:
458
+ EnforcedStyle: both
459
+
460
+ Style/EmptyMethod:
461
+ EnforcedStyle: expanded
462
+
463
+ Style/Encoding:
464
+ Enabled: true
465
+
466
+ Style/For:
467
+ EnforcedStyle: each
468
+
469
+ Style/FormatString:
470
+ Description: "bad: `'%d %d' % [20, 10].` ok: `format('%<first>d %<second>d', first: 20, second: 10)`"
471
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#sprintf"
472
+ EnforcedStyle: format
473
+
474
+ Style/GlobalVars:
475
+ AllowedVariables:
476
+ - autogen_filepath
477
+ - autogen_buffer
478
+
479
+ Style/HashSyntax:
480
+ Description: "{ a: 1, b: 2 } { :a => 1, :b => 2 }."
481
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#hash-literals"
482
+ EnforcedStyle: ruby19_no_mixed_keys
483
+
484
+ Style/Lambda:
485
+ EnforcedStyle: literal
486
+
487
+ Style/LambdaCall:
488
+ EnforcedStyle: call
489
+
490
+ Style/MethodDefParentheses:
491
+ EnforcedStyle: require_parentheses
492
+
493
+ Style/ModuleFunction:
494
+ Description: "Checks for usage of `extend self` in modules."
495
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#module-function"
496
+ EnforcedStyle: module_function
497
+
498
+ Style/NonNilCheck:
499
+ Description: "Checks for redundant nil checks."
500
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks"
501
+ IncludeSemanticChanges: true
502
+
503
+ Style/ParenthesesAroundCondition:
504
+ AllowSafeAssignment: true
505
+
506
+ Style/PercentLiteralDelimiters:
507
+ PreferredDelimiters:
508
+ default: ()
509
+ "%i": "[]"
510
+ "%I": "[]"
511
+ "%r": "{}"
512
+ "%w": "[]"
513
+ "%W": "[]"
514
+ "%Q": "{}"
515
+
516
+ Style/PercentQLiterals:
517
+ EnforcedStyle: upper_case_q
518
+
519
+ Style/RaiseArgs:
520
+ Description: "raise SomeException, 'message' over raise SomeException.new('message')."
521
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#exception-class-messages"
522
+ EnforcedStyle: exploded
523
+
524
+ Style/RedundantReturn:
525
+ AllowMultipleReturnValues: false
526
+
527
+ Style/RegexpLiteral:
528
+ Enabled: false
529
+
530
+ Style/Semicolon:
531
+ AllowAsExpressionSeparator: false
532
+
533
+ Style/SingleLineBlockParams:
534
+ Methods:
535
+ - reduce:
536
+ - acc
537
+ - elem
538
+ - inject:
539
+ - acc
540
+ - elem
541
+
542
+ Style/SingleLineMethods:
543
+ AllowIfMethodIsEmpty: false
544
+
545
+ Style/SpecialGlobalVars:
546
+ EnforcedStyle: use_english_names
547
+
548
+ Style/StabbyLambdaParentheses:
549
+ EnforcedStyle: require_parentheses
550
+
551
+ Style/StringLiterals:
552
+ EnforcedStyle: double_quotes
553
+
554
+ Style/StringLiteralsInInterpolation:
555
+ EnforcedStyle: double_quotes
556
+
557
+ Style/StringMethods:
558
+ PreferredMethods:
559
+ intern: to_sym
560
+
561
+ Style/BarePercentLiterals:
562
+ EnforcedStyle: percent_q
563
+
564
+ Style/SymbolArray:
565
+ EnforcedStyle: percent
566
+
567
+ Style/TernaryParentheses:
568
+ EnforcedStyle: require_no_parentheses
569
+
570
+ Style/TrailingCommaInArguments:
571
+ EnforcedStyleForMultiline: no_comma
572
+
573
+ Style/TrailingCommaInLiteral:
574
+ EnforcedStyleForMultiline: no_comma
575
+
576
+ Style/WordArray:
577
+ EnforcedStyle: percent
578
+
579
+ Style/GuardClause:
580
+ Description: "Enforces early return guard clauses"
581
+ StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals"
582
+ Enabled: false
583
+
584
+ Style/MethodMissing:
585
+ Enabled: true
586
+
587
+ Style/SymbolProc:
588
+ Enabled: true
589
+
590
+ Style/MultilineIfModifier:
591
+ StyleGuide: "http://www.rubydoc.info/gems/rubocop/0.45.0/RuboCop/Cop/Style/MultilineIfModifier"
592
+ Enabled: false # I think there are cases where this is OK…
593
+
594
+ Style/TrailingUnderscoreVariable:
595
+ Enabled: false
596
+
597
+ Style/MixinUsage:
598
+ Enabled: true
599
+
600
+ Style/StderrPuts:
601
+ Exclude:
602
+ - bin/yarn
603
+
604
+ Style/BlockComments:
605
+ Enabled: false # Just for big blocks, ok?
606
+
607
+ Style/FrozenStringLiteralComment:
608
+ EnforcedStyle: always
609
+
610
+ Style/MutableConstant:
611
+ Enabled: true
612
+
613
+ Style/Next:
614
+ Enabled: false
615
+
616
+ # -- Rails
617
+
618
+ Rails/Date:
619
+ EnforcedStyle: flexible
620
+ # Flexible allows us to use the shorthand `Date.current` instead of `Time.zone.today`,
621
+ # just as we would use `Time.current` over `Time.zone.now`.
622
+
623
+ Rails/TimeZone:
624
+ Description: "bad: `Time.now, Time.parse` ok: `Time.zone, Time.current, Time.in_time_zone`"
625
+ EnforcedStyle: flexible
626
+
627
+ Rails/NotNullColumn:
628
+ Enabled: false # see https://github.com/bbatsov/rubocop/issues/3963
629
+
630
+ Rails/FindBy:
631
+ Description: "Prefer find_by(name: name) over find_by_name(name)"
632
+
633
+ Rails/FindEach:
634
+ Description: "Prefer all.find_each over all.find for batch queries."
635
+
636
+ Rails/HasAndBelongsToMany:
637
+ Description: "Prefer has_many :through to has_and_belongs_to_many."
638
+
639
+ Rails/RequestReferer:
640
+ Description: "bad: `request.referrer` ok: `request.referer`."
641
+ EnforcedStyle: referer
642
+
643
+ Rails/OutputSafety:
644
+ Description: "bad: `html_safe, raw` ok: `safe_join`."
645
+ Enabled: false
646
+
647
+ Rails/Output:
648
+ Description: "Checks for calls to puts, print, etc."
649
+ Exclude:
650
+ - lib/tasks/*
651
+
652
+ Rails/SkipsModelValidations:
653
+ Description: "bad: `update_attribute` ok: `update_attributes`."
654
+ Enabled: true
655
+ Exclude:
656
+ - spec/**/*_spec.rb # Sometimes needed to setup invalid stats for tests.
657
+
658
+ Rails/DynamicFindBy:
659
+ Enabled: true
660
+
661
+ Rails/Exit:
662
+ Exclude:
663
+ - lib/tasks/*
664
+
665
+ Bundler/OrderedGems:
666
+ Enabled: false # or we can make groups that makes sense
667
+
668
+ # -- RSpec
669
+
670
+ RSpec/EmptyLineAfterFinalLet:
671
+ Enabled: true
672
+
673
+ RSpec/DescribedClass:
674
+ Description: "Forces usage of described_class"
675
+ Enabled: false
676
+
677
+ RSpec/DescribeClass:
678
+ Description: "Requires top-level describe to contained tested contant"
679
+ Enabled: true
680
+
681
+ RSpec/AnyInstance:
682
+ Enabled: true
683
+
684
+ RSpec/ExampleLength:
685
+ Enabled: true
686
+ Max: 30
687
+
688
+ RSpec/MultipleExpectations:
689
+ Enabled: false
690
+ # We trust ourselves to know when it's OK to
691
+ # have more than one expectation per spec.
692
+
693
+ RSpec/ExpectActual:
694
+ Enabled: true
695
+
696
+ RSpec/RepeatedExample:
697
+ Enabled: true
698
+
699
+ RSpec/VerifiedDoubles:
700
+ Enabled: false
701
+ # `instance_double` is randomly not finding deliver_now:
702
+ # e.g: "the VgDonationMailer class does not implement the instance method: deliver_now"
703
+
704
+ RSpec/MessageSpies:
705
+ Enabled: true
706
+
707
+ RSpec/NestedGroups:
708
+ Enabled: true
709
+ Max: 5
710
+
711
+ RSpec/HookArgument:
712
+ Enabled: true
713
+
714
+ RSpec/NotToNot:
715
+ Enabled: true
716
+
717
+ RSpec/EmptyLineAfterSubject:
718
+ Enabled: true