forked from rails-girls-summer-of-code/rgsoc-teams
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.rubocop.yml
206 lines (162 loc) · 5.22 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
198
199
200
201
202
203
204
205
206
AllCops:
TargetRubyVersion: 2.4
DisabledByDefault: true
#################### Layout ###############################
Layout/AccessModifierIndentation:
Description: Check indentation of private/protected visibility modifiers.
StyleGuide: '#indent-public-private-protected'
Enabled: true
Layout/InitialIndentation:
Description: >-
Checks the indentation of the first non-blank non-comment line in a file.
Enabled: true
Layout/IndentationWidth:
Description: "Use 2 spaces for indentation."
StyleGuide: "#spaces-indentation"
Enabled: true
Layout/IndentationConsistency:
Description: 'Keep indentation straight.'
StyleGuide: '#spaces-indentation'
Enabled: true
Layout/CaseIndentation:
Description: "Indentation of when in a case/when/[else/]end."
StyleGuide: "#indent-when-to-case"
Enabled: true
Layout/ElseAlignment:
Description: 'Align elses and elsifs correctly.'
Enabled: true
Layout/EmptyLinesAroundAccessModifier:
Description: "Keep blank lines around access modifiers."
StyleGuide: "#empty-lines-around-access-modifier"
Enabled: true
Lint/EndAlignment:
Description: 'Align ends correctly.'
Enabled: true
Layout/EndOfLine:
Description: "Use Unix-style line endings."
StyleGuide: "#crlf"
Enabled: true
Layout/ExtraSpacing:
Description: "Do not use unnecessary spacing."
Enabled: true
Layout/LeadingCommentSpace:
Description: "Comments should start with a space."
StyleGuide: "#hash-space"
Enabled: true
Layout/SpaceAfterColon:
Description: "Use spaces after colons."
StyleGuide: "#spaces-operators"
Enabled: true
Layout/SpaceAfterComma:
Description: "Use spaces after commas."
StyleGuide: '#spaces-operators'
Enabled: true
Layout/SpaceAfterMethodName:
Description: >-
Do not put a space between a method name and the opening
parenthesis in a method definition.
StyleGuide: "#parens-no-spaces"
Enabled: true
Layout/SpaceAfterNot:
Description: Tracks redundant space after the ! operator.
StyleGuide: "#no-space-bang"
Enabled: true
Layout/SpaceAfterSemicolon:
Description: "Use spaces after semicolons."
StyleGuide: '#spaces-operators'
Enabled: true
Layout/SpaceBeforeComma:
Description: "No spaces before commas."
Enabled: true
Layout/SpaceBeforeComment:
Description: >-
Checks for missing space between code and a comment on the
same line.
Enabled: true
Layout/SpaceBeforeSemicolon:
Description: "No spaces before semicolons."
Enabled: true
Layout/SpaceAroundOperators:
Description: "Use a single space around operators."
StyleGuide: "#spaces-operators"
Enabled: true
Layout/Tab:
Description: "No hard tabs."
StyleGuide: "#spaces-indentation"
Enabled: true
Layout/TrailingBlankLines:
Description: "Checks trailing blank lines and final newline."
StyleGuide: '#newline-eof'
Enabled: true
Layout/TrailingWhitespace:
Description: "Avoid trailing whitespace."
StyleGuide: "#no-trailing-whitespace"
Enabled: true
#################### Naming ##############################
Naming/ClassAndModuleCamelCase:
Description: "Use CamelCase for classes and modules."
StyleGuide: "#camelcase-classes"
Enabled: true
Naming/ConstantName:
Description: "Constants should use SCREAMING_SNAKE_CASE."
StyleGuide: "#screaming-snake-case"
Enabled: true
#################### Style ###############################
Style/ClassVars:
Description: 'Avoid the use of class variables.'
StyleGuide: '#no-class-vars'
Enabled: true
Style/DefWithParentheses:
Description: "Use def with parentheses when there are arguments."
StyleGuide: "#method-parens"
Enabled: true
Style/Encoding:
Description: "Use UTF-8 as the source file encoding."
StyleGuide: "#utf-8"
Enabled: true
# TODO
Style/FrozenStringLiteralComment:
Description: "Add frozen_string_literal comment to the top of files"
Include:
- "app/**/*.rb"
- "lib/**/*.rb"
Enabled: false
Style/HashSyntax:
Description: "Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1, :b => 2}"
EnforcedStyle: ruby19
Style/IfInsideElse:
Description: "Finds if nodes inside else, which can be converted to elsif."
Enabled: true
Style/MethodCallWithoutArgsParentheses:
Description: "Do not use parentheses for method calls with no arguments."
StyleGuide: "#method-invocation-parens"
Enabled: true
Style/MethodDefParentheses:
Description: >-
Checks if the method definitions have or don't have
parentheses.
StyleGuide: "#method-parens"
Enabled: true
Style/RedundantReturn:
Description: "Don't use return where it's not required."
Enabled: true
Style/RedundantSelf:
Description: "Don't use self where it's not needed."
Enabled: true
Style/TrailingCommaInArguments:
Description: "Checks for trailing comma in argument lists."
StyleGuide: "#no-trailing-params-comma"
Enabled: true
#################### Metrics ###############################
# TODO
Metrics/LineLength:
Description: "Limit lines to 80 characters."
StyleGuide: "#80-character-limits"
Enabled: false
#################### Bundler ###############################
Bundler/DuplicatedGem:
Description: "Checks for duplicate gem entries in Gemfile."
Enabled: true
Include:
- "**/Gemfile"
- "**/gems.rb"