This repository has been archived by the owner on May 8, 2024. It is now read-only.
forked from datadryad/dryad-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.rubocop.yml
181 lines (137 loc) · 4.07 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
AllCops:
NewCops: enable
Exclude:
- 'bin/**/*'
- 'config/**/*'
- 'db/**/*'
- 'script/**/*'
- 'vendor/**/*'
- 'documentation/**/*'
- 'app/models/stash_engine/lock.rb'
- 'ui-library/**/*'
- 'node_modules/**/*'
- 'tmp/**/*'
# Suppress complaints about post-2.0 syntax
TargetRubyVersion: 3.0
# Allow one line around block body (Layout/EmptyLines will still disallow two or more)
Layout/EmptyLinesAroundBlockBody:
Enabled: false
# Allow one line around class body (Layout/EmptyLines will still disallow two or more)
Layout/EmptyLinesAroundClassBody:
Enabled: false
# Allow one line around module body (Layout/EmptyLines will still disallow two or more)
Layout/EmptyLinesAroundModuleBody:
Enabled: false
# Make indents consistent regardless of the lengths of variables and method names and whatnot
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented
# Produces monsters
Layout/MultilineOperationIndentation:
Enabled: false
# because you want an exception that applies to your case, not something random
Lint/ShadowedException:
Enabled: false
# Reasonable line-length check; it's too easy for the cure to be worse than the disease
Layout/LineLength:
Max: 150
# AbcSize is very low at 15 and often catches perfectly readable methods because of two small if statements
Metrics/AbcSize:
Max: 45
# The default Lengths can flag methods which essentially do nothing, simply because they invoke another method with several parameters
Metrics/ClassLength:
Max: 200
Exclude:
- '**/spec/**/*.rb'
Metrics/MethodLength:
Max: 30
Exclude:
- '**/spec/**/*.rb'
Metrics/BlockLength:
Max: 200
Exclude:
- '**/spec/**/*.rb'
Metrics/ModuleLength:
Exclude:
- '**/spec/**/*.rb'
# reasonable complexity
Metrics/PerceivedComplexity:
Max: 20
Metrics/CyclomaticComplexity:
Max: 20
# We meant to do that
Naming/MemoizedInstanceVariableName:
Enabled: False
# It works in context, trust us
Naming/MethodParameterName:
Enabled: False
# Confusing and weird
Naming/VariableNumber:
Enabled: False
# Do what's readable in the context you're in
Style/AccessModifierDeclarations:
Enabled: false
# 👎 to cultural imperialism
Style/AsciiComments:
Enabled: false
# Seriously?
Style/CommentedKeyword:
Enabled: False
# Disable problematic module documentation check (see https://github.com/bbatsov/rubocop/issues/947)
Style/Documentation:
Enabled: false
# Doesn't necessarily make anything more readable
Style/ExplicitBlockArgument:
Enabled: false
# Adding more line noise to format strings will not improve them
Style/FormatStringToken:
Enabled: false
# Putting '# frozen_string_literal: true' everywhere does not make the world a better place
Style/FrozenStringLiteralComment:
Enabled: false
# Requiring the lambda() method just makes wordy calls wordier
Style/Lambda:
EnforcedStyle: literal
# `foo.positive?` is cute, but it's not actually more readable than `foo > 0`
Style/NumericPredicate:
Enabled: false
# The semantics of `foo&.bar` are a lot less interchangeable with `foo && foo.bar` than RuboCop thinks
Style/SafeNavigation:
Enabled: false
# Unclear why it's a good idea to give parameters semantically meaningless names
Style/SingleLineBlockParams:
Enabled: false
# TEMP IGNORE for ruby 2.7 upgrade
Style/OpenStructUse:
Enabled: false
# Allow some special handling for engines
Bundler/OrderedGems:
TreatCommentsAsGroupSeparators: true
# ------------------------
# new stuff in new rubocop
# ------------------------
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: false
Layout/SpaceAroundMethodCallOperator:
Enabled: false
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/MixedRegexpCaptureTypes:
Enabled: true
Lint/RaiseException:
Enabled: false
Lint/StructNewOverride:
Enabled: true
Style/ExponentialNotation:
Enabled: false
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: false
Style/RedundantRegexpCharacterClass:
Enabled: true
Style/RedundantRegexpEscape:
Enabled: true
Style/SlicingWithRange:
Enabled: true