rubocop-37signals 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []