standard 0.4.6 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8da9b4adf5c100176f57c6d2e7958d3bdc9d20a842cba35fd24d4e680da26496
4
- data.tar.gz: 1bd30e7a596ebaf537daab145a25f6a76a28e2b537a54b0b2f78fca2217841da
3
+ metadata.gz: cf87b9f78b4f882b486a084515ef13cd503a152d0b5429c961a96f340c520f4e
4
+ data.tar.gz: 6205ac3fb9abf92a94f63e8875639b20e7cb476df7b212255e8544ecd12258ba
5
5
  SHA512:
6
- metadata.gz: e6c532d9a59e84e8e66dc4348b2517e2aabf26fc9c41d1fe52e81432d39824e44be70d306e059dfef5a3206c027fdceaea5c74eca7f93943dd3b7d6e8fa4904e
7
- data.tar.gz: 8db3ea4abffa747c89ebbde1c0bd870fc16384d4bb9d5ebb42785ecac843a9893ac8cf4c67dca4a0218b553a8aa9f4f817f882331f68ab741b294300212e83f6
6
+ metadata.gz: 5a719a8f3674ea28666c1c466b68a9c5a81cbcbc7eaeb3c24e989a92b8a52d2de25a5cfd54715597e80901689d6063b463fa41627de523462f60c588b0149afd
7
+ data.tar.gz: 21a5507d0d533cac9eed1a243ba10cf946428f00b56e507f10ad6ce91ab6a2fd20658b792a423011fae3e75231d5a1e902a02a2a7cbca2dea2c6471eb259262f
@@ -0,0 +1,23 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: 2.7
20
+ - name: Install dependencies
21
+ run: bundle
22
+ - name: Run tests
23
+ run: bundle exec rake
@@ -1,5 +1,85 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0
4
+
5
+ * Update Rubocop from
6
+ [0.89.1](https://github.com/rubocop-hq/rubocop/releases/tag/v0.89.1)
7
+ to
8
+ [0.90](https://github.com/rubocop-hq/rubocop/releases/tag/v0.90.0),
9
+ enabling:
10
+ * [`Style/KeywordParametersOrder`](https://github.com/rubocop-hq/rubocop/pull/8563)
11
+ * [`Lint/DuplicateRequire`](https://github.com/rubocop-hq/rubocop/pull/8474)
12
+ * [`Lint/TrailingCommaInAttributeDeclaration`](https://github.com/rubocop-hq/rubocop/pull/8549)
13
+ * Update [`Style/Alias` to prefer `alias_method`](https://github.com/testdouble/standard/pull/196)
14
+ * Update rubocop-performance from 1.7.1 to 1.8.0:
15
+ * Plan to enable [`Performance/Sum`](https://github.com/rubocop-hq/rubocop-performance/pull/137) in the future, but there is currently a bug in the implementation
16
+ * Add `ruby-2.3.yml` to add support for 2.3.
17
+
18
+ ## 0.5.2
19
+
20
+ * Turned off `Lint/MissingSuper`, because it effectively bans a common idiom in
21
+ Sorbet ([#195](https://github.com/testdouble/standard/issues/195)) and might
22
+ be a bit too heavy-handed/opinionated for cases where a class is designed
23
+ intentionally to not run its parent's initializer (like abstract superclasses
24
+ more generally)
25
+
26
+ ## 0.5.1
27
+
28
+ * Enabled `Style/MultilineWhenThen`
29
+
30
+ ## 0.5.0
31
+
32
+ * Update Rubocop from
33
+ [0.85.0](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#0850-2020-06-01)
34
+ to
35
+ [0.89.1](https://github.com/rubocop-hq/rubocop/releases/tag/v0.89.1),
36
+ enabling:
37
+ * `Lint/BinaryOperatorWithIdenticalOperands`
38
+ * `Lint/DuplicateElsifCondition`
39
+ * `Lint/DuplicateRescueException`
40
+ * `Lint/FloatComparison`
41
+ * `Lint/MissingSuper`
42
+ * `Lint/OutOfRangeRegexpRef`
43
+ * `Lint/RedundantRequireStatement`
44
+ * `Lint/RedundantSplatExpansion`
45
+ * `Lint/SafeNavigationWithEmpty`
46
+ * `Lint/SelfAssignment`
47
+ * `Lint/TopLevelReturnWithArgument`
48
+ * `Style/GlobalStdStream`
49
+ * `Style/RedundantAssignment`
50
+ * `Style/RedundantFetchBlock`
51
+ * `Style/RedundantFileExtensionInRequire`
52
+ * Update rubocop-performance from 1.6.0 to 1.7.1, enabling:
53
+ * `Performance/BigDecimalWithNumericArgument`
54
+ * `Performance/RedundantSortBlock`
55
+ * `Performance/RedundantStringChars`
56
+ * `Performance/ReverseFirst`
57
+ * `Performance/SortReverse`
58
+ * `Performance/Squeeze`
59
+
60
+ ## 0.4.7
61
+
62
+ * Update Rubocop from
63
+ [0.83.0](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#0830-2020-05-11)
64
+ to
65
+ [0.85.0](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#0850-2020-06-01), notably:
66
+
67
+ * Enable
68
+ [Lint/MixedRegexpCaptureTypes](https://rubocop.readthedocs.io/en/stable/cops_lint/#lintmixedregexpcapturetypes)
69
+ * Enable
70
+ [Lint/DeprecatedOpenSSLConstant](https://rubocop.readthedocs.io/en/stable/cops_lint/#lintdeprecatedopensslconstant)
71
+ * Enable
72
+ [Style/RedundantRegexpCharacterClass](https://github.com/rubocop-hq/rubocop/pull/8055)
73
+ * Enable
74
+ [Style/RedundantRegexpEscape](https://github.com/rubocop-hq/rubocop/pull/7908)
75
+ * Update rubocop-performance to
76
+ [1.6.0](https://github.com/rubocop-hq/rubocop-performance/blob/master/CHANGELOG.md#160-2020-05-22),
77
+ enabling:
78
+ * [Performance/BindCall](https://github.com/rubocop-hq/rubocop-performance/issues/77)
79
+ * [Performance/DeletePrefix](https://github.com/rubocop-hq/rubocop-performance/pull/105)
80
+ * [Performance/DeleteSuffix](https://github.com/rubocop-hq/rubocop-performance/pull/105)
81
+
82
+
3
83
  ## 0.4.6
4
84
 
5
85
  * Disable `Naming/BinaryOperatorParameterName` because (when non-ascii method
@@ -43,4 +123,3 @@
43
123
  ## 0.3.0
44
124
 
45
125
  * Update Standard to track Rubocop 0.82.0 ([commit](https://github.com/testdouble/standard/commit/d663ea62d519c659087ad606bfed031c6303ff20))
46
-
@@ -1,42 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard (0.4.6)
5
- rubocop (~> 0.83.0)
6
- rubocop-performance (~> 1.5.2)
4
+ standard (0.6.0)
5
+ rubocop (~> 0.90)
6
+ rubocop-performance (~> 1.8.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- ast (2.4.0)
12
- coderay (1.1.2)
11
+ ast (2.4.1)
12
+ coderay (1.1.3)
13
13
  docile (1.3.2)
14
14
  gimme (0.5.0)
15
- method_source (0.9.2)
16
- minitest (5.14.0)
17
- parallel (1.19.1)
18
- parser (2.7.1.2)
19
- ast (~> 2.4.0)
20
- pry (0.12.2)
21
- coderay (~> 1.1.0)
22
- method_source (~> 0.9.0)
15
+ method_source (1.0.0)
16
+ minitest (5.14.2)
17
+ parallel (1.19.2)
18
+ parser (2.7.1.4)
19
+ ast (~> 2.4.1)
20
+ pry (0.13.1)
21
+ coderay (~> 1.1)
22
+ method_source (~> 1.0)
23
23
  rainbow (3.0.0)
24
24
  rake (13.0.1)
25
+ regexp_parser (1.7.1)
25
26
  rexml (3.2.4)
26
- rubocop (0.83.0)
27
+ rubocop (0.90.0)
27
28
  parallel (~> 1.10)
28
- parser (>= 2.7.0.1)
29
+ parser (>= 2.7.1.1)
29
30
  rainbow (>= 2.2.2, < 4.0)
31
+ regexp_parser (>= 1.7)
30
32
  rexml
33
+ rubocop-ast (>= 0.3.0, < 1.0)
31
34
  ruby-progressbar (~> 1.7)
32
35
  unicode-display_width (>= 1.4.0, < 2.0)
33
- rubocop-performance (1.5.2)
34
- rubocop (>= 0.71.0)
36
+ rubocop-ast (0.3.0)
37
+ parser (>= 2.7.1.4)
38
+ rubocop-performance (1.8.0)
39
+ rubocop (>= 0.87.0)
35
40
  ruby-progressbar (1.10.1)
36
- simplecov (0.18.2)
41
+ simplecov (0.19.0)
37
42
  docile (~> 1.1)
38
43
  simplecov-html (~> 0.11)
39
- simplecov-html (0.12.0)
44
+ simplecov-html (0.12.2)
40
45
  unicode-display_width (1.7.0)
41
46
 
42
47
  PLATFORMS
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Standard - Ruby style guide, linter, and formatter
2
2
 
3
- [![CircleCI](https://circleci.com/gh/testdouble/standard.svg?style=svg)](https://circleci.com/gh/testdouble/standard)
3
+ [![Tests](https://github.com/testdouble/standard/workflows/Tests/badge.svg)](https://github.com/testdouble/standard/actions?query=workflow%3ATests)
4
4
  [![Ruby Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://github.com/testdouble/standard)
5
5
  [![Gem Version](https://badge.fury.io/rb/standard.svg)](https://rubygems.org/gems/standard)
6
6
 
@@ -166,7 +166,7 @@ Because StandardRB is essentially a wrapper on top of
166
166
  vast majority of CLI and ENV arguments to RuboCop.
167
167
 
168
168
  You can see a list of
169
- [RuboCop](https://docs.rubocop.org/en/latest/basic_usage/#other-useful-command-line-flags)'s
169
+ [RuboCop](https://docs.rubocop.org/rubocop/usage/basic_usage.html#command-line-flags)'s
170
170
  CLI flags here.
171
171
 
172
172
  ## Why should I use Ruby Standard Style?
@@ -211,6 +211,10 @@ if you've used StandardJS.)
211
211
  * [Level UP Solutions](https://levups.com)
212
212
  * [Honeybadger](https://www.honeybadger.io)
213
213
  * [Amazon Web Services](https://aws.amazon.com/)
214
+ * [Envoy](https://www.envoy.com)
215
+ * [myRent](https://www.myrent.co.nz)
216
+ * [Renuo](https://www.renuo.ch/)
217
+ * [JetThoughts](https://www.jetthoughts.com/)
214
218
  * And that's about it so far!
215
219
 
216
220
  If your team starts using Standard, [send a pull
@@ -160,7 +160,6 @@ Layout/FirstHashElementIndentation:
160
160
 
161
161
  Layout/HeredocIndentation:
162
162
  Enabled: true
163
- EnforcedStyle: squiggly
164
163
 
165
164
  Layout/IndentationConsistency:
166
165
  Enabled: true
@@ -327,6 +326,9 @@ Lint/AssignmentInCondition:
327
326
  Lint/BigDecimalNew:
328
327
  Enabled: true
329
328
 
329
+ Lint/BinaryOperatorWithIdenticalOperands:
330
+ Enabled: true
331
+
330
332
  Lint/BooleanSymbol:
331
333
  Enabled: true
332
334
 
@@ -339,15 +341,27 @@ Lint/Debugger:
339
341
  Lint/DeprecatedClassMethods:
340
342
  Enabled: true
341
343
 
344
+ Lint/DeprecatedOpenSSLConstant:
345
+ Enabled: true
346
+
342
347
  Lint/DuplicateCaseCondition:
343
348
  Enabled: true
344
349
 
345
- Lint/DuplicateMethods:
350
+ Lint/DuplicateElsifCondition:
346
351
  Enabled: true
347
352
 
348
353
  Lint/DuplicateHashKey:
349
354
  Enabled: true
350
355
 
356
+ Lint/DuplicateMethods:
357
+ Enabled: true
358
+
359
+ Lint/DuplicateRequire:
360
+ Enabled: true
361
+
362
+ Lint/DuplicateRescueException:
363
+ Enabled: true
364
+
351
365
  Lint/EachWithObjectArgument:
352
366
  Enabled: true
353
367
 
@@ -377,6 +391,9 @@ Lint/ErbNewArguments:
377
391
  Lint/FlipFlop:
378
392
  Enabled: true
379
393
 
394
+ Lint/FloatComparison:
395
+ Enabled: true
396
+
380
397
  Lint/FloatOutOfRange:
381
398
  Enabled: true
382
399
 
@@ -409,6 +426,9 @@ Lint/MissingCopEnableDirective:
409
426
  Enabled: true
410
427
  MaximumRangeSize: .inf
411
428
 
429
+ Lint/MixedRegexpCaptureTypes:
430
+ Enabled: true
431
+
412
432
  Lint/MultipleComparison:
413
433
  Enabled: true
414
434
 
@@ -430,6 +450,9 @@ Lint/NonLocalExitFromIterator:
430
450
  Lint/OrderedMagicComments:
431
451
  Enabled: true
432
452
 
453
+ Lint/OutOfRangeRegexpRef:
454
+ Enabled: true
455
+
433
456
  Lint/ParenthesesAsGroupedExpression:
434
457
  Enabled: true
435
458
 
@@ -442,6 +465,12 @@ Lint/RaiseException:
442
465
  Lint/RandOne:
443
466
  Enabled: true
444
467
 
468
+ Lint/RedundantRequireStatement:
469
+ Enabled: true
470
+
471
+ Lint/RedundantSplatExpansion:
472
+ Enabled: true
473
+
445
474
  Lint/RedundantStringCoercion:
446
475
  Enabled: true
447
476
 
@@ -484,6 +513,12 @@ Lint/SafeNavigationConsistency:
484
513
  - try
485
514
  - try!
486
515
 
516
+ Lint/SafeNavigationWithEmpty:
517
+ Enabled: true
518
+
519
+ Lint/SelfAssignment:
520
+ Enabled: true
521
+
487
522
  Lint/ShadowedArgument:
488
523
  Enabled: true
489
524
  IgnoreImplicitReferences: false
@@ -497,16 +532,16 @@ Layout/SpaceAroundMethodCallOperator:
497
532
  Lint/Syntax:
498
533
  Enabled: true
499
534
 
500
- Lint/UnderscorePrefixedVariableName:
535
+ Lint/TopLevelReturnWithArgument:
501
536
  Enabled: true
502
537
 
503
- Lint/UnifiedInteger:
538
+ Lint/TrailingCommaInAttributeDeclaration:
504
539
  Enabled: true
505
540
 
506
- Lint/RedundantRequireStatement:
541
+ Lint/UnderscorePrefixedVariableName:
507
542
  Enabled: true
508
543
 
509
- Lint/RedundantSplatExpansion:
544
+ Lint/UnifiedInteger:
510
545
  Enabled: true
511
546
 
512
547
  Lint/UnreachableCode:
@@ -521,9 +556,6 @@ Lint/UriRegexp:
521
556
  Lint/UselessAssignment:
522
557
  Enabled: true
523
558
 
524
- Lint/UselessComparison:
525
- Enabled: true
526
-
527
559
  Lint/UselessElseWithoutRescue:
528
560
  Enabled: true
529
561
 
@@ -558,15 +590,30 @@ Naming/VariableName:
558
590
  Enabled: true
559
591
  EnforcedStyle: snake_case
560
592
 
593
+ Performance/BigDecimalWithNumericArgument:
594
+ Enabled: true
595
+
596
+ Performance/BindCall:
597
+ Enabled: true
598
+
561
599
  Performance/Caller:
562
600
  Enabled: true
563
601
 
602
+ Performance/CollectionLiteralInLoop:
603
+ Enabled: false
604
+
564
605
  Performance/CompareWithBlock:
565
606
  Enabled: true
566
607
 
567
608
  Performance/Count:
568
609
  Enabled: true
569
610
 
611
+ Performance/DeletePrefix:
612
+ Enabled: true
613
+
614
+ Performance/DeleteSuffix:
615
+ Enabled: true
616
+
570
617
  Performance/Detect:
571
618
  Enabled: true
572
619
 
@@ -576,8 +623,6 @@ Performance/DoubleStartEndWith:
576
623
 
577
624
  Performance/EndWith:
578
625
  Enabled: true
579
- SafeAutoCorrect: false
580
- AutoCorrect: false
581
626
 
582
627
  Performance/FixedSize:
583
628
  Enabled: true
@@ -601,23 +646,39 @@ Performance/RedundantMerge:
601
646
  Enabled: true
602
647
  MaxKeyValuePairs: 2
603
648
 
649
+ Performance/RedundantSortBlock:
650
+ Enabled: true
651
+
652
+ Performance/RedundantStringChars:
653
+ Enabled: true
654
+
604
655
  Performance/RegexpMatch:
605
656
  Enabled: true
606
657
 
607
658
  Performance/ReverseEach:
608
659
  Enabled: true
609
660
 
661
+ Performance/ReverseFirst:
662
+ Enabled: true
663
+
610
664
  Performance/Size:
611
665
  Enabled: true
612
666
 
667
+ Performance/SortReverse:
668
+ Enabled: true
669
+
670
+ Performance/Squeeze:
671
+ Enabled: true
672
+
613
673
  Performance/StartWith:
614
674
  Enabled: true
615
- SafeAutoCorrect: false
616
- AutoCorrect: false
617
675
 
618
676
  Performance/StringReplacement:
619
677
  Enabled: true
620
678
 
679
+ Performance/Sum:
680
+ Enabled: false
681
+
621
682
  Performance/UnfreezeString:
622
683
  Enabled: true
623
684
 
@@ -677,7 +738,7 @@ Standard/SemanticBlocks:
677
738
 
678
739
  Style/Alias:
679
740
  Enabled: true
680
- EnforcedStyle: prefer_alias
741
+ EnforcedStyle: prefer_alias_method
681
742
 
682
743
  Style/AndOr:
683
744
  Enabled: true
@@ -775,6 +836,9 @@ Style/For:
775
836
  Enabled: true
776
837
  EnforcedStyle: each
777
838
 
839
+ Style/GlobalStdStream:
840
+ Enabled: true
841
+
778
842
  Style/GlobalVars:
779
843
  Enabled: true
780
844
  AllowedVariables: []
@@ -799,6 +863,9 @@ Style/InfiniteLoop:
799
863
  Enabled: true
800
864
  SafeAutoCorrect: true
801
865
 
866
+ Style/KeywordParametersOrder:
867
+ Enabled: true
868
+
802
869
  Style/LambdaCall:
803
870
  Enabled: true
804
871
  EnforcedStyle: call
@@ -811,9 +878,6 @@ Style/MethodCallWithoutArgsParentheses:
811
878
  Enabled: true
812
879
  IgnoredMethods: []
813
880
 
814
- Style/MethodMissingSuper:
815
- Enabled: true
816
-
817
881
  Style/MissingRespondToMissing:
818
882
  Enabled: true
819
883
 
@@ -834,6 +898,9 @@ Style/MultilineMemoization:
834
898
  Enabled: true
835
899
  EnforcedStyle: keyword
836
900
 
901
+ Style/MultilineWhenThen:
902
+ Enabled: true
903
+
837
904
  Style/NegatedIf:
838
905
  Enabled: true
839
906
  EnforcedStyle: both
@@ -913,6 +980,9 @@ Style/Proc:
913
980
  Style/RandomWithOffset:
914
981
  Enabled: true
915
982
 
983
+ Style/RedundantAssignment:
984
+ Enabled: true
985
+
916
986
  Style/RedundantBegin:
917
987
  Enabled: true
918
988
 
@@ -922,12 +992,24 @@ Style/RedundantConditional:
922
992
  Style/RedundantException:
923
993
  Enabled: true
924
994
 
995
+ Style/RedundantFetchBlock:
996
+ Enabled: true
997
+
998
+ Style/RedundantFileExtensionInRequire:
999
+ Enabled: true
1000
+
925
1001
  Style/RedundantFreeze:
926
1002
  Enabled: true
927
1003
 
928
1004
  Style/RedundantParentheses:
929
1005
  Enabled: true
930
1006
 
1007
+ Style/RedundantRegexpCharacterClass:
1008
+ Enabled: true
1009
+
1010
+ Style/RedundantRegexpEscape:
1011
+ Enabled: true
1012
+
931
1013
  Style/RedundantReturn:
932
1014
  Enabled: true
933
1015
  AllowMultipleReturnValues: false
@@ -1,7 +1,4 @@
1
- inherit_from: ./base.yml
2
-
3
- AllCops:
4
- TargetRubyVersion: 2.4 # The oldest supported
1
+ inherit_from: ./ruby-2.3.yml
5
2
 
6
3
  Layout:
7
4
  HeredocIndentation:
@@ -0,0 +1,8 @@
1
+ inherit_from: ./base.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.4 # The oldest supported
5
+
6
+ Performance:
7
+ Sum:
8
+ Enabled: false
@@ -0,0 +1,39 @@
1
+ # How to release Standard Ruby
2
+
3
+ Because this gem was generated with the [bundler `gem`
4
+ command](https://bundler.io/man/bundle-gem.1.html), [our Rakefile](/Rakefile)
5
+ loads `bundler/gem_tasks`, which provides a lot of the commands one needs
6
+ to manage a gem's release lifecycle:
7
+
8
+ ```
9
+ $ rake -T
10
+ rake build # Build standard-x.x.x.gem into the pkg directory
11
+ rake clean # Remove any temporary products
12
+ rake clobber # Remove any generated files
13
+ rake install # Build and install standard-x.x.x.gem into system gems
14
+ rake install:local # Build and install standard-x.x.x.gem into system gems without network access
15
+ rake release[remote] # Create tag vx.x.x and build and push standard-0.5.2.gem to rubygems.org
16
+ ```
17
+
18
+ Most of these commands are depended on (read: run by) `rake release`, which is
19
+ really the only one we'll need for releasing the gem to
20
+ [Rubygems.org](https://rubygems.org/gems/standard).
21
+
22
+ ## Release steps
23
+
24
+ 1. Make sure git is up to date and `bundle exec rake` exits cleanly
25
+ 2. Bump the appropriate version segment in `lib/standard/version.rb` (basic
26
+ semantic versioning rules apply; if the release updates Rubocop, follow its
27
+ version bump at a minimum—if rubocop saw minor bump, we'll also bump the
28
+ minor version)
29
+ 3. Run `bundle` so that Bundler writes this version to `Gemfile.lock`
30
+ 4. Update `CHANGELOG.md` as exhaustively as you are able and set the top header
31
+ to that of the new version
32
+ 5. Commit `lib/standard/version.rb`, `Gemfile.lock`, and `CHANGELOG.md` together
33
+ with the message equal to the new version (e.g. "0.42.1")
34
+ 6. Finally, run `bundle exec rake release`, which will hopefully succeed
35
+ 7. Provide your multi-factor-auth token when prompted to finish publishing the
36
+ gem
37
+ 8. [Tweet](https://twitter.com) about your awesome new release! (Shameless
38
+ self-promotion is the most important part of open source software)
39
+
@@ -16,6 +16,8 @@ class Standard::CreatesConfigStore
16
16
  "ruby-1.9.yml"
17
17
  elsif desired_version < Gem::Version.new("2.3")
18
18
  "ruby-2.2.yml"
19
+ elsif desired_version < Gem::Version.new("2.4")
20
+ "ruby-2.3.yml"
19
21
  else
20
22
  "base.yml"
21
23
  end
@@ -3,7 +3,7 @@ module Standard
3
3
  def call(offenses)
4
4
  offenses.any? { |offense|
5
5
  cop = cop_instance(offense.cop_name)
6
- cop.support_autocorrect? && safe?(cop)
6
+ cop.correctable? && cop.safe_autocorrect?
7
7
  }
8
8
  end
9
9
 
@@ -12,9 +12,5 @@ module Standard
12
12
  def cop_instance(cop_name)
13
13
  RuboCop::Cop.const_get(cop_name.gsub("/", "::")).new
14
14
  end
15
-
16
- def safe?(cop)
17
- cop.cop_config.fetch("SafeAutoCorrect", true)
18
- end
19
15
  end
20
16
  end
@@ -4,10 +4,20 @@ require_relative "detects_fixability"
4
4
 
5
5
  module Standard
6
6
  class Formatter < RuboCop::Formatter::BaseFormatter
7
- CALL_TO_ACTION_MESSAGE = <<-CALL_TO_ACTION.gsub(/^ {6}/, "")
7
+ STANDARD_GREETING = <<-MSG.gsub(/^ {6}/, "")
8
+ standard: Use Ruby Standard Style (https://github.com/testdouble/standard)
9
+ MSG
10
+
11
+ CALL_TO_ACTION_MESSAGE = <<-MSG.gsub(/^ {6}/, "")
8
12
  Notice: Disagree with these rules? While StandardRB is pre-1.0.0, feel free to submit suggestions to:
9
13
  https://github.com/testdouble/standard/issues/new
10
- CALL_TO_ACTION
14
+ MSG
15
+
16
+ def self.fixable_error_message(command)
17
+ <<-MSG.gsub(/^ {8}/, "")
18
+ standard: Run `#{command}` to automatically fix some problems.
19
+ MSG
20
+ end
11
21
 
12
22
  def initialize(*args)
13
23
  super
@@ -42,9 +52,7 @@ module Standard
42
52
  def print_header_once
43
53
  return if @header_printed_already
44
54
 
45
- output.print <<-HEADER.gsub(/^ {8}/, "")
46
- standard: Use Ruby Standard Style (https://github.com/testdouble/standard)
47
- HEADER
55
+ output.print STANDARD_GREETING
48
56
 
49
57
  @header_printed_already = true
50
58
  end
@@ -57,9 +65,7 @@ module Standard
57
65
  "standardrb --fix"
58
66
  end
59
67
 
60
- output.print <<-HEADER.gsub(/^ {10}/, "")
61
- standard: Run `#{command}` to automatically fix some problems.
62
- HEADER
68
+ output.print self.class.fixable_error_message(command)
63
69
  @fix_suggestion_printed_already = true
64
70
  end
65
71
  end
@@ -1,3 +1,3 @@
1
1
  module Standard
2
- VERSION = Gem::Version.new("0.4.6")
2
+ VERSION = Gem::Version.new("0.6.0")
3
3
  end
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "rubocop", "~> 0.83.0"
23
- spec.add_dependency "rubocop-performance", "~> 1.5.2"
22
+ spec.add_dependency "rubocop", "~> 0.90"
23
+ spec.add_dependency "rubocop-performance", "~> 1.8.0"
24
24
 
25
25
  spec.add_development_dependency "bundler"
26
26
  spec.add_development_dependency "minitest", "~> 5.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Searls
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-25 00:00:00.000000000 Z
11
+ date: 2020-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.83.0
19
+ version: '0.90'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.83.0
26
+ version: '0.90'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-performance
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.5.2
33
+ version: 1.8.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.5.2
40
+ version: 1.8.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description:
125
+ description:
126
126
  email:
127
127
  - searls@gmail.com
128
128
  executables:
@@ -130,7 +130,7 @@ executables:
130
130
  extensions: []
131
131
  extra_rdoc_files: []
132
132
  files:
133
- - ".circleci/config.yml"
133
+ - ".github/workflows/test.yml"
134
134
  - ".gitignore"
135
135
  - ".standard.yml"
136
136
  - CHANGELOG.md
@@ -145,6 +145,8 @@ files:
145
145
  - config/ruby-1.8.yml
146
146
  - config/ruby-1.9.yml
147
147
  - config/ruby-2.2.yml
148
+ - config/ruby-2.3.yml
149
+ - docs/RELEASE.md
148
150
  - exe/standardrb
149
151
  - lib/standard.rb
150
152
  - lib/standard/builds_config.rb
@@ -173,7 +175,7 @@ files:
173
175
  homepage: https://github.com/testdouble/standard
174
176
  licenses: []
175
177
  metadata: {}
176
- post_install_message:
178
+ post_install_message:
177
179
  rdoc_options: []
178
180
  require_paths:
179
181
  - lib
@@ -189,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
191
  version: '0'
190
192
  requirements: []
191
193
  rubygems_version: 3.1.2
192
- signing_key:
194
+ signing_key:
193
195
  specification_version: 4
194
196
  summary: Ruby Style Guide, with linter & automatic code fixer
195
197
  test_files: []
@@ -1,36 +0,0 @@
1
- # Ruby CircleCI 2.0 configuration file
2
- #
3
- # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
- #
5
- version: 2
6
- jobs:
7
- build:
8
- docker:
9
- - image: circleci/ruby:2.7.0-node-browsers
10
- working_directory: ~/repo
11
-
12
- steps:
13
- - checkout
14
- - restore_cache:
15
- keys:
16
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
17
- - v1-dependencies-
18
-
19
- - run:
20
- name: install dependencies
21
- command: |
22
- bundle update --bundler
23
- bundle install --jobs=4 --retry=3 --path vendor/bundle
24
-
25
- - save_cache:
26
- paths:
27
- - ./vendor/bundle
28
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
29
-
30
- - run:
31
- name: test
32
- command: bundle exec rake test
33
-
34
- - run:
35
- name: lint
36
- command: bundle exec rake standard:fix