-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.rubocop.yml
67 lines (47 loc) · 1.12 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
62
63
64
65
66
67
require:
- rubocop-rake
- rubocop-rspec
AllCops:
NewCops: enable
Style/HashSyntax:
EnforcedShorthandSyntax: never
########## Gemspec Rules
# Disabling this as all the gem publishing will be done within CI and doesn't allow for user input such as an MFA code.
Gemspec/RequireMFA:
Enabled: false
Gemspec/DevelopmentDependencies:
EnforcedStyle: gemspec
########## Metrics / Max Lengths Rules
Layout/LineLength:
Max: 300
Metrics/AbcSize:
Max: 140
Metrics/BlockLength:
Max: 80
Exclude:
- spec/**/*_spec.rb
- spec/**/shared_examples_*.rb
Metrics/ClassLength:
Max: 300
Metrics/MethodLength:
Max: 150
Metrics/ModuleLength:
Max: 300
Exclude:
- spec/**/*_spec.rb
Metrics/ParameterLists:
Max: 10
########## Metrics / Complexity
Metrics/CyclomaticComplexity:
Max: 20
Metrics/PerceivedComplexity:
Max: 20
########## RSpec Rules
# We are not strict to the point that we want to enforce super-short `it '…' do … end` blocks in our specs.
RSpec/ExampleLength:
Enabled: false
# Same for number of let/subject
RSpec/MultipleMemoizedHelpers:
Enabled: false
RSpec/MultipleExpectations:
Max: 2