-
Notifications
You must be signed in to change notification settings - Fork 2
/
.reek.yml
146 lines (145 loc) · 3.05 KB
/
.reek.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
---
detectors:
Attribute:
enabled: false
exclude: []
BooleanParameter:
enabled: false
exclude: []
ClassVariable:
enabled: false # Rubocop already handles this
exclude: []
ControlParameter:
enabled: false
exclude: []
DataClump:
enabled: true
exclude: []
max_copies: 3
min_clump_size: 3
DuplicateMethodCall:
enabled: true
max_calls: 3
allow_calls: []
exclude:
- spec # Specs contain a lot of duplication (better way?)
- expect # Specs contain a lot of duplication (better way?)
- logger # Calling logger often is a good thing
FeatureEnvy:
enabled: false
IrresponsibleModule:
enabled: false # We don't need Ruby comments for all modules
exclude: []
LongParameterList:
enabled: true
exclude: []
max_params: 4 # 4 is used across our codebase
overrides:
initialize:
max_params: 5
LongYieldList:
enabled: true
exclude: []
max_params: 3
MissingSafeMethod:
enabled: true
exclude: []
ModuleInitialize:
enabled: true
exclude: []
NestedIterators:
enabled: true
exclude: []
max_allowed_nesting: 2
ignore_iterators:
- tap
NilCheck:
enabled: false # Didn't appear helpful
exclude: []
RepeatedConditional:
enabled: true
exclude: []
max_ifs: 2
TooManyInstanceVariables:
enabled: true
exclude: []
max_instance_variables: 6
TooManyMethods:
enabled: true
exclude: []
max_methods: 15
TooManyStatements:
enabled: true
exclude:
- initialize
max_statements: 15
TooManyConstants:
enabled: false
UncommunicativeMethodName:
enabled: true
exclude: []
reject:
- /^[a-z]$/
- /[A-Z]/
accept: []
UncommunicativeModuleName:
enabled: true
exclude: []
reject:
- /^.$/
- /[0-9]$/
UncommunicativeParameterName:
enabled: true
exclude: []
reject:
- /^.$/
- /[0-9]$/
- /[A-Z]/
- /^_/
accept: []
UncommunicativeVariableName:
enabled: true
exclude: []
reject:
- /[0-9]$/
- /[A-Z]/
accept:
- _
UnusedParameters:
enabled: false # This is covered by Rubocop's Lint/UnusedMethodArgument
exclude: []
UtilityFunction:
enabled: true
public_methods_only: true
exclude:
- Concern # Concerns will frequently appear to have utility functions
- Helper # Lots of helper methods do things like hash manipulation
- "#change"
- "#up"
- "#down"
- "#run"
- "#work_message"
directories:
"**/spec/**":
UtilityFunction:
enabled: false
DuplicateMethodCall:
enabled: false
"**/jobs/**":
UtilityFunction:
enabled: false
"**/workers/**":
UtilityFunction:
enabled: false
"**/app/controllers/**":
InstanceVariableAssumption:
enabled: false
"**/app/listeners/**":
UtilityFunction:
enabled: false
DataClump:
enabled: false
"**/db/migrate/**":
# Migrations contain generated class names so this reek makes no sense there
UncommunicativeModuleName:
enabled: false