-
Notifications
You must be signed in to change notification settings - Fork 33
/
.rubocop.yml
196 lines (149 loc) · 3.4 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
require: rubocop-rails
AllCops:
NewCops: disable
DisplayCopNames:
Exclude:
- Rakefile
- db/**/*
- config/**/*
- lib/tasks/**/*
- test/**/*
- tmp/**/*
- test/**/*
- vendor/bundle/**/*
- node_modules/**/*
- frontend/**/*
Rails:
Enabled: true
Rails/UniqueValidationWithoutIndex:
Enabled: false
Metrics/BlockLength:
IgnoredMethods:
- namespace # rake
- task # rake
- scope # routes
- resources # routes
- draw # routes
- configure # initializers
# Adjusted to suite minimal case (cant't be refactored further) encountered in code
Metrics/AbcSize:
Max: 25
Severity: error
Metrics/ClassLength:
Max: 200
Severity: error
Metrics/ModuleLength:
Max: 200
Severity: error
Metrics/CyclomaticComplexity:
Max: 6
Severity: error
Layout/LineLength:
Max: 100
Severity: warning
AutoCorrect: true
Lint/MissingSuper:
Exclude:
- 'app/policies/**/*'
- 'app/models/**/*'
Metrics/MethodLength:
Max: 10
Severity: error
Metrics/ParameterLists:
Max: 4
Severity: warning
Layout/ClassStructure:
Enabled: true
# controller#entry methods have @model_name instance variables.
# therefore disable this cop
Naming/MemoizedInstanceVariableName:
Enabled: false
Naming/MethodParameterName:
Enabled: false
Naming/FileName:
Enabled: false
# We thinks that's fine
Rails/EnumHash:
Enabled: false
# Keep for now, easier with superclass definitions
Style/ClassAndModuleChildren:
Enabled: false
# This is not necessary and disproportionately difficult to obey
Style/OptionalBooleanParameter:
Enabled: false
# The ones we use must exist for the entire class hierarchy.
Style/ClassVars:
Enabled: false
# We think there are good reasons not to do that
Rails/RakeEnvironment:
Enabled: false
Style/EmptyMethod:
EnforcedStyle: expanded
# We thinks that's fine
Style/FormatStringToken:
Enabled: false
Style/HashSyntax:
Enabled: false
Style/SymbolArray:
EnforcedStyle: brackets
Rails/Output:
Exclude:
- db/seeds.rb
# map instead of collect, reduce instead of inject.
# Probably later
Style/CollectionMethods:
Enabled: false
# This cop does not consider action inheritance, therefore disabled
Rails/LexicallyScopedActionFilter:
Enabled: false
# Well, well, well
Style/Documentation:
Enabled: false
# Probably later
Layout/DotPosition:
Enabled: false
# Missing UTF-8 encoding statements should always be created.
Style/Encoding:
Severity: error
# Keep single line bodys for if and unless
Style/IfUnlessModifier:
Enabled: false
# That's no huge stopper
Layout/EmptyLines:
Enabled: false
# We thinks that's fine for specs
Layout/EmptyLinesAroundBlockBody:
Enabled: false
# We thinks that's fine
Layout/EmptyLinesAroundClassBody:
Enabled: false
# We thinks that's fine
Layout/EmptyLinesAroundModuleBody:
Enabled: false
# We thinks that's fine
Layout/MultilineOperationIndentation:
Enabled: false
# We thinks that's fine
Style/RegexpLiteral:
Enabled: false
# We think that's the developers choice
Style/SymbolProc:
Enabled: false
# Probably later
Style/GuardClause:
Enabled: false
# We thinks that's fine
Style/SingleLineBlockParams:
Enabled: false
# We thinks that's fine
Rails/HasAndBelongsToMany:
Enabled: false
# We think that's the developers choice
Rails/Delegate:
Enabled: false
Rails/HelperInstanceVariable:
Enabled: false
Rails/InverseOf:
Enabled: false
Rails/OutputSafety:
Severity: warning