rubykatzen-baseline 0.5.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: eae7b9f8ba94dbb6985106becc1d004e937aa17ff675719a764c1ed7eeafd400
4
+ data.tar.gz: 4d7041f61732d021034402ebc8e83d2afbf1fdde16189de5f7f050e28fdf7eb4
5
+ SHA512:
6
+ metadata.gz: c17db267b85ceabc5839366167a236016ad4b71ea86fad7ac91a535fe77dc136630693962d7f99221c1a81e2f591c28e1082b07048f6399f13eb43ae5d66015a
7
+ data.tar.gz: 9c281d8279f088b2e1f615a12d43c325f5fc4464194191bcb5cf5913e1fc87a7259c41002c0ae636be69a90260dd1c6c3ee9b1263c955172b365f6c9658d779b
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Rubykatzen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/baseline.gemspec ADDED
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/baseline/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rubykatzen-baseline"
7
+ spec.version = Baseline::VERSION
8
+ spec.authors = ["rubykatzen"]
9
+ spec.summary = "Shared RuboCop and erb_lint configs for dupmachine repositories"
10
+ spec.description = "Packages baseline RuboCop and erb_lint configs with runtime dependencies for consumer Ruby projects."
11
+ spec.homepage = "https://github.com/rubykatzen/baseline"
12
+ spec.license = "MIT"
13
+ spec.required_ruby_version = ">= 3.2"
14
+
15
+ spec.files = Dir[
16
+ "config/**/*",
17
+ "lib/**/*",
18
+ "exe/**/*",
19
+ "baseline.gemspec",
20
+ "LICENSE"
21
+ ]
22
+
23
+ spec.bindir = "exe"
24
+ spec.executables = ["baseline-install"]
25
+ spec.require_paths = ["lib"]
26
+
27
+ spec.add_dependency "rubocop", "~> 1.88"
28
+ # Unpinned below: Bundler resolves versions compatible with the rubocop floor.
29
+ spec.add_dependency "rubocop-performance"
30
+ spec.add_dependency "rubocop-rails"
31
+ spec.add_dependency "standard-custom"
32
+ spec.add_dependency "erb_lint"
33
+ end
@@ -0,0 +1,15 @@
1
+ exclude:
2
+ - 'vendor/**/*'
3
+ EnableDefaultLinters: true
4
+ linters:
5
+ RequireInputAutocomplete:
6
+ enabled: false
7
+ Rubocop:
8
+ enabled: true
9
+ rubocop_config:
10
+ Layout/TrailingEmptyLines:
11
+ Enabled: false
12
+ Layout/InitialIndentation:
13
+ Enabled: false
14
+ Lint/UselessAssignment:
15
+ Enabled: false
@@ -0,0 +1,21 @@
1
+ {
2
+ "extensions": {
3
+ "front-matter": {
4
+ "enabled": true
5
+ }
6
+ },
7
+ "plugins": {
8
+ "md013": {
9
+ "enabled": false
10
+ },
11
+ "md026": {
12
+ "enabled": false
13
+ },
14
+ "md034": {
15
+ "enabled": false
16
+ },
17
+ "md024": {
18
+ "allow_different_nesting": true
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ Style/DisableCopsWithinSourceCodeDirective:
2
+ Enabled: true
3
+ Style/FrozenStringLiteralComment:
4
+ Enabled: true
5
+ Rails/ActionOrder:
6
+ Enabled: true
7
+ Rails/HasManyOrHasOneDependent:
8
+ Enabled: true
9
+ Rails/InverseOf:
10
+ Enabled: true
11
+ Rails/ActionFilter:
12
+ Enabled: true
13
+ Rails/Delegate:
14
+ Enabled: true
15
+ Rails/NegateInclude:
16
+ Enabled: true
17
+ Rails/PluckId:
18
+ Enabled: true
19
+ Rails/Present:
20
+ Enabled: true
21
+ Rails/RedundantActiveRecordAllMethod:
22
+ Enabled: true
@@ -0,0 +1,2 @@
1
+ Standard/BlockSingleLineBraces:
2
+ Enabled: true
@@ -0,0 +1,108 @@
1
+ Performance/AncestorsInclude:
2
+ Enabled: false
3
+ Performance/ArraySemiInfiniteRangeSlice:
4
+ Enabled: false
5
+ Performance/BigDecimalWithNumericArgument:
6
+ Enabled: true
7
+ Performance/BindCall:
8
+ Enabled: true
9
+ Performance/BlockGivenWithExplicitBlock:
10
+ Enabled: false
11
+ Performance/Caller:
12
+ Enabled: true
13
+ Performance/CaseWhenSplat:
14
+ Enabled: false
15
+ Performance/Casecmp:
16
+ Enabled: false
17
+ Performance/ChainArrayAllocation:
18
+ Enabled: false
19
+ Performance/CollectionLiteralInLoop:
20
+ Enabled: false
21
+ Performance/CompareWithBlock:
22
+ Enabled: true
23
+ Performance/ConcurrentMonotonicTime:
24
+ Enabled: true
25
+ Performance/ConstantRegexp:
26
+ Enabled: true
27
+ Performance/Count:
28
+ Enabled: true
29
+ Performance/DeletePrefix:
30
+ Enabled: false
31
+ Performance/DeleteSuffix:
32
+ Enabled: false
33
+ Performance/Detect:
34
+ Enabled: true
35
+ Performance/DoubleStartEndWith:
36
+ Enabled: true
37
+ IncludeActiveSupportAliases: false
38
+ Performance/EndWith:
39
+ Enabled: true
40
+ Performance/FixedSize:
41
+ Enabled: true
42
+ Performance/FlatMap:
43
+ Enabled: true
44
+ EnabledForFlattenWithoutParams: false
45
+ Performance/InefficientHashSearch:
46
+ Enabled: true
47
+ Performance/IoReadlines:
48
+ Enabled: false
49
+ Performance/MapCompact:
50
+ Enabled: false
51
+ Performance/MapMethodChain:
52
+ Enabled: false
53
+ Performance/MethodObjectAsBlock:
54
+ Enabled: false
55
+ Performance/OpenStruct:
56
+ Enabled: false
57
+ Performance/RangeInclude:
58
+ Enabled: true
59
+ Performance/RedundantBlockCall:
60
+ Enabled: false
61
+ Performance/RedundantEqualityComparisonBlock:
62
+ Enabled: false
63
+ Performance/RedundantMatch:
64
+ Enabled: true
65
+ Performance/RedundantMerge:
66
+ Enabled: true
67
+ MaxKeyValuePairs: 2
68
+ Performance/RedundantSortBlock:
69
+ Enabled: true
70
+ Performance/RedundantSplitRegexpArgument:
71
+ Enabled: true
72
+ Performance/RedundantStringChars:
73
+ Enabled: true
74
+ Performance/RegexpMatch:
75
+ Enabled: true
76
+ Performance/ReverseEach:
77
+ Enabled: true
78
+ Performance/ReverseFirst:
79
+ Enabled: true
80
+ Performance/SelectMap:
81
+ Enabled: false
82
+ Performance/Size:
83
+ Enabled: true
84
+ Performance/SortReverse:
85
+ Enabled: true
86
+ Performance/Squeeze:
87
+ Enabled: true
88
+ Performance/StartWith:
89
+ Enabled: true
90
+ Performance/StringBytesize:
91
+ Enabled: true
92
+ Performance/StringIdentifierArgument:
93
+ Enabled: true
94
+ Performance/StringInclude:
95
+ Enabled: false
96
+ Performance/StringReplacement:
97
+ Enabled: true
98
+ Performance/Sum:
99
+ Enabled: false
100
+ Performance/TimesMap:
101
+ Enabled: false
102
+ Performance/UnfreezeString:
103
+ Enabled: true
104
+ Performance/UriDefaultParser:
105
+ Enabled: true
106
+ Performance/ZipWithoutBlock:
107
+ Enabled: true
108
+ AutoCorrect: false
@@ -0,0 +1,314 @@
1
+ AllCops:
2
+ Exclude:
3
+ - bin/*
4
+ # Exclude db/schema.rb and db/[CONFIGURATION_NAMESPACE]_schema.rb by default.
5
+ # See: https://guides.rubyonrails.org/active_record_multiple_databases.html#setting-up-your-application
6
+ - db/*schema.rb
7
+ - log/**/*
8
+ - public/**/*
9
+ - storage/**/*
10
+ # Enable checking Active Support extensions.
11
+ # See: https://docs.rubocop.org/rubocop/configuration.html#enable-checking-active-support-extensions
12
+ ActiveSupportExtensionsEnabled: true
13
+ # What version of Rails is the inspected code using? If a value is specified
14
+ # for TargetRailsVersion then it is used. Acceptable values are specified
15
+ # as a float (i.e. 5.1); the patch version of Rails should not be included.
16
+ # If TargetRailsVersion is not set, RuboCop will parse the Gemfile.lock or
17
+ # gems.locked file to find the version of Rails that has been bound to the
18
+ # application. If neither of those files exist, RuboCop will use Rails 5.0
19
+ # as the default.
20
+ TargetRailsVersion: ~
21
+ Lint/SafeNavigationChain:
22
+ Enabled: true
23
+ AllowedMethods:
24
+ - present?
25
+ - blank?
26
+ - presence
27
+ - presence_in
28
+ - try
29
+ - try!
30
+ - in?
31
+ Lint/UselessAccessModifier:
32
+ Enabled: false
33
+ Lint/UselessMethodDefinition:
34
+ Enabled: false
35
+ Rails/ActionControllerFlashBeforeRender:
36
+ Enabled: false
37
+ Rails/ActionControllerTestCase:
38
+ Enabled: false
39
+ Rails/ActionFilter:
40
+ Enabled: false
41
+ Rails/ActionOrder:
42
+ Enabled: false
43
+ Rails/ActiveRecordAliases:
44
+ Enabled: true
45
+ Rails/ActiveRecordCallbacksOrder:
46
+ Enabled: true
47
+ Rails/ActiveRecordOverride:
48
+ Enabled: true
49
+ Rails/ActiveSupportAliases:
50
+ Enabled: false
51
+ Rails/ActiveSupportOnLoad:
52
+ Enabled: true
53
+ Rails/AddColumnIndex:
54
+ Enabled: true
55
+ Rails/AfterCommitOverride:
56
+ Enabled: true
57
+ Rails/ApplicationController:
58
+ Enabled: true
59
+ Rails/ApplicationJob:
60
+ Enabled: true
61
+ Rails/ApplicationMailer:
62
+ Enabled: true
63
+ Rails/ApplicationRecord:
64
+ Enabled: true
65
+ Exclude:
66
+ - 'db/migrate/**/*'
67
+ Rails/ArelStar:
68
+ Enabled: true
69
+ Rails/AssertNot:
70
+ Enabled: false
71
+ Rails/AttributeDefaultBlockValue:
72
+ Enabled: true
73
+ Rails/BelongsTo:
74
+ Enabled: true
75
+ Rails/Blank:
76
+ Enabled: true
77
+ Rails/BulkChangeTable:
78
+ Enabled: false
79
+ Rails/CompactBlank:
80
+ Enabled: true
81
+ Rails/ContentTag:
82
+ Enabled: true
83
+ Rails/CreateTableWithTimestamps:
84
+ Enabled: true
85
+ Rails/DangerousColumnNames:
86
+ Enabled: true
87
+ Rails/Date:
88
+ Enabled: true
89
+ Rails/DefaultScope:
90
+ Enabled: false
91
+ Rails/Delegate:
92
+ Enabled: false
93
+ Rails/DelegateAllowBlank:
94
+ Enabled: true
95
+ Rails/DeprecatedActiveModelErrorsMethods:
96
+ Enabled: false
97
+ Rails/DotSeparatedKeys:
98
+ Enabled: true
99
+ Rails/DuplicateAssociation:
100
+ Enabled: true
101
+ AutoCorrect: false
102
+ Rails/DuplicateScope:
103
+ Enabled: true
104
+ Rails/DurationArithmetic:
105
+ Enabled: true
106
+ Rails/DynamicFindBy:
107
+ Enabled: false
108
+ Rails/EagerEvaluationLogMessage:
109
+ Enabled: true
110
+ Rails/EnumHash:
111
+ Enabled: true
112
+ Rails/EnumSyntax:
113
+ Enabled: true
114
+ Rails/EnumUniqueness:
115
+ Enabled: true
116
+ Rails/Env:
117
+ Enabled: false
118
+ Rails/EnvLocal:
119
+ Enabled: true
120
+ Rails/EnvironmentComparison:
121
+ Enabled: true
122
+ Rails/EnvironmentVariableAccess:
123
+ Enabled: false
124
+ Rails/Exit:
125
+ Enabled: true
126
+ Rails/ExpandedDateRange:
127
+ Enabled: true
128
+ Rails/FilePath:
129
+ Enabled: true
130
+ Rails/FindBy:
131
+ Enabled: true
132
+ Rails/FindById:
133
+ Enabled: true
134
+ Rails/FindByOrAssignmentMemoization:
135
+ Enabled: false
136
+ Rails/FindEach:
137
+ Enabled: true
138
+ Rails/FreezeTime:
139
+ Enabled: false
140
+ Rails/HasAndBelongsToMany:
141
+ Enabled: true
142
+ Rails/HasManyOrHasOneDependent:
143
+ Enabled: false
144
+ Rails/HelperInstanceVariable:
145
+ Enabled: false
146
+ Rails/HttpPositionalArguments:
147
+ Enabled: true
148
+ Rails/HttpStatus:
149
+ Enabled: false
150
+ Rails/HttpStatusNameConsistency:
151
+ Enabled: true
152
+ Rails/I18nLazyLookup:
153
+ Enabled: false
154
+ Rails/I18nLocaleAssignment:
155
+ Enabled: true
156
+ Rails/I18nLocaleTexts:
157
+ Enabled: false
158
+ Rails/IgnoredColumnsAssignment:
159
+ Enabled: true
160
+ Rails/IgnoredSkipActionFilterOption:
161
+ Enabled: true
162
+ Rails/IndexBy:
163
+ Enabled: false
164
+ Rails/IndexWith:
165
+ Enabled: false
166
+ Rails/Inquiry:
167
+ Enabled: false
168
+ Rails/InverseOf:
169
+ Enabled: false
170
+ Rails/LexicallyScopedActionFilter:
171
+ Enabled: true
172
+ Rails/LinkToBlank:
173
+ Enabled: true
174
+ Rails/MailerName:
175
+ Enabled: true
176
+ Rails/MatchRoute:
177
+ Enabled: true
178
+ Rails/MigrationClassName:
179
+ Enabled: true
180
+ Rails/MultipleRoutePaths:
181
+ Enabled: true
182
+ Rails/NegateInclude:
183
+ Enabled: false
184
+ Rails/NotNullColumn:
185
+ Enabled: false
186
+ Rails/OrderArguments:
187
+ Enabled: false
188
+ Rails/OrderById:
189
+ Enabled: false
190
+ Rails/Output:
191
+ Enabled: true
192
+ Rails/OutputSafety:
193
+ Enabled: false
194
+ Rails/Pick:
195
+ Enabled: true
196
+ Rails/Pluck:
197
+ Enabled: true
198
+ Rails/PluckId:
199
+ Enabled: false
200
+ Rails/PluckInWhere:
201
+ Enabled: true
202
+ Rails/PluralizationGrammar:
203
+ Enabled: false
204
+ Rails/Presence:
205
+ Enabled: true
206
+ Rails/Present:
207
+ Enabled: false
208
+ Rails/RakeEnvironment:
209
+ Enabled: false
210
+ Rails/ReadWriteAttribute:
211
+ Enabled: true
212
+ Rails/RedirectBackOrTo:
213
+ Enabled: true
214
+ Rails/RedundantActiveRecordAllMethod:
215
+ Enabled: false
216
+ Rails/RedundantAllowNil:
217
+ Enabled: true
218
+ Rails/RedundantForeignKey:
219
+ Enabled: true
220
+ Rails/RedundantPresenceValidationOnBelongsTo:
221
+ Enabled: true
222
+ Rails/RedundantReceiverInWithOptions:
223
+ Enabled: true
224
+ Rails/RedundantTravelBack:
225
+ Enabled: true
226
+ Rails/ReflectionClassName:
227
+ Enabled: true
228
+ Rails/RefuteMethods:
229
+ Enabled: false
230
+ Rails/RelativeDateConstant:
231
+ Enabled: true
232
+ Rails/RenderInline:
233
+ Enabled: false
234
+ Rails/RenderPlainText:
235
+ Enabled: true
236
+ Rails/RequestReferer:
237
+ Enabled: false
238
+ Rails/RequireDependency:
239
+ Enabled: false
240
+ Rails/ResponseParsedBody:
241
+ Enabled: false
242
+ Rails/ReversibleMigration:
243
+ Enabled: true
244
+ Rails/ReversibleMigrationMethodDefinition:
245
+ Enabled: true
246
+ Rails/RootJoinChain:
247
+ Enabled: true
248
+ Rails/RootPathnameMethods:
249
+ Enabled: true
250
+ Rails/RootPublicPath:
251
+ Enabled: true
252
+ Rails/SafeNavigation:
253
+ Enabled: true
254
+ Rails/SafeNavigationWithBlank:
255
+ Enabled: true
256
+ Rails/SaveBang:
257
+ Enabled: false
258
+ Rails/SchemaComment:
259
+ Enabled: false
260
+ Rails/ScopeArgs:
261
+ Enabled: true
262
+ Rails/SelectMap:
263
+ Enabled: false
264
+ Rails/ShortI18n:
265
+ Enabled: false
266
+ Rails/SkipsModelValidations:
267
+ Enabled: false
268
+ Rails/SquishedSQLHeredocs:
269
+ Enabled: false
270
+ Rails/StripHeredoc:
271
+ Enabled: true
272
+ Rails/StrongParametersExpect:
273
+ Enabled: false
274
+ Rails/TableNameAssignment:
275
+ Enabled: false
276
+ Rails/ThreeStateBooleanColumn:
277
+ Enabled: pending
278
+ Rails/TimeZone:
279
+ Enabled: true
280
+ Rails/TimeZoneAssignment:
281
+ Enabled: true
282
+ Rails/ToFormattedS:
283
+ Enabled: true
284
+ EnforcedStyle: to_fs
285
+ Rails/ToSWithArgument:
286
+ Enabled: true
287
+ Rails/TopLevelHashWithIndifferentAccess:
288
+ Enabled: true
289
+ Rails/TransactionExitStatement:
290
+ Enabled: true
291
+ Rails/UniqBeforePluck:
292
+ Enabled: true
293
+ Rails/UniqueValidationWithoutIndex:
294
+ Enabled: true
295
+ Rails/UnknownEnv:
296
+ Enabled: false
297
+ Rails/UnusedIgnoredColumns:
298
+ Enabled: false
299
+ Rails/UnusedRenderContent:
300
+ Enabled: true
301
+ Rails/Validation:
302
+ Enabled: true
303
+ Rails/WhereEquals:
304
+ Enabled: true
305
+ Rails/WhereExists:
306
+ Enabled: false
307
+ Rails/WhereMissing:
308
+ Enabled: true
309
+ Rails/WhereNot:
310
+ Enabled: true
311
+ Rails/WhereNotWithMultipleConditions:
312
+ Enabled: false
313
+ Rails/WhereRange:
314
+ Enabled: false