rubocop-37signals 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/rubocop.yml +246 -0
  3. metadata +99 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b665740afdba1b02ebfb9018beb0b1a847890869d95f6701d0c0f9b4969f12cd
4
+ data.tar.gz: 424502dd3f130e0da614b740bf202350a5bba5e8f5efe8e70c5fe3123f6ba73f
5
+ SHA512:
6
+ metadata.gz: 90c8fc1d3d9ac976ccf593388b6504469be513ddb52ddd2c31d82223760e008febb2399839f5b53700940d2fddb77b69eb7f632c38d501eae748f699c1941b63
7
+ data.tar.gz: cdc44906b24b81645dc70251ae4f76e08d544cb6817096b46e90b7aac3113d80a9c79a3a995bbf27e4163cddc695ae4281bcd288d0a7692e72ce60e8c426cc44
data/rubocop.yml ADDED
@@ -0,0 +1,246 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rails
4
+ - rubocop-minitest
5
+
6
+ inherit_mode:
7
+ merge:
8
+ - Exclude
9
+
10
+ AllCops:
11
+ DisabledByDefault: true
12
+ Exclude:
13
+ - "data/**/*"
14
+ - "db/*schema.rb"
15
+ - "log/**/*"
16
+ - "node_modules/**/*"
17
+ - "public/**/*"
18
+ - "storage/**/*"
19
+ - "tmp/**/*"
20
+ - "vendor/**/*"
21
+
22
+ Performance:
23
+ Exclude:
24
+ - "test/**/*"
25
+
26
+ # Prefer assert_not over assert !
27
+ Rails/AssertNot:
28
+ Include:
29
+ - "test/**/*"
30
+
31
+ # Prefer assert_not_x over refute_x
32
+ Rails/RefuteMethods:
33
+ Include:
34
+ - "test/**/*"
35
+
36
+ # We generally prefer &&/|| but like low-precedence and/or in context
37
+ Style/AndOr:
38
+ Enabled: false
39
+
40
+ # Align `when` with `end`.
41
+ Layout/CaseIndentation:
42
+ Enabled: true
43
+ EnforcedStyle: end
44
+
45
+ # Align comments with method definitions.
46
+ Layout/CommentIndentation:
47
+ Enabled: true
48
+
49
+ Layout/ElseAlignment:
50
+ Enabled: true
51
+
52
+ # Align `end` with the matching keyword or starting expression except for
53
+ # assignments, where it should be aligned with the LHS.
54
+ Layout/EndAlignment:
55
+ Enabled: true
56
+ EnforcedStyleAlignWith: variable
57
+ AutoCorrect: true
58
+
59
+ Layout/EmptyLineAfterMagicComment:
60
+ Enabled: true
61
+
62
+ Layout/EmptyLinesAroundBlockBody:
63
+ Enabled: true
64
+
65
+ # In a regular class definition, no empty lines around the body.
66
+ Layout/EmptyLinesAroundClassBody:
67
+ Enabled: true
68
+
69
+ # In a regular method definition, no empty lines around the body.
70
+ Layout/EmptyLinesAroundMethodBody:
71
+ Enabled: true
72
+
73
+ # In a regular module definition, no empty lines around the body.
74
+ Layout/EmptyLinesAroundModuleBody:
75
+ Enabled: true
76
+
77
+ # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
78
+ Style/HashSyntax:
79
+ Enabled: true
80
+
81
+ # Method definitions after `private` or `protected` isolated calls need one
82
+ # extra level of indentation.
83
+ #
84
+ # We break this rule in context, though, e.g. for private-only concerns,
85
+ # so we leave it disabled.
86
+ Layout/IndentationConsistency:
87
+ Enabled: false
88
+ EnforcedStyle: indented_internal_methods
89
+
90
+ # Two spaces, no tabs (for indentation).
91
+ #
92
+ # Doesn't behave properly with private-only concerns, so it's disabled.
93
+ Layout/IndentationWidth:
94
+ Enabled: false
95
+
96
+ Layout/LeadingCommentSpace:
97
+ Enabled: true
98
+
99
+ Layout/SpaceAfterColon:
100
+ Enabled: true
101
+
102
+ Layout/SpaceAfterComma:
103
+ Enabled: true
104
+
105
+ Layout/SpaceAroundEqualsInParameterDefault:
106
+ Enabled: true
107
+
108
+ Layout/SpaceAroundKeyword:
109
+ Enabled: true
110
+
111
+ Layout/SpaceBeforeComma:
112
+ Enabled: true
113
+
114
+ Layout/SpaceBeforeFirstArg:
115
+ Enabled: true
116
+
117
+ Style/DefWithParentheses:
118
+ Enabled: true
119
+
120
+ # Defining a method with parameters needs parentheses.
121
+ Style/MethodDefParentheses:
122
+ Enabled: true
123
+
124
+ # Use `foo {}` not `foo{}`.
125
+ Layout/SpaceBeforeBlockBraces:
126
+ Enabled: true
127
+
128
+ # Use `->(x, y) { x + y }` not `-> (x, y) { x + y }`
129
+ Layout/SpaceInLambdaLiteral:
130
+ Enabled: true
131
+
132
+ Style/StabbyLambdaParentheses:
133
+ Enabled: true
134
+
135
+ # Use `foo { bar }` not `foo {bar}`.
136
+ # Use `foo { }` not `foo {}`.
137
+ Layout/SpaceInsideBlockBraces:
138
+ Enabled: true
139
+ EnforcedStyleForEmptyBraces: space
140
+
141
+ # Use `[ a, [ b, c ] ]` not `[a, [b, c]]`
142
+ # Use `[]` not `[ ]`
143
+ Layout/SpaceInsideArrayLiteralBrackets:
144
+ Enabled: true
145
+ EnforcedStyle: space
146
+ EnforcedStyleForEmptyBrackets: no_space
147
+
148
+ # Use `%w[ a b ]` not `%w[ a b ]`.
149
+ Layout/SpaceInsideArrayPercentLiteral:
150
+ Enabled: true
151
+
152
+ # Use `{ a: 1 }` not `{a:1}`.
153
+ # Use `{}` not `{ }`.
154
+ Layout/SpaceInsideHashLiteralBraces:
155
+ Enabled: true
156
+ EnforcedStyle: space
157
+ EnforcedStyleForEmptyBraces: no_space
158
+
159
+ # Use `foo(bar)` not `foo( bar )`
160
+ Layout/SpaceInsideParens:
161
+ Enabled: true
162
+
163
+ # Requiring a space is not yet supported as of 0.59.2
164
+ # Use `%w[ foo ]` not `%w[foo]`
165
+ Layout/SpaceInsidePercentLiteralDelimiters:
166
+ Enabled: false
167
+ #EnforcedStyle: space
168
+
169
+ # Use `hash[:key]` not `hash[ :key ]`
170
+ Layout/SpaceInsideReferenceBrackets:
171
+ Enabled: true
172
+
173
+ # Use `"foo"` not `'foo'` unless escaping is required
174
+ Style/StringLiterals:
175
+ Enabled: true
176
+ EnforcedStyle: double_quotes
177
+ Include:
178
+ - "app/**/*"
179
+ - "config/**/*"
180
+ - "lib/**/*"
181
+ - "test/**/*"
182
+ - "Gemfile"
183
+
184
+ # Detect hard tabs, no hard tabs.
185
+ Layout/IndentationStyle:
186
+ Enabled: true
187
+
188
+ # Blank lines should not have any spaces.
189
+ Layout/TrailingEmptyLines:
190
+ Enabled: true
191
+
192
+ # No trailing whitespace.
193
+ Layout/TrailingWhitespace:
194
+ Enabled: true
195
+
196
+ # Use quotes for string literals when they are enough.
197
+ Style/RedundantPercentQ:
198
+ Enabled: false
199
+
200
+ # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
201
+ Lint/RequireParentheses:
202
+ Enabled: true
203
+
204
+ Lint/RedundantStringCoercion:
205
+ Enabled: true
206
+
207
+ Lint/UriEscapeUnescape:
208
+ Enabled: true
209
+
210
+ Style/ParenthesesAroundCondition:
211
+ Enabled: true
212
+
213
+ Style/RedundantReturn:
214
+ Enabled: true
215
+ AllowMultipleReturnValues: true
216
+
217
+ Style/Semicolon:
218
+ Enabled: true
219
+ AllowAsExpressionSeparator: true
220
+
221
+ # Prefer Foo.method over Foo::method
222
+ Style/ColonMethodCall:
223
+ Enabled: true
224
+
225
+ Style/PercentLiteralDelimiters:
226
+ Enabled: true
227
+ PreferredDelimiters:
228
+ default: "()"
229
+ "%i": "[]"
230
+ "%I": "[]"
231
+ "%r": "{}"
232
+ "%w": "[]"
233
+ "%W": "[]"
234
+
235
+ Style/TrailingCommaInArrayLiteral:
236
+ Enabled: true
237
+
238
+ Style/TrailingCommaInHashLiteral:
239
+ Enabled: true
240
+
241
+ Performance/FlatMap:
242
+ Enabled: true
243
+
244
+ Performance/UnfreezeString:
245
+ Enabled: true
246
+
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubocop-37signals
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - 37signals
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-09-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-performance
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop-minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description:
70
+ email: support@37signals.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - rubocop.yml
76
+ homepage: https://github.com/basecamp/house-style
77
+ licenses:
78
+ - MIT
79
+ metadata: {}
80
+ post_install_message:
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ requirements: []
95
+ rubygems_version: 3.4.12
96
+ signing_key:
97
+ specification_version: 4
98
+ summary: 37signals house style for Ruby programming
99
+ test_files: []