standard 0.5.0 → 0.6.2

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 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