standard 0.5.0 → 0.6.2

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: 59c4fae3fd70f49e1adf75b0d405296751ba18c8a41df7fa538b6efa77214b5c
4
- data.tar.gz: 73b864e4973762b2662880e4a0aa4f3c839794b1392a6160466947dd34f55529
3
+ metadata.gz: 15ed22fe01a211ccfbe8bf7861eace8d51dcda8a31b5eb9ad5d1b92022d9666c
4
+ data.tar.gz: 4a4baa10c02e9877bf0a949d9e2c8aca8453d8d09ec78ee9879d6aa61abee6ce
5
5
  SHA512:
6
- metadata.gz: facf91b5c424f7f6d6871131315fa705a7f8bf43a8c34d1b9d2e8de50ebc0ab5cd68eed98a20a22326e4de33eb41f41b42f82bda3905245214d343137e956cfd
7
- data.tar.gz: 92d9eb12a61ffa3acd0a425e3ba11421699d513cab44b4e453cb6c2f1140d2e88efc42d8f9c06518e540510425af8a5f09dd7f540356e068e22f7cec62590724
6
+ metadata.gz: 79338dde1ea560a30e3667391e63cd7804807ee8616c4d33d84400809fec35e3b35abd9275d05d61285ce93bf491a006c987e753ac814f752041f5a1fac75e8f
7
+ data.tar.gz: 9ed1dde0608ea7a37d9a98bfcac9ecf4f4dcc5bd16f6a9ed647837884db82d051d0b7adf0d8b4edf1f79451812e9831f06527bac18fe560356caed74d462a859
@@ -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,54 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.2
4
+
5
+ * Update rubocop from 0.91 to
6
+ [0.91.1](https://github.com/rubocop-hq/rubocop/releases/tag/v0.91.1)
7
+ * Update rubocop-performance from 1.8.0 to 1.8.1:
8
+ * Enable `Performance/Sum`
9
+
10
+ ## 0.6.1
11
+
12
+ * Update Rubocop from
13
+ [0.90](https://github.com/rubocop-hq/rubocop/releases/tag/v0.90.0)
14
+ to
15
+ [0.91](https://github.com/rubocop-hq/rubocop/releases/tag/v0.91.0),
16
+ enabling:
17
+ * [`Lint/UselessTimes`](https://github.com/rubocop-hq/rubocop/pull/8702)
18
+ * [`Layout/BeginEndAlignment`](https://github.com/rubocop-hq/rubocop/pull/8628)
19
+ * [`Lint/ConstantDefinitionInBlock`](https://github.com/rubocop-hq/rubocop/pull/8707)
20
+ * [`Lint/IdentityComparison`](https://github.com/rubocop-hq/rubocop/pull/8699/)
21
+ re-enabling after bug fixes:
22
+ * [`Bundler/DuplicatedGem`](https://github.com/rubocop-hq/rubocop/pull/8666)
23
+ * [`Naming/BinaryOperatorParameterName`](https://github.com/rubocop-hq/rubocop/issues/8664)
24
+
25
+ ## 0.6.0
26
+
27
+ * Update Rubocop from
28
+ [0.89.1](https://github.com/rubocop-hq/rubocop/releases/tag/v0.89.1)
29
+ to
30
+ [0.90](https://github.com/rubocop-hq/rubocop/releases/tag/v0.90.0),
31
+ enabling:
32
+ * [`Style/KeywordParametersOrder`](https://github.com/rubocop-hq/rubocop/pull/8563)
33
+ * [`Lint/DuplicateRequire`](https://github.com/rubocop-hq/rubocop/pull/8474)
34
+ * [`Lint/TrailingCommaInAttributeDeclaration`](https://github.com/rubocop-hq/rubocop/pull/8549)
35
+ * Update [`Style/Alias` to prefer `alias_method`](https://github.com/testdouble/standard/pull/196)
36
+ * Update rubocop-performance from 1.7.1 to 1.8.0:
37
+ * 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
38
+ * Add `ruby-2.3.yml` to add support for 2.3.
39
+
40
+ ## 0.5.2
41
+
42
+ * Turned off `Lint/MissingSuper`, because it effectively bans a common idiom in
43
+ Sorbet ([#195](https://github.com/testdouble/standard/issues/195)) and might
44
+ be a bit too heavy-handed/opinionated for cases where a class is designed
45
+ intentionally to not run its parent's initializer (like abstract superclasses
46
+ more generally)
47
+
48
+ ## 0.5.1
49
+
50
+ * Enabled `Style/MultilineWhenThen`
51
+
3
52
  ## 0.5.0
4
53
 
5
54
  * Update Rubocop from
@@ -96,4 +145,3 @@
96
145
  ## 0.3.0
97
146
 
98
147
  * Update Standard to track Rubocop 0.82.0 ([commit](https://github.com/testdouble/standard/commit/d663ea62d519c659087ad606bfed031c6303ff20))
99
-
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard (0.5.0)
5
- rubocop (~> 0.89.1)
6
- rubocop-performance (~> 1.7.1)
4
+ standard (0.6.2)
5
+ rubocop (= 0.91.1)
6
+ rubocop-performance (= 1.8.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -13,7 +13,7 @@ GEM
13
13
  docile (1.3.2)
14
14
  gimme (0.5.0)
15
15
  method_source (1.0.0)
16
- minitest (5.14.1)
16
+ minitest (5.14.2)
17
17
  parallel (1.19.2)
18
18
  parser (2.7.1.4)
19
19
  ast (~> 2.4.1)
@@ -22,23 +22,24 @@ GEM
22
22
  method_source (~> 1.0)
23
23
  rainbow (3.0.0)
24
24
  rake (13.0.1)
25
- regexp_parser (1.7.1)
25
+ regexp_parser (1.8.0)
26
26
  rexml (3.2.4)
27
- rubocop (0.89.1)
27
+ rubocop (0.91.1)
28
28
  parallel (~> 1.10)
29
29
  parser (>= 2.7.1.1)
30
30
  rainbow (>= 2.2.2, < 4.0)
31
31
  regexp_parser (>= 1.7)
32
32
  rexml
33
- rubocop-ast (>= 0.3.0, < 1.0)
33
+ rubocop-ast (>= 0.4.0, < 1.0)
34
34
  ruby-progressbar (~> 1.7)
35
35
  unicode-display_width (>= 1.4.0, < 2.0)
36
- rubocop-ast (0.3.0)
36
+ rubocop-ast (0.4.2)
37
37
  parser (>= 2.7.1.4)
38
- rubocop-performance (1.7.1)
39
- rubocop (>= 0.82.0)
38
+ rubocop-performance (1.8.1)
39
+ rubocop (>= 0.87.0)
40
+ rubocop-ast (>= 0.4.0)
40
41
  ruby-progressbar (1.10.1)
41
- simplecov (0.18.5)
42
+ simplecov (0.19.0)
42
43
  docile (~> 1.1)
43
44
  simplecov-html (~> 0.11)
44
45
  simplecov-html (0.12.2)
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
 
@@ -100,7 +100,7 @@ When you run Standard in the future it will ignore these files as if they lived
100
100
  `ignore` section in the `.standard.yml` file.
101
101
 
102
102
  As you refactor your existing project you can remove files from the list. You can
103
- also regenerate the todo file at anytime by re-running the above command.
103
+ also regenerate the todo file at any time by re-running the above command.
104
104
 
105
105
  ### Using with Rake
106
106
 
@@ -7,6 +7,13 @@ AllCops:
7
7
  DisabledByDefault: true
8
8
  Exclude: []
9
9
 
10
+ Bundler/DuplicatedGem:
11
+ Enabled: true
12
+ Include:
13
+ - '**/*.gemfile'
14
+ - '**/Gemfile'
15
+ - '**/gems.rb'
16
+
10
17
  Bundler/InsecureProtocolSource:
11
18
  Enabled: true
12
19
  Include:
@@ -32,16 +39,15 @@ Layout/ArrayAlignment:
32
39
  Enabled: true
33
40
  EnforcedStyle: with_fixed_indentation
34
41
 
35
- Layout/HashAlignment:
42
+ Layout/AssignmentIndentation:
36
43
  Enabled: true
37
- EnforcedHashRocketStyle: key
38
- EnforcedColonStyle: key
39
- EnforcedLastArgumentHashStyle: always_inspect
44
+ IndentationWidth: ~
40
45
 
41
- Layout/ParameterAlignment:
46
+ Layout/BeginEndAlignment:
42
47
  Enabled: true
43
- EnforcedStyle: with_fixed_indentation
44
- IndentationWidth: ~
48
+ EnforcedStyleAlignWith: start_of_line
49
+ AutoCorrect: true
50
+ Severity: warning
45
51
 
46
52
  Layout/BlockAlignment:
47
53
  Enabled: true
@@ -149,15 +155,17 @@ Layout/FirstArrayElementIndentation:
149
155
  EnforcedStyle: consistent
150
156
  IndentationWidth: ~
151
157
 
152
- Layout/AssignmentIndentation:
153
- Enabled: true
154
- IndentationWidth: ~
155
-
156
158
  Layout/FirstHashElementIndentation:
157
159
  Enabled: true
158
160
  EnforcedStyle: consistent
159
161
  IndentationWidth: ~
160
162
 
163
+ Layout/HashAlignment:
164
+ Enabled: true
165
+ EnforcedHashRocketStyle: key
166
+ EnforcedColonStyle: key
167
+ EnforcedLastArgumentHashStyle: always_inspect
168
+
161
169
  Layout/HeredocIndentation:
162
170
  Enabled: true
163
171
 
@@ -208,6 +216,11 @@ Layout/MultilineOperationIndentation:
208
216
  EnforcedStyle: indented
209
217
  IndentationWidth: ~
210
218
 
219
+ Layout/ParameterAlignment:
220
+ Enabled: true
221
+ EnforcedStyle: with_fixed_indentation
222
+ IndentationWidth: ~
223
+
211
224
  Layout/RescueEnsureAlignment:
212
225
  Enabled: true
213
226
 
@@ -335,6 +348,9 @@ Lint/BooleanSymbol:
335
348
  Lint/CircularArgumentReference:
336
349
  Enabled: true
337
350
 
351
+ Lint/ConstantDefinitionInBlock:
352
+ Enabled: true
353
+
338
354
  Lint/Debugger:
339
355
  Enabled: true
340
356
 
@@ -350,10 +366,13 @@ Lint/DuplicateCaseCondition:
350
366
  Lint/DuplicateElsifCondition:
351
367
  Enabled: true
352
368
 
369
+ Lint/DuplicateHashKey:
370
+ Enabled: true
371
+
353
372
  Lint/DuplicateMethods:
354
373
  Enabled: true
355
374
 
356
- Lint/DuplicateHashKey:
375
+ Lint/DuplicateRequire:
357
376
  Enabled: true
358
377
 
359
378
  Lint/DuplicateRescueException:
@@ -397,6 +416,9 @@ Lint/FloatOutOfRange:
397
416
  Lint/FormatParameterMismatch:
398
417
  Enabled: true
399
418
 
419
+ Lint/IdentityComparison:
420
+ Enabled: true
421
+
400
422
  Lint/ImplicitStringConcatenation:
401
423
  Enabled: true
402
424
 
@@ -423,9 +445,6 @@ Lint/MissingCopEnableDirective:
423
445
  Enabled: true
424
446
  MaximumRangeSize: .inf
425
447
 
426
- Lint/MissingSuper:
427
- Enabled: true
428
-
429
448
  Lint/MixedRegexpCaptureTypes:
430
449
  Enabled: true
431
450
 
@@ -535,6 +554,9 @@ Lint/Syntax:
535
554
  Lint/TopLevelReturnWithArgument:
536
555
  Enabled: true
537
556
 
557
+ Lint/TrailingCommaInAttributeDeclaration:
558
+ Enabled: true
559
+
538
560
  Lint/UnderscorePrefixedVariableName:
539
561
  Enabled: true
540
562
 
@@ -559,6 +581,9 @@ Lint/UselessElseWithoutRescue:
559
581
  Lint/UselessSetterCall:
560
582
  Enabled: true
561
583
 
584
+ Lint/UselessTimes:
585
+ Enabled: true
586
+
562
587
  Lint/Void:
563
588
  Enabled: true
564
589
  CheckForMethodsWithNoSideEffects: false
@@ -566,6 +591,9 @@ Lint/Void:
566
591
  Migration/DepartmentName:
567
592
  Enabled: true
568
593
 
594
+ Naming/BinaryOperatorParameterName:
595
+ Enabled: true
596
+
569
597
  Naming/ClassAndModuleCamelCase:
570
598
  Enabled: true
571
599
 
@@ -596,6 +624,9 @@ Performance/BindCall:
596
624
  Performance/Caller:
597
625
  Enabled: true
598
626
 
627
+ Performance/CollectionLiteralInLoop:
628
+ Enabled: false
629
+
599
630
  Performance/CompareWithBlock:
600
631
  Enabled: true
601
632
 
@@ -670,6 +701,10 @@ Performance/StartWith:
670
701
  Performance/StringReplacement:
671
702
  Enabled: true
672
703
 
704
+ Performance/Sum:
705
+ Enabled: true
706
+ AutoCorrect: true
707
+
673
708
  Performance/UnfreezeString:
674
709
  Enabled: true
675
710
 
@@ -729,7 +764,7 @@ Standard/SemanticBlocks:
729
764
 
730
765
  Style/Alias:
731
766
  Enabled: true
732
- EnforcedStyle: prefer_alias
767
+ EnforcedStyle: prefer_alias_method
733
768
 
734
769
  Style/AndOr:
735
770
  Enabled: true
@@ -854,6 +889,9 @@ Style/InfiniteLoop:
854
889
  Enabled: true
855
890
  SafeAutoCorrect: true
856
891
 
892
+ Style/KeywordParametersOrder:
893
+ Enabled: true
894
+
857
895
  Style/LambdaCall:
858
896
  Enabled: true
859
897
  EnforcedStyle: call
@@ -886,6 +924,9 @@ Style/MultilineMemoization:
886
924
  Enabled: true
887
925
  EnforcedStyle: keyword
888
926
 
927
+ Style/MultilineWhenThen:
928
+ Enabled: true
929
+
889
930
  Style/NegatedIf:
890
931
  Enabled: true
891
932
  EnforcedStyle: both
@@ -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,42 @@
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. If you upgraded a Rubocop dependency, be sure to lock it down in
26
+ `standard.gemspec`. Until Rubocop hits 1.0, we're going to stick to exact
27
+ release dependencies (e.g. "0.91.0" instead of "~> 0.91")
28
+ 3. Bump the appropriate version segment in `lib/standard/version.rb` (basic
29
+ semantic versioning rules apply; if the release updates Rubocop, follow its
30
+ version bump at a minimum—if rubocop saw minor bump, we'll also bump the
31
+ minor version)
32
+ 4. Run `bundle` so that Bundler writes this version to `Gemfile.lock`
33
+ 5. Update `CHANGELOG.md` as exhaustively as you are able and set the top header
34
+ to that of the new version
35
+ 6. Commit `lib/standard/version.rb`, `Gemfile.lock`, and `CHANGELOG.md` together
36
+ with the message equal to the new version (e.g. "0.42.1")
37
+ 7. Finally, run `bundle exec rake release`, which will hopefully succeed
38
+ 8. Provide your multi-factor-auth token when prompted to finish publishing the
39
+ gem
40
+ 9. [Tweet](https://twitter.com) about your awesome new release! (Shameless
41
+ self-promotion is the most important part of open source software)
42
+
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Standard
2
- VERSION = Gem::Version.new("0.5.0")
2
+ VERSION = Gem::Version.new("0.6.2")
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.89.1"
23
- spec.add_dependency "rubocop-performance", "~> 1.7.1"
22
+ spec.add_dependency "rubocop", "0.91.1"
23
+ spec.add_dependency "rubocop-performance", "1.8.1"
24
24
 
25
25
  spec.add_development_dependency "bundler"
26
26
  spec.add_development_dependency "minitest", "~> 5.0"
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Searls
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-22 00:00:00.000000000 Z
11
+ date: 2020-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.89.1
19
+ version: 0.91.1
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.89.1
26
+ version: 0.91.1
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.7.1
33
+ version: 1.8.1
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.7.1
40
+ version: 1.8.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -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
@@ -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