ruboclean 0.2.1 → 0.4.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 +4 -4
- data/.github/workflows/ci.yml +14 -18
- data/.rubocop.yml +372 -0
- data/Gemfile +7 -5
- data/Gemfile.lock +28 -19
- data/README.md +13 -17
- data/Rakefile +5 -5
- data/bin/console +3 -3
- data/bin/ruboclean +2 -7
- data/bin/test +4 -4
- data/lib/ruboclean/arguments.rb +42 -0
- data/lib/ruboclean/grouper.rb +2 -2
- data/lib/ruboclean/orderer.rb +1 -1
- data/lib/ruboclean/rubocop_configuration.rb +4 -0
- data/lib/ruboclean/rubocop_configuration_path.rb +28 -7
- data/lib/ruboclean/runner.rb +23 -0
- data/lib/ruboclean/version.rb +1 -1
- data/lib/ruboclean.rb +12 -8
- data/ruboclean.gemspec +15 -14
- metadata +6 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d44db013c200c2aa27fb69d03ba72a9160fdff84c32fd337616c741f665fc02
|
|
4
|
+
data.tar.gz: 506a81ba8570624d6a7694b634c5daeca924049ec4a799cc8d3634500908aa5d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 46aefeee7846f41223c011cba0926d1a4554c9c9072ed05b3d346d584f1e71a76ded64daf6648956b6d707d82388696fa4ae2729560f710ad9d1cd522b30f8b1
|
|
7
|
+
data.tar.gz: b4b699189ad6cced7bb0beeed940550217c0d14c140b6d20eb3f25876ecd23415436bdd91f106d9cc33a57c0a52582e58515159854d37a3ac860c1d3be1d46ad
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -1,33 +1,29 @@
|
|
|
1
1
|
env:
|
|
2
|
-
RUBY_VERSION: 2.7
|
|
3
2
|
CC_TEST_REPORTER_BINARY_URL: https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64
|
|
4
3
|
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
|
5
4
|
|
|
6
5
|
name: Continuous Integration
|
|
7
|
-
on:
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- 'main' # Set a branch to deploy
|
|
10
|
+
pull_request:
|
|
8
11
|
|
|
9
12
|
jobs:
|
|
10
13
|
test:
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
strategy:
|
|
15
|
+
fail-fast: false
|
|
16
|
+
matrix:
|
|
17
|
+
os: [ubuntu-latest]
|
|
18
|
+
ruby: ['2.7', '3.0', '3.1', '3.2', head]
|
|
19
|
+
runs-on: ${{ matrix.os }}
|
|
13
20
|
steps:
|
|
14
|
-
- uses: actions/checkout@
|
|
21
|
+
- uses: actions/checkout@v3
|
|
15
22
|
|
|
16
23
|
- uses: ruby/setup-ruby@v1
|
|
17
24
|
with:
|
|
18
|
-
ruby-version: ${{
|
|
19
|
-
|
|
20
|
-
# install gems
|
|
21
|
-
- name: Cache Ruby gems
|
|
22
|
-
uses: actions/cache@v2
|
|
23
|
-
with:
|
|
24
|
-
path: vendor/bundle
|
|
25
|
-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
26
|
-
|
|
27
|
-
- name: Bundle install
|
|
28
|
-
run: |
|
|
29
|
-
bundle config path vendor/bundle
|
|
30
|
-
bundle install --jobs 4 --retry 3
|
|
25
|
+
ruby-version: ${{ matrix.ruby }}
|
|
26
|
+
bundler-cache: true
|
|
31
27
|
|
|
32
28
|
# prepare CC test reporter
|
|
33
29
|
- name: Download CC test reporter binary
|
data/.rubocop.yml
CHANGED
|
@@ -1,107 +1,376 @@
|
|
|
1
1
|
---
|
|
2
2
|
|
|
3
|
+
require:
|
|
4
|
+
- rubocop-minitest
|
|
5
|
+
- rubocop-rake
|
|
6
|
+
|
|
7
|
+
Gemspec/DeprecatedAttributeAssignment:
|
|
8
|
+
Enabled: true
|
|
9
|
+
|
|
10
|
+
Gemspec/DevelopmentDependencies:
|
|
11
|
+
Enabled: true
|
|
12
|
+
|
|
13
|
+
Gemspec/RequireMFA:
|
|
14
|
+
Enabled: true
|
|
15
|
+
|
|
3
16
|
Layout/BeginEndAlignment:
|
|
4
17
|
Enabled: true
|
|
5
18
|
|
|
6
19
|
Layout/EmptyLinesAroundAttributeAccessor:
|
|
7
20
|
Enabled: true
|
|
8
21
|
|
|
22
|
+
Layout/LineContinuationLeadingSpace:
|
|
23
|
+
Enabled: true
|
|
24
|
+
|
|
25
|
+
Layout/LineContinuationSpacing:
|
|
26
|
+
Enabled: true
|
|
27
|
+
|
|
28
|
+
Layout/LineEndStringConcatenationIndentation:
|
|
29
|
+
Enabled: true
|
|
30
|
+
|
|
9
31
|
Layout/SpaceAroundMethodCallOperator:
|
|
10
32
|
Enabled: true
|
|
11
33
|
|
|
34
|
+
Layout/SpaceBeforeBrackets:
|
|
35
|
+
Enabled: true
|
|
36
|
+
|
|
37
|
+
Lint/AmbiguousAssignment:
|
|
38
|
+
Enabled: true
|
|
39
|
+
|
|
40
|
+
Lint/AmbiguousOperatorPrecedence:
|
|
41
|
+
Enabled: true
|
|
42
|
+
|
|
43
|
+
Lint/AmbiguousRange:
|
|
44
|
+
Enabled: true
|
|
45
|
+
|
|
12
46
|
Lint/BinaryOperatorWithIdenticalOperands:
|
|
13
47
|
Enabled: true
|
|
14
48
|
|
|
15
49
|
Lint/ConstantDefinitionInBlock:
|
|
16
50
|
Enabled: true
|
|
17
51
|
|
|
52
|
+
Lint/ConstantOverwrittenInRescue:
|
|
53
|
+
Enabled: true
|
|
54
|
+
|
|
55
|
+
Lint/DeprecatedConstants:
|
|
56
|
+
Enabled: true
|
|
57
|
+
|
|
18
58
|
Lint/DeprecatedOpenSSLConstant:
|
|
19
59
|
Enabled: true
|
|
20
60
|
|
|
61
|
+
Lint/DuplicateBranch:
|
|
62
|
+
Enabled: true
|
|
63
|
+
|
|
21
64
|
Lint/DuplicateElsifCondition:
|
|
22
65
|
Enabled: true
|
|
23
66
|
|
|
67
|
+
Lint/DuplicateMagicComment:
|
|
68
|
+
Enabled: true
|
|
69
|
+
|
|
70
|
+
Lint/DuplicateMatchPattern:
|
|
71
|
+
Enabled: true
|
|
72
|
+
|
|
73
|
+
Lint/DuplicateRegexpCharacterClassElement:
|
|
74
|
+
Enabled: true
|
|
75
|
+
|
|
24
76
|
Lint/DuplicateRequire:
|
|
25
77
|
Enabled: true
|
|
26
78
|
|
|
27
79
|
Lint/DuplicateRescueException:
|
|
28
80
|
Enabled: true
|
|
29
81
|
|
|
82
|
+
Lint/EmptyBlock:
|
|
83
|
+
Enabled: true
|
|
84
|
+
|
|
85
|
+
Lint/EmptyClass:
|
|
86
|
+
Enabled: true
|
|
87
|
+
|
|
30
88
|
Lint/EmptyConditionalBody:
|
|
31
89
|
Enabled: true
|
|
32
90
|
|
|
33
91
|
Lint/EmptyFile:
|
|
34
92
|
Enabled: true
|
|
35
93
|
|
|
94
|
+
Lint/EmptyInPattern:
|
|
95
|
+
Enabled: true
|
|
96
|
+
|
|
36
97
|
Lint/FloatComparison:
|
|
37
98
|
Enabled: true
|
|
38
99
|
|
|
39
100
|
Lint/IdentityComparison:
|
|
40
101
|
Enabled: true
|
|
41
102
|
|
|
103
|
+
Lint/IncompatibleIoSelectWithFiberScheduler:
|
|
104
|
+
Enabled: true
|
|
105
|
+
|
|
106
|
+
Lint/LambdaWithoutLiteralBlock:
|
|
107
|
+
Enabled: true
|
|
108
|
+
|
|
42
109
|
Lint/MissingSuper:
|
|
43
110
|
Enabled: true
|
|
44
111
|
|
|
45
112
|
Lint/MixedRegexpCaptureTypes:
|
|
46
113
|
Enabled: true
|
|
47
114
|
|
|
115
|
+
Lint/NoReturnInBeginEndBlocks:
|
|
116
|
+
Enabled: true
|
|
117
|
+
|
|
118
|
+
Lint/NonAtomicFileOperation:
|
|
119
|
+
Enabled: true
|
|
120
|
+
|
|
121
|
+
Lint/NumberedParameterAssignment:
|
|
122
|
+
Enabled: true
|
|
123
|
+
|
|
124
|
+
Lint/OrAssignmentToConstant:
|
|
125
|
+
Enabled: true
|
|
126
|
+
|
|
48
127
|
Lint/OutOfRangeRegexpRef:
|
|
49
128
|
Enabled: true
|
|
50
129
|
|
|
51
130
|
Lint/RaiseException:
|
|
52
131
|
Enabled: true
|
|
53
132
|
|
|
133
|
+
Lint/RedundantDirGlobSort:
|
|
134
|
+
Enabled: true
|
|
135
|
+
|
|
136
|
+
Lint/RefinementImportMethods:
|
|
137
|
+
Enabled: true
|
|
138
|
+
|
|
139
|
+
Lint/RequireRangeParentheses:
|
|
140
|
+
Enabled: true
|
|
141
|
+
|
|
142
|
+
Lint/RequireRelativeSelfPath:
|
|
143
|
+
Enabled: true
|
|
144
|
+
|
|
54
145
|
Lint/SelfAssignment:
|
|
55
146
|
Enabled: true
|
|
56
147
|
|
|
57
148
|
Lint/StructNewOverride:
|
|
58
149
|
Enabled: true
|
|
59
150
|
|
|
151
|
+
Lint/SymbolConversion:
|
|
152
|
+
Enabled: true
|
|
153
|
+
|
|
154
|
+
Lint/ToEnumArguments:
|
|
155
|
+
Enabled: true
|
|
156
|
+
|
|
60
157
|
Lint/TopLevelReturnWithArgument:
|
|
61
158
|
Enabled: true
|
|
62
159
|
|
|
63
160
|
Lint/TrailingCommaInAttributeDeclaration:
|
|
64
161
|
Enabled: true
|
|
65
162
|
|
|
163
|
+
Lint/TripleQuotes:
|
|
164
|
+
Enabled: true
|
|
165
|
+
|
|
166
|
+
Lint/UnexpectedBlockArity:
|
|
167
|
+
Enabled: true
|
|
168
|
+
|
|
169
|
+
Lint/UnmodifiedReduceAccumulator:
|
|
170
|
+
Enabled: true
|
|
171
|
+
|
|
66
172
|
Lint/UnreachableLoop:
|
|
67
173
|
Enabled: true
|
|
68
174
|
|
|
69
175
|
Lint/UselessMethodDefinition:
|
|
70
176
|
Enabled: true
|
|
71
177
|
|
|
178
|
+
Lint/UselessRescue:
|
|
179
|
+
Enabled: true
|
|
180
|
+
|
|
181
|
+
Lint/UselessRuby2Keywords:
|
|
182
|
+
Enabled: true
|
|
183
|
+
|
|
72
184
|
Lint/UselessTimes:
|
|
73
185
|
Enabled: true
|
|
74
186
|
|
|
187
|
+
Metrics/CollectionLiteralLength:
|
|
188
|
+
Enabled: true
|
|
189
|
+
|
|
190
|
+
Minitest/AssertInDelta:
|
|
191
|
+
Enabled: true
|
|
192
|
+
|
|
193
|
+
Minitest/AssertKindOf:
|
|
194
|
+
Enabled: true
|
|
195
|
+
|
|
196
|
+
Minitest/AssertOutput:
|
|
197
|
+
Enabled: true
|
|
198
|
+
|
|
199
|
+
Minitest/AssertPathExists:
|
|
200
|
+
Enabled: true
|
|
201
|
+
|
|
202
|
+
Minitest/AssertPredicate:
|
|
203
|
+
Enabled: true
|
|
204
|
+
|
|
205
|
+
Minitest/AssertRaisesCompoundBody:
|
|
206
|
+
Enabled: true
|
|
207
|
+
|
|
208
|
+
Minitest/AssertRaisesWithRegexpArgument:
|
|
209
|
+
Enabled: true
|
|
210
|
+
|
|
211
|
+
Minitest/AssertSame:
|
|
212
|
+
Enabled: true
|
|
213
|
+
|
|
214
|
+
Minitest/AssertSilent:
|
|
215
|
+
Enabled: true
|
|
216
|
+
|
|
217
|
+
Minitest/AssertWithExpectedArgument:
|
|
218
|
+
Enabled: true
|
|
219
|
+
|
|
220
|
+
Minitest/AssertionInLifecycleHook:
|
|
221
|
+
Enabled: true
|
|
222
|
+
|
|
223
|
+
Minitest/DuplicateTestRun:
|
|
224
|
+
Enabled: true
|
|
225
|
+
|
|
226
|
+
Minitest/EmptyLineBeforeAssertionMethods:
|
|
227
|
+
Enabled: true
|
|
228
|
+
|
|
229
|
+
Minitest/LifecycleHooksOrder:
|
|
230
|
+
Enabled: true
|
|
231
|
+
|
|
232
|
+
Minitest/LiteralAsActualArgument:
|
|
233
|
+
Enabled: true
|
|
234
|
+
|
|
235
|
+
Minitest/MultipleAssertions:
|
|
236
|
+
Enabled: true
|
|
237
|
+
Max: 5
|
|
238
|
+
|
|
239
|
+
Minitest/NonPublicTestMethod:
|
|
240
|
+
Enabled: true
|
|
241
|
+
|
|
242
|
+
Minitest/RefuteInDelta:
|
|
243
|
+
Enabled: true
|
|
244
|
+
|
|
245
|
+
Minitest/RefuteKindOf:
|
|
246
|
+
Enabled: true
|
|
247
|
+
|
|
248
|
+
Minitest/RefutePathExists:
|
|
249
|
+
Enabled: true
|
|
250
|
+
|
|
251
|
+
Minitest/RefutePredicate:
|
|
252
|
+
Enabled: true
|
|
253
|
+
|
|
254
|
+
Minitest/RefuteSame:
|
|
255
|
+
Enabled: true
|
|
256
|
+
|
|
257
|
+
Minitest/ReturnInTestMethod:
|
|
258
|
+
Enabled: true
|
|
259
|
+
|
|
260
|
+
Minitest/SkipEnsure:
|
|
261
|
+
Enabled: true
|
|
262
|
+
|
|
263
|
+
Minitest/SkipWithoutReason:
|
|
264
|
+
Enabled: true
|
|
265
|
+
|
|
266
|
+
Minitest/TestFileName:
|
|
267
|
+
Enabled: true
|
|
268
|
+
|
|
269
|
+
Minitest/TestMethodName:
|
|
270
|
+
Enabled: true
|
|
271
|
+
|
|
272
|
+
Minitest/UnreachableAssertion:
|
|
273
|
+
Enabled: true
|
|
274
|
+
|
|
275
|
+
Minitest/UnspecifiedException:
|
|
276
|
+
Enabled: true
|
|
277
|
+
|
|
278
|
+
Minitest/UselessAssertion:
|
|
279
|
+
Enabled: true
|
|
280
|
+
|
|
281
|
+
Naming/BlockForwarding:
|
|
282
|
+
Enabled: true
|
|
283
|
+
|
|
284
|
+
Security/CompoundHash:
|
|
285
|
+
Enabled: true
|
|
286
|
+
|
|
287
|
+
Security/IoMethods:
|
|
288
|
+
Enabled: true
|
|
289
|
+
|
|
75
290
|
Style/AccessorGrouping:
|
|
76
291
|
Enabled: true
|
|
77
292
|
|
|
293
|
+
Style/ArgumentsForwarding:
|
|
294
|
+
Enabled: true
|
|
295
|
+
|
|
78
296
|
Style/ArrayCoercion:
|
|
79
297
|
Enabled: true
|
|
80
298
|
|
|
299
|
+
Style/ArrayIntersect:
|
|
300
|
+
Enabled: true
|
|
301
|
+
|
|
81
302
|
Style/BisectedAttrAccessor:
|
|
82
303
|
Enabled: true
|
|
83
304
|
|
|
84
305
|
Style/CaseLikeIf:
|
|
85
306
|
Enabled: true
|
|
86
307
|
|
|
308
|
+
Style/CollectionCompact:
|
|
309
|
+
Enabled: true
|
|
310
|
+
|
|
87
311
|
Style/CombinableLoops:
|
|
88
312
|
Enabled: true
|
|
89
313
|
|
|
314
|
+
Style/ComparableClamp:
|
|
315
|
+
Enabled: true
|
|
316
|
+
|
|
317
|
+
Style/ConcatArrayLiterals:
|
|
318
|
+
Enabled: true
|
|
319
|
+
|
|
320
|
+
Style/DataInheritance:
|
|
321
|
+
Enabled: true
|
|
322
|
+
|
|
323
|
+
Style/DirEmpty:
|
|
324
|
+
Enabled: true
|
|
325
|
+
|
|
326
|
+
Style/DocumentDynamicEvalDefinition:
|
|
327
|
+
Enabled: true
|
|
328
|
+
|
|
329
|
+
Style/EmptyHeredoc:
|
|
330
|
+
Enabled: true
|
|
331
|
+
|
|
332
|
+
Style/EndlessMethod:
|
|
333
|
+
Enabled: true
|
|
334
|
+
|
|
335
|
+
Style/EnvHome:
|
|
336
|
+
Enabled: true
|
|
337
|
+
|
|
338
|
+
Style/ExactRegexpMatch:
|
|
339
|
+
Enabled: true
|
|
340
|
+
|
|
90
341
|
Style/ExplicitBlockArgument:
|
|
91
342
|
Enabled: true
|
|
92
343
|
|
|
93
344
|
Style/ExponentialNotation:
|
|
94
345
|
Enabled: true
|
|
95
346
|
|
|
347
|
+
Style/FetchEnvVar:
|
|
348
|
+
Enabled: true
|
|
349
|
+
|
|
350
|
+
Style/FileEmpty:
|
|
351
|
+
Enabled: true
|
|
352
|
+
|
|
353
|
+
Style/FileRead:
|
|
354
|
+
Enabled: true
|
|
355
|
+
|
|
356
|
+
Style/FileWrite:
|
|
357
|
+
Enabled: true
|
|
358
|
+
|
|
96
359
|
Style/GlobalStdStream:
|
|
97
360
|
Enabled: true
|
|
98
361
|
|
|
99
362
|
Style/HashAsLastArrayItem:
|
|
100
363
|
Enabled: true
|
|
101
364
|
|
|
365
|
+
Style/HashConversion:
|
|
366
|
+
Enabled: true
|
|
367
|
+
|
|
102
368
|
Style/HashEachMethods:
|
|
103
369
|
Enabled: true
|
|
104
370
|
|
|
371
|
+
Style/HashExcept:
|
|
372
|
+
Enabled: true
|
|
373
|
+
|
|
105
374
|
Style/HashLikeCase:
|
|
106
375
|
Enabled: true
|
|
107
376
|
|
|
@@ -111,30 +380,120 @@ Style/HashTransformKeys:
|
|
|
111
380
|
Style/HashTransformValues:
|
|
112
381
|
Enabled: true
|
|
113
382
|
|
|
383
|
+
Style/IfWithBooleanLiteralBranches:
|
|
384
|
+
Enabled: true
|
|
385
|
+
|
|
386
|
+
Style/InPatternThen:
|
|
387
|
+
Enabled: true
|
|
388
|
+
|
|
114
389
|
Style/KeywordParametersOrder:
|
|
115
390
|
Enabled: true
|
|
116
391
|
|
|
392
|
+
Style/MagicCommentFormat:
|
|
393
|
+
Enabled: true
|
|
394
|
+
|
|
395
|
+
Style/MapCompactWithConditionalBlock:
|
|
396
|
+
Enabled: true
|
|
397
|
+
|
|
398
|
+
Style/MapToHash:
|
|
399
|
+
Enabled: true
|
|
400
|
+
|
|
401
|
+
Style/MapToSet:
|
|
402
|
+
Enabled: true
|
|
403
|
+
|
|
404
|
+
Style/MinMaxComparison:
|
|
405
|
+
Enabled: true
|
|
406
|
+
|
|
407
|
+
Style/MultilineInPatternThen:
|
|
408
|
+
Enabled: true
|
|
409
|
+
|
|
410
|
+
Style/NegatedIfElseCondition:
|
|
411
|
+
Enabled: true
|
|
412
|
+
|
|
413
|
+
Style/NestedFileDirname:
|
|
414
|
+
Enabled: true
|
|
415
|
+
|
|
416
|
+
Style/NilLambda:
|
|
417
|
+
Enabled: true
|
|
418
|
+
|
|
419
|
+
Style/NumberedParameters:
|
|
420
|
+
Enabled: true
|
|
421
|
+
|
|
422
|
+
Style/NumberedParametersLimit:
|
|
423
|
+
Enabled: true
|
|
424
|
+
|
|
425
|
+
Style/ObjectThen:
|
|
426
|
+
Enabled: true
|
|
427
|
+
|
|
428
|
+
Style/OpenStructUse:
|
|
429
|
+
Enabled: true
|
|
430
|
+
|
|
431
|
+
Style/OperatorMethodCall:
|
|
432
|
+
Enabled: true
|
|
433
|
+
|
|
117
434
|
Style/OptionalBooleanParameter:
|
|
118
435
|
Enabled: true
|
|
119
436
|
|
|
437
|
+
Style/QuotedSymbols:
|
|
438
|
+
Enabled: true
|
|
439
|
+
|
|
440
|
+
Style/RedundantArgument:
|
|
441
|
+
Enabled: true
|
|
442
|
+
|
|
443
|
+
Style/RedundantArrayConstructor:
|
|
444
|
+
Enabled: true
|
|
445
|
+
|
|
120
446
|
Style/RedundantAssignment:
|
|
121
447
|
Enabled: true
|
|
122
448
|
|
|
449
|
+
Style/RedundantConstantBase:
|
|
450
|
+
Enabled: true
|
|
451
|
+
|
|
452
|
+
Style/RedundantDoubleSplatHashBraces:
|
|
453
|
+
Enabled: true
|
|
454
|
+
|
|
455
|
+
Style/RedundantEach:
|
|
456
|
+
Enabled: true
|
|
457
|
+
|
|
123
458
|
Style/RedundantFetchBlock:
|
|
124
459
|
Enabled: true
|
|
125
460
|
|
|
126
461
|
Style/RedundantFileExtensionInRequire:
|
|
127
462
|
Enabled: true
|
|
128
463
|
|
|
464
|
+
Style/RedundantFilterChain:
|
|
465
|
+
Enabled: true
|
|
466
|
+
|
|
467
|
+
Style/RedundantHeredocDelimiterQuotes:
|
|
468
|
+
Enabled: true
|
|
469
|
+
|
|
470
|
+
Style/RedundantInitialize:
|
|
471
|
+
Enabled: true
|
|
472
|
+
|
|
473
|
+
Style/RedundantLineContinuation:
|
|
474
|
+
Enabled: true
|
|
475
|
+
|
|
129
476
|
Style/RedundantRegexpCharacterClass:
|
|
130
477
|
Enabled: true
|
|
131
478
|
|
|
479
|
+
Style/RedundantRegexpConstructor:
|
|
480
|
+
Enabled: true
|
|
481
|
+
|
|
132
482
|
Style/RedundantRegexpEscape:
|
|
133
483
|
Enabled: true
|
|
134
484
|
|
|
135
485
|
Style/RedundantSelfAssignment:
|
|
136
486
|
Enabled: true
|
|
137
487
|
|
|
488
|
+
Style/RedundantSelfAssignmentBranch:
|
|
489
|
+
Enabled: true
|
|
490
|
+
|
|
491
|
+
Style/RedundantStringEscape:
|
|
492
|
+
Enabled: true
|
|
493
|
+
|
|
494
|
+
Style/SelectByRegexp:
|
|
495
|
+
Enabled: true
|
|
496
|
+
|
|
138
497
|
Style/SingleArgumentDig:
|
|
139
498
|
Enabled: true
|
|
140
499
|
|
|
@@ -144,5 +503,18 @@ Style/SlicingWithRange:
|
|
|
144
503
|
Style/SoleNestedConditional:
|
|
145
504
|
Enabled: true
|
|
146
505
|
|
|
506
|
+
Style/StringChars:
|
|
507
|
+
Enabled: true
|
|
508
|
+
|
|
147
509
|
Style/StringConcatenation:
|
|
148
510
|
Enabled: true
|
|
511
|
+
|
|
512
|
+
Style/StringLiterals:
|
|
513
|
+
Enabled: true
|
|
514
|
+
EnforcedStyle: double_quotes
|
|
515
|
+
|
|
516
|
+
Style/SwapValues:
|
|
517
|
+
Enabled: true
|
|
518
|
+
|
|
519
|
+
Style/YodaExpression:
|
|
520
|
+
Enabled: true
|
data/Gemfile
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
source
|
|
3
|
+
source "https://rubygems.org"
|
|
4
4
|
|
|
5
5
|
gemspec
|
|
6
6
|
|
|
7
7
|
group :development do
|
|
8
|
-
gem
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
8
|
+
gem "minitest"
|
|
9
|
+
gem "rake"
|
|
10
|
+
gem "rubocop"
|
|
11
|
+
gem "rubocop-minitest", require: false
|
|
12
|
+
gem "rubocop-rake", require: false
|
|
13
|
+
gem "simplecov", "< 0.18"
|
|
12
14
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,40 +1,47 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
ruboclean (0.
|
|
4
|
+
ruboclean (0.4.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
9
|
ast (2.4.2)
|
|
10
|
-
docile (1.
|
|
11
|
-
json (2.
|
|
12
|
-
minitest (5.
|
|
13
|
-
parallel (1.
|
|
14
|
-
parser (3.
|
|
10
|
+
docile (1.4.0)
|
|
11
|
+
json (2.6.3)
|
|
12
|
+
minitest (5.18.0)
|
|
13
|
+
parallel (1.23.0)
|
|
14
|
+
parser (3.2.2.3)
|
|
15
15
|
ast (~> 2.4.1)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
racc
|
|
17
|
+
racc (1.7.0)
|
|
18
|
+
rainbow (3.1.1)
|
|
19
|
+
rake (13.0.6)
|
|
20
|
+
regexp_parser (2.8.0)
|
|
19
21
|
rexml (3.2.5)
|
|
20
|
-
rubocop (1.
|
|
22
|
+
rubocop (1.52.0)
|
|
23
|
+
json (~> 2.3)
|
|
21
24
|
parallel (~> 1.10)
|
|
22
|
-
parser (>= 3.
|
|
25
|
+
parser (>= 3.2.0.0)
|
|
23
26
|
rainbow (>= 2.2.2, < 4.0)
|
|
24
27
|
regexp_parser (>= 1.8, < 3.0)
|
|
25
|
-
rexml
|
|
26
|
-
rubocop-ast (>= 1.
|
|
28
|
+
rexml (>= 3.2.5, < 4.0)
|
|
29
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
|
27
30
|
ruby-progressbar (~> 1.7)
|
|
28
|
-
unicode-display_width (>=
|
|
29
|
-
rubocop-ast (1.
|
|
30
|
-
parser (>= 2.
|
|
31
|
-
|
|
31
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
|
32
|
+
rubocop-ast (1.29.0)
|
|
33
|
+
parser (>= 3.2.1.0)
|
|
34
|
+
rubocop-minitest (0.31.0)
|
|
35
|
+
rubocop (>= 1.39, < 2.0)
|
|
36
|
+
rubocop-rake (0.6.0)
|
|
37
|
+
rubocop (~> 1.0)
|
|
38
|
+
ruby-progressbar (1.13.0)
|
|
32
39
|
simplecov (0.17.1)
|
|
33
40
|
docile (~> 1.1)
|
|
34
41
|
json (>= 1.8, < 3)
|
|
35
42
|
simplecov-html (~> 0.10.0)
|
|
36
43
|
simplecov-html (0.10.2)
|
|
37
|
-
unicode-display_width (2.
|
|
44
|
+
unicode-display_width (2.4.2)
|
|
38
45
|
|
|
39
46
|
PLATFORMS
|
|
40
47
|
ruby
|
|
@@ -44,7 +51,9 @@ DEPENDENCIES
|
|
|
44
51
|
rake
|
|
45
52
|
ruboclean!
|
|
46
53
|
rubocop
|
|
54
|
+
rubocop-minitest
|
|
55
|
+
rubocop-rake
|
|
47
56
|
simplecov (< 0.18)
|
|
48
57
|
|
|
49
58
|
BUNDLED WITH
|
|
50
|
-
2.
|
|
59
|
+
2.4.13
|
data/README.md
CHANGED
|
@@ -30,8 +30,9 @@ AllCops:
|
|
|
30
30
|
Exclude:
|
|
31
31
|
- bin/**/*
|
|
32
32
|
|
|
33
|
+
# Preceding comments will be removed unless the --preserve-comments option is used.
|
|
33
34
|
require:
|
|
34
|
-
- rubocop-rails
|
|
35
|
+
- rubocop-rails # Inline comments will always be removed.
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
### Output `.rubocop.yml`:
|
|
@@ -54,10 +55,8 @@ Layout/LineLength:
|
|
|
54
55
|
|
|
55
56
|
Rails/ShortI18n:
|
|
56
57
|
Enabled: true
|
|
57
|
-
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
|
|
61
60
|
## Installation
|
|
62
61
|
|
|
63
62
|
Add this line to your application's Gemfile:
|
|
@@ -78,27 +77,25 @@ Or install it yourself as:
|
|
|
78
77
|
gem install ruboclean
|
|
79
78
|
```
|
|
80
79
|
|
|
81
|
-
##
|
|
80
|
+
## Command synopsis
|
|
82
81
|
|
|
83
82
|
```shell
|
|
84
|
-
ruboclean [path]
|
|
83
|
+
ruboclean [path] [--silent] [--preserve-comments]
|
|
85
84
|
```
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
* `path` can be a directory that contains a `.rubocop.yml`
|
|
89
|
-
* `path` can be a path to a `.rubocop.yml` directly
|
|
86
|
+
### Parameters
|
|
90
87
|
|
|
91
|
-
|
|
88
|
+
| Parameter | Description |
|
|
89
|
+
|:-|:-|
|
|
90
|
+
| `path` | Can be a directory that contains a `.rubocop.yml`, or a path to a `.rubocop.yml` directly. Defaults to the current working directory. |
|
|
91
|
+
| `--silent` | Suppress any output displayed on the screen when executing the command. |
|
|
92
|
+
| `--preserve-comments` | Preserves **preceding** comments for each top-level entry in the configuration. Inline comments are **not** preserved. |
|
|
92
93
|
|
|
93
|
-
|
|
94
|
-
ruboclean # uses `.rubocop.yml` of current working directory
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
```shell
|
|
98
|
-
ruboclean /path/to/dir # uses `.rubocop.yml` of /path/to/dir
|
|
99
|
-
```
|
|
94
|
+
### Examples
|
|
100
95
|
|
|
101
96
|
```shell
|
|
97
|
+
ruboclean # uses `.rubocop.yml` of current working directory
|
|
98
|
+
ruboclean /path/to/dir # uses `.rubocop.yml` of /path/to/dir
|
|
102
99
|
ruboclean /path/to/dir/.rubocop.yml
|
|
103
100
|
```
|
|
104
101
|
|
|
@@ -112,7 +109,6 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
112
109
|
|
|
113
110
|
Bug reports and pull requests are welcome on GitHub at https://github.com/lxxxvi/ruboclean. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/lxxxvi/ruboclean/blob/master/CODE_OF_CONDUCT.md).
|
|
114
111
|
|
|
115
|
-
|
|
116
112
|
## License
|
|
117
113
|
|
|
118
114
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require "bundler/gem_tasks"
|
|
4
|
+
require "rake/testtask"
|
|
5
5
|
|
|
6
6
|
Rake::TestTask.new(:test) do |t|
|
|
7
|
-
t.libs <<
|
|
8
|
-
t.libs <<
|
|
9
|
-
t.test_files = FileList[
|
|
7
|
+
t.libs << "test"
|
|
8
|
+
t.libs << "lib"
|
|
9
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
task default: :test
|
data/bin/console
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
# frozen_string_literal: true
|
|
4
4
|
|
|
5
|
-
require
|
|
6
|
-
require
|
|
5
|
+
require "bundler/setup"
|
|
6
|
+
require "ruboclean"
|
|
7
7
|
|
|
8
8
|
# You can add fixtures and/or initialization code here to make experimenting
|
|
9
9
|
# with your gem easier. You can also use a different console, if you like.
|
|
@@ -12,5 +12,5 @@ require 'ruboclean'
|
|
|
12
12
|
# require 'pry'
|
|
13
13
|
# Pry.start
|
|
14
14
|
|
|
15
|
-
require
|
|
15
|
+
require "irb"
|
|
16
16
|
IRB.start(__FILE__)
|
data/bin/ruboclean
CHANGED
data/bin/test
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
# frozen_string_literal: true
|
|
4
4
|
|
|
5
|
-
require
|
|
5
|
+
require "fileutils"
|
|
6
6
|
|
|
7
7
|
# Runs all tests and linters
|
|
8
8
|
class BinTest
|
|
9
9
|
include FileUtils
|
|
10
10
|
|
|
11
|
-
APP_ROOT = File.expand_path(
|
|
11
|
+
APP_ROOT = File.expand_path("..", __dir__)
|
|
12
12
|
|
|
13
13
|
def system!(*args)
|
|
14
14
|
system(*args) || abort("\n== Command #{args} failed ==")
|
|
@@ -17,10 +17,10 @@ class BinTest
|
|
|
17
17
|
def run
|
|
18
18
|
chdir APP_ROOT do
|
|
19
19
|
puts "\n== Run tests =="
|
|
20
|
-
system!
|
|
20
|
+
system! "bundle exec rake test"
|
|
21
21
|
|
|
22
22
|
puts "\n== Run rubocop =="
|
|
23
|
-
system!
|
|
23
|
+
system! "bundle exec rubocop --parallel"
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ruboclean
|
|
4
|
+
# Reads command line arguments and exposes corresponding reader methods
|
|
5
|
+
class Arguments
|
|
6
|
+
def initialize(command_line_arguments = [])
|
|
7
|
+
@command_line_arguments = Array(command_line_arguments)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def path
|
|
11
|
+
@path ||= find_path
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def verbose?
|
|
15
|
+
!silent?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def silent?
|
|
19
|
+
@silent ||= find_argument("--silent")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def preserve_comments?
|
|
23
|
+
@preserve_comments ||= find_argument("--preserve-comments")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
attr_reader :command_line_arguments
|
|
29
|
+
|
|
30
|
+
def find_path
|
|
31
|
+
command_line_arguments.first.then do |argument|
|
|
32
|
+
return Dir.pwd if argument.nil? || argument.start_with?("--")
|
|
33
|
+
|
|
34
|
+
argument
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def find_argument(name)
|
|
39
|
+
command_line_arguments.any? { |argument| argument == name }
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/lib/ruboclean/grouper.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Ruboclean
|
|
|
14
14
|
@config_hash.each_with_object(empty_groups) do |item, result|
|
|
15
15
|
key, value = item
|
|
16
16
|
target_group = find_target_group(key)
|
|
17
|
-
result[target_group].merge!
|
|
17
|
+
result[target_group].merge!({ key => value })
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -26,7 +26,7 @@ module Ruboclean
|
|
|
26
26
|
|
|
27
27
|
def find_target_group(key)
|
|
28
28
|
return :base if key.start_with?(/[a-z]/)
|
|
29
|
-
return :cops if key.include?(
|
|
29
|
+
return :cops if key.include?("/")
|
|
30
30
|
|
|
31
31
|
:namespaces
|
|
32
32
|
end
|
data/lib/ruboclean/orderer.rb
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require "pathname"
|
|
4
|
+
require "yaml"
|
|
5
5
|
|
|
6
6
|
module Ruboclean
|
|
7
7
|
# Interface for reading and writing the `.rubocop.yml` file
|
|
8
8
|
class RubocopConfigurationPath
|
|
9
|
+
PERMITTED_CLASSED = [Regexp].freeze
|
|
10
|
+
|
|
9
11
|
# Thrown if given path is invalid
|
|
10
12
|
class InvalidPathError < StandardError
|
|
11
13
|
def initialize(path)
|
|
@@ -17,7 +19,7 @@ module Ruboclean
|
|
|
17
19
|
input_path = Pathname.new(path)
|
|
18
20
|
|
|
19
21
|
@rubocop_configuration_path = if input_path.directory?
|
|
20
|
-
input_path.join(
|
|
22
|
+
input_path.join(".rubocop.yml")
|
|
21
23
|
else
|
|
22
24
|
input_path
|
|
23
25
|
end
|
|
@@ -29,9 +31,10 @@ module Ruboclean
|
|
|
29
31
|
Ruboclean::RubocopConfiguration.new(load_yaml)
|
|
30
32
|
end
|
|
31
33
|
|
|
32
|
-
def write(rubocop_configuration)
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
def write(rubocop_configuration, preserve_comments: false)
|
|
35
|
+
output_yaml = sanitize_yaml(rubocop_configuration.to_yaml)
|
|
36
|
+
output_yaml = preserve_preceding_comments(source_yaml, output_yaml) if preserve_comments
|
|
37
|
+
@rubocop_configuration_path.write(output_yaml)
|
|
35
38
|
end
|
|
36
39
|
|
|
37
40
|
private
|
|
@@ -41,7 +44,25 @@ module Ruboclean
|
|
|
41
44
|
end
|
|
42
45
|
|
|
43
46
|
def load_yaml
|
|
44
|
-
YAML.safe_load(
|
|
47
|
+
YAML.safe_load(source_yaml, permitted_classes: PERMITTED_CLASSED)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def source_yaml
|
|
51
|
+
@source_yaml ||= @rubocop_configuration_path.read
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def preserve_preceding_comments(source, target)
|
|
55
|
+
target.dup.tap do |output|
|
|
56
|
+
source.scan(/(((^ *#.*\n|^\s*\n)+)(?![\s#]).+)/) do |groups|
|
|
57
|
+
config_keys_with_preceding_lines = groups.first
|
|
58
|
+
*preceding_lines, config_key = config_keys_with_preceding_lines.split("\n")
|
|
59
|
+
|
|
60
|
+
next if preceding_lines.all?(:empty?)
|
|
61
|
+
next if config_key.gsub(/\s/, "").empty?
|
|
62
|
+
|
|
63
|
+
output.sub!(/^#{config_key}$/, config_keys_with_preceding_lines.strip)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
45
66
|
end
|
|
46
67
|
end
|
|
47
68
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ruboclean
|
|
4
|
+
# Proxy for invoking the cleaning
|
|
5
|
+
class Runner
|
|
6
|
+
def initialize(arguments)
|
|
7
|
+
@arguments = arguments
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def run!
|
|
11
|
+
rubocop_configuration_path = RubocopConfigurationPath.new(arguments.path)
|
|
12
|
+
rubocop_configuration = rubocop_configuration_path.load
|
|
13
|
+
|
|
14
|
+
return if rubocop_configuration.nil?
|
|
15
|
+
|
|
16
|
+
rubocop_configuration_path.write(rubocop_configuration.order, preserve_comments: arguments.preserve_comments?)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
attr_reader :arguments
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/ruboclean/version.rb
CHANGED
data/lib/ruboclean.rb
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
3
|
+
require "ruboclean/version"
|
|
4
|
+
require "ruboclean/arguments"
|
|
5
|
+
require "ruboclean/rubocop_configuration"
|
|
6
|
+
require "ruboclean/rubocop_configuration_path"
|
|
7
|
+
require "ruboclean/runner"
|
|
8
|
+
require "ruboclean/orderer"
|
|
7
9
|
|
|
8
10
|
# Ruboclean entry point
|
|
9
11
|
module Ruboclean
|
|
10
12
|
class Error < StandardError; end
|
|
11
13
|
|
|
12
|
-
def self.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
def self.run_from_cli!(command_line_arguments)
|
|
15
|
+
Ruboclean::Arguments.new(command_line_arguments).tap do |arguments|
|
|
16
|
+
print "Using path '#{arguments.path}' ... " if arguments.verbose?
|
|
17
|
+
Runner.new(arguments).run!
|
|
18
|
+
puts "done." if arguments.verbose?
|
|
19
|
+
end
|
|
16
20
|
end
|
|
17
21
|
end
|
data/ruboclean.gemspec
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative
|
|
3
|
+
require_relative "lib/ruboclean/version"
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name =
|
|
6
|
+
spec.name = "ruboclean"
|
|
7
7
|
spec.version = Ruboclean::VERSION
|
|
8
|
-
spec.authors = [
|
|
9
|
-
spec.email = [
|
|
8
|
+
spec.authors = ["lxxxvi"]
|
|
9
|
+
spec.email = ["lxxxvi@users.noreply.github.com"]
|
|
10
10
|
|
|
11
|
-
spec.summary =
|
|
12
|
-
spec.description =
|
|
13
|
-
spec.homepage =
|
|
14
|
-
spec.license =
|
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new(
|
|
11
|
+
spec.summary = "Cleans and orders settings in .rubocop.yml"
|
|
12
|
+
spec.description = "Cleans and orders settings in .rubocop.yml"
|
|
13
|
+
spec.homepage = "https://github.com/lxxxvi/ruboclean"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
|
16
16
|
|
|
17
|
-
spec.metadata[
|
|
18
|
-
spec.metadata[
|
|
19
|
-
spec.metadata[
|
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
|
+
spec.metadata["source_code_uri"] = "https://github.com/lxxxvi/ruboclean"
|
|
19
|
+
spec.metadata["changelog_uri"] = "https://github.com/lxxxvi/ruboclean/blob/master/CHANGELOG.md"
|
|
20
20
|
|
|
21
21
|
# Specify which files should be added to the gem when it is released.
|
|
22
22
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
spec.executables <<
|
|
28
|
-
spec.require_paths = [
|
|
27
|
+
spec.executables << "ruboclean"
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
29
30
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruboclean
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lxxxvi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Cleans and orders settings in .rubocop.yml
|
|
14
14
|
email:
|
|
@@ -32,10 +32,12 @@ files:
|
|
|
32
32
|
- bin/setup
|
|
33
33
|
- bin/test
|
|
34
34
|
- lib/ruboclean.rb
|
|
35
|
+
- lib/ruboclean/arguments.rb
|
|
35
36
|
- lib/ruboclean/grouper.rb
|
|
36
37
|
- lib/ruboclean/orderer.rb
|
|
37
38
|
- lib/ruboclean/rubocop_configuration.rb
|
|
38
39
|
- lib/ruboclean/rubocop_configuration_path.rb
|
|
40
|
+
- lib/ruboclean/runner.rb
|
|
39
41
|
- lib/ruboclean/version.rb
|
|
40
42
|
- ruboclean.gemspec
|
|
41
43
|
homepage: https://github.com/lxxxvi/ruboclean
|
|
@@ -45,6 +47,7 @@ metadata:
|
|
|
45
47
|
homepage_uri: https://github.com/lxxxvi/ruboclean
|
|
46
48
|
source_code_uri: https://github.com/lxxxvi/ruboclean
|
|
47
49
|
changelog_uri: https://github.com/lxxxvi/ruboclean/blob/master/CHANGELOG.md
|
|
50
|
+
rubygems_mfa_required: 'true'
|
|
48
51
|
post_install_message:
|
|
49
52
|
rdoc_options: []
|
|
50
53
|
require_paths:
|
|
@@ -60,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
60
63
|
- !ruby/object:Gem::Version
|
|
61
64
|
version: '0'
|
|
62
65
|
requirements: []
|
|
63
|
-
rubygems_version: 3.
|
|
66
|
+
rubygems_version: 3.4.13
|
|
64
67
|
signing_key:
|
|
65
68
|
specification_version: 4
|
|
66
69
|
summary: Cleans and orders settings in .rubocop.yml
|