This repository has been archived by the owner on Dec 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.rubocop.yml
197 lines (156 loc) · 5.02 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
197
inherit_from: .rubocop_todo.yml
AllCops:
DisplayCopNames: true
TargetRubyVersion: 2.3
Exclude:
# generated by rails/binstubs
- 'bin/**/*'
# auto generated by rails
- 'db/migrate/**/*'
- 'db/schema.rb'
# generated by guard
- 'Guardfile'
# 3rd party
- 'vendor/**/*'
- 'lib/**/*'
# Appraisal gem re-creates these occasionally
- gemfiles/*.gemfile
Style/Documentation:
Enabled: false
Style/BlockDelimiters:
Exclude:
# we like the `let(:foo) {}` syntax in specs
- 'spec/**/*.rb'
Style/ClassAndModuleChildren:
EnforcedStyle: compact
Exclude:
- 'config/application.rb'
Style/FormatStringToken:
EnforcedStyle: template
Style/RegexpLiteral:
Enabled: false
Metrics/BlockLength:
Exclude:
# config files where we expect long blocks
- 'config/routes.rb'
- 'config/initializers/**/*.rb'
- 'config/environments/**/*.rb'
# spec files that might have a big describe
- 'spec/**/*.rb'
# jbuilder DSL files
- '**/*.jbuilder'
Style/BracesAroundHashParameters:
Enabled: false
Lint/AssignmentInCondition:
Enabled: false
Style/EmptyMethod:
EnforcedStyle: expanded
Style/Alias:
EnforcedStyle: prefer_alias_method
Style/NumericPredicate:
EnforcedStyle: comparison
Layout/AlignParameters:
EnforcedStyle: with_fixed_indentation
Layout/IndentFirstHashElement:
EnforcedStyle: consistent
Layout/AlignHash:
# allow coder to get around alignment rules by explicitly defining the hash param
EnforcedLastArgumentHashStyle: ignore_explicit
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
# These are all the cops that are disabled in the default configuration.
Layout/FirstArrayElementLineBreak:
Description: >-
Checks for a line break before the first element in a
multi-line array.
Enabled: true
Layout/FirstHashElementLineBreak:
Description: >-
Checks for a line break before the first element in a
multi-line hash.
Enabled: true
Layout/FirstMethodArgumentLineBreak:
Description: >-
Checks for a line break before the first argument in a
multi-line method call.
Enabled: false
Layout/FirstMethodParameterLineBreak:
Description: >-
Checks for a line break before the first parameter in a
multi-line method parameter definition.
Enabled: true
Layout/MultilineAssignmentLayout:
Description: 'Check for a newline after the assignment operator in multi-line assignments.'
StyleGuide: '#indent-conditional-assignment'
Enabled: true
Style/AutoResourceCleanup:
Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
Enabled: true
Style/CollectionMethods:
Description: 'Preferred collection methods.'
StyleGuide: '#map-find-select-reduce-size'
Enabled: true
Style/Copyright:
Description: 'Include a copyright notice in each file before any code.'
Enabled: false
Style/DocumentationMethod:
Description: 'Public methods.'
Enabled: false
Exclude:
- 'spec/**/*'
- 'test/**/*'
Style/ImplicitRuntimeError:
Description: >-
Use `raise` or `fail` with an explicit exception class and
message, rather than just a message.
Enabled: true
Style/InlineComment:
Description: 'Avoid trailing inline comments.'
Enabled: true
Style/MethodCallWithArgsParentheses:
Description: 'Use parentheses for method calls with arguments.'
StyleGuide: '#method-invocation-parens'
Enabled: false
Style/MethodCalledOnDoEndBlock:
Description: 'Avoid chaining a method call on a do...end block.'
StyleGuide: '#single-line-blocks'
# TODO: enable after fixing todos
Enabled: false
Exclude:
- 'spec/**/*'
Style/MissingElse:
Description: >-
Require if/case expressions to have an else branches.
If enabled, it is recommended that
Style/UnlessElse and Style/EmptyElse be enabled.
This will conflict with Style/EmptyElse if
Style/EmptyElse is configured to style "both"
Enabled: false
EnforcedStyle: both
SupportedStyles:
# if - warn when an if expression is missing an else branch
# case - warn when a case expression is missing an else branch
# both - warn when an if or case expression is missing an else branch
- if
- case
- both
Style/OptionHash:
Description: "Don't use option hashes when you can use keyword arguments."
Enabled: true
Style/ReturnNil:
Description: 'Use return instead of return nil.'
Enabled: true
Style/Send:
Description: 'Prefer `Object#__send__` or `Object#public_send` to `send`, as `send` may overlap with existing methods.'
StyleGuide: '#prefer-public-send'
Enabled: true
Exclude:
- 'spec/**/*'
Style/StringMethods:
Description: 'Checks if configured preferred methods are used over non-preferred.'
Enabled: false
Style/SingleLineBlockParams:
Description: 'Enforces the names of some block params.'
Enabled: false