-
Notifications
You must be signed in to change notification settings - Fork 2
/
.rubocop.yml
61 lines (46 loc) · 1.46 KB
/
.rubocop.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
require: rubocop-rspec
Rails:
Enabled: true
StringLiterals:
Enabled: false
Documentation:
Enabled: false
# Commonly used screens these days easily fit more than 80 characters.
Metrics/LineLength:
Max: 120
Exclude:
- 'spec/**/*_spec.rb'
# Too short methods lead to extraction of single-use methods, which can make
# the code easier to read (by naming things), but can also clutter the class
Metrics/MethodLength:
Max: 20
Metrics/AbcSize:
Max: 25
Metrics/ClassLength:
Max: 200
# For spec blocks, they are supposed to be long, so specs
# can be grouped. Only "it" blocks should be shorter
Metrics/BlockLength:
ExcludedMethods: ['describe', 'context', 'shared_examples_for']
RSpec/NamedSubject:
Enabled: false
RSpec/MultipleDescribes:
Enabled: false
RSpec/NestedGroups:
Max: 6
# TDH I personally prefer the subject to be just above the block
# that is using it, instead of above the let statements
RSpec/LeadingSubject:
Enabled: false
# There is a lot of debate about this on the PR that added it https://github.com/rubocop-hq/rubocop-rspec/issues/94
# The problem is that it fails if the element being created in the let! statement is used in a
# shared example. We often do this.
RSpec/LetSetup:
Enabled: false
# Not clear on why this is a code smell, so turning this off
# Preferably, you can use a test double, but this is difficult
# when you are looping through a set of objects
RSpec/AnyInstance:
Enabled: false
RSpec/MultipleExpectations:
Max: 2