rubocop-sorbet 0.8.7 → 0.8.9
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 +3 -1
- data/.rubocop.yml +15 -0
- data/.ruby-version +1 -1
- data/Gemfile.lock +26 -20
- data/config/default.yml +8 -0
- data/config/rbi.yml +1 -1
- data/lib/rubocop/cop/sorbet/callback_conditionals_binding.rb +1 -0
- data/lib/rubocop/cop/sorbet/forbid_include_const_literal.rb +3 -3
- data/lib/rubocop/cop/sorbet/forbid_t_enum.rb +40 -0
- data/lib/rubocop/cop/sorbet/forbid_t_struct.rb +2 -2
- data/lib/rubocop/cop/sorbet/forbid_t_unsafe.rb +1 -0
- data/lib/rubocop/cop/sorbet/sigils/has_sigil.rb +1 -0
- data/lib/rubocop/cop/sorbet/sigils/strict_sigil.rb +15 -0
- data/lib/rubocop/cop/sorbet/sigils/valid_sigil.rb +1 -0
- data/lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb +1 -1
- data/lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb +1 -1
- data/lib/rubocop/cop/sorbet_cops.rb +1 -0
- data/lib/rubocop/sorbet/version.rb +1 -1
- data/manual/cops.md +1 -0
- data/manual/cops_sorbet.md +43 -1
- metadata +4 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '048bbf857fc0e733a27de48597f476ca59d22efb8a8eded11de5252f604b5804'
|
4
|
+
data.tar.gz: 39d1335d326dc98b38041d5bfe66547d1398c10a6c1556f31bb22d5698db5bd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: feda39cdafbc2c3a06138bc9e34d6900423fefcbd3906e7b9104f725f15c3469e3f9e8aa03148ba12b4e2ee5fd0d4f3b54930810d8ed1715ba31881748a9a0a1
|
7
|
+
data.tar.gz: 5c626f9c2f15436297415e01dad6f758452e79289ede0ae74d22a3cb39fd77b2188598e199f123d263a99ffb183208ee83fff175f700cc44be40e559ef4031a6
|
data/.github/workflows/ci.yml
CHANGED
@@ -11,7 +11,7 @@ jobs:
|
|
11
11
|
strategy:
|
12
12
|
fail-fast: false
|
13
13
|
matrix:
|
14
|
-
ruby: ["3.1", "3.2", "3.3"]
|
14
|
+
ruby: ["3.1", "3.2", "3.3", "3.4"]
|
15
15
|
name: Test Ruby ${{ matrix.ruby }}
|
16
16
|
steps:
|
17
17
|
- uses: actions/checkout@v4
|
@@ -42,5 +42,7 @@ jobs:
|
|
42
42
|
bin/rubocop --config config/default.yml config -r rubocop-sorbet
|
43
43
|
- name: Lint Ruby files
|
44
44
|
run: bin/rubocop
|
45
|
+
- name: Verify cop examples
|
46
|
+
run: bundle exec rake documentation_syntax_check
|
45
47
|
- name: Verify documentation is up to date
|
46
48
|
run: bundle exec rake generate_cops_documentation
|
data/.rubocop.yml
CHANGED
@@ -24,3 +24,18 @@ Layout/LineLength:
|
|
24
24
|
|
25
25
|
InternalAffairs/UndefinedConfig:
|
26
26
|
Enabled: false # Bug in implementation fails to find our configs
|
27
|
+
|
28
|
+
InternalAffairs/OnSendWithoutOnCSend:
|
29
|
+
Exclude:
|
30
|
+
# Cases where we don't expect a conditional send
|
31
|
+
- lib/rubocop/cop/sorbet/callback_conditionals_binding.rb
|
32
|
+
- lib/rubocop/cop/sorbet/forbid_include_const_literal.rb
|
33
|
+
- lib/rubocop/cop/sorbet/forbid_t_struct.rb
|
34
|
+
- lib/rubocop/cop/sorbet/forbid_t_untyped.rb
|
35
|
+
- lib/rubocop/cop/sorbet/implicit_conversion_method.rb
|
36
|
+
- lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb
|
37
|
+
- lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb
|
38
|
+
- lib/rubocop/cop/sorbet/refinement.rb
|
39
|
+
- lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb
|
40
|
+
- lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb
|
41
|
+
- lib/rubocop/cop/sorbet/t_enum/forbid_comparable_t_enum.rb
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.4.1
|
data/Gemfile.lock
CHANGED
@@ -1,36 +1,39 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rubocop-sorbet (0.8.
|
4
|
+
rubocop-sorbet (0.8.9)
|
5
5
|
rubocop (>= 1)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
ast (2.4.2)
|
11
|
-
|
11
|
+
date (3.4.1)
|
12
|
+
debug (1.10.0)
|
12
13
|
irb (~> 1.10)
|
13
14
|
reline (>= 0.3.8)
|
14
15
|
diff-lcs (1.5.1)
|
15
|
-
io-console (0.
|
16
|
-
irb (1.
|
17
|
-
rdoc
|
16
|
+
io-console (0.8.0)
|
17
|
+
irb (1.14.3)
|
18
|
+
rdoc (>= 4.0.0)
|
18
19
|
reline (>= 0.4.2)
|
19
|
-
json (2.
|
20
|
-
language_server-protocol (3.17.0.
|
20
|
+
json (2.10.1)
|
21
|
+
language_server-protocol (3.17.0.4)
|
22
|
+
lint_roller (1.1.0)
|
21
23
|
parallel (1.26.3)
|
22
|
-
parser (3.3.
|
24
|
+
parser (3.3.7.1)
|
23
25
|
ast (~> 2.4.1)
|
24
26
|
racc
|
25
|
-
psych (5.
|
27
|
+
psych (5.2.2)
|
28
|
+
date
|
26
29
|
stringio
|
27
30
|
racc (1.8.1)
|
28
31
|
rainbow (3.1.1)
|
29
32
|
rake (13.2.1)
|
30
|
-
rdoc (6.
|
33
|
+
rdoc (6.10.0)
|
31
34
|
psych (>= 4.0.0)
|
32
|
-
regexp_parser (2.
|
33
|
-
reline (0.
|
35
|
+
regexp_parser (2.10.0)
|
36
|
+
reline (0.6.0)
|
34
37
|
io-console (~> 0.5)
|
35
38
|
rspec (3.13.0)
|
36
39
|
rspec-core (~> 3.13.0)
|
@@ -45,23 +48,26 @@ GEM
|
|
45
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
46
49
|
rspec-support (~> 3.13.0)
|
47
50
|
rspec-support (3.13.1)
|
48
|
-
rubocop (1.
|
51
|
+
rubocop (1.72.1)
|
49
52
|
json (~> 2.3)
|
50
|
-
language_server-protocol (
|
53
|
+
language_server-protocol (~> 3.17.0.2)
|
54
|
+
lint_roller (~> 1.1.0)
|
51
55
|
parallel (~> 1.10)
|
52
56
|
parser (>= 3.3.0.2)
|
53
57
|
rainbow (>= 2.2.2, < 4.0)
|
54
|
-
regexp_parser (>= 2.
|
55
|
-
rubocop-ast (>= 1.
|
58
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
59
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
56
60
|
ruby-progressbar (~> 1.7)
|
57
|
-
unicode-display_width (>= 2.4.0, <
|
58
|
-
rubocop-ast (1.
|
61
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
62
|
+
rubocop-ast (1.38.0)
|
59
63
|
parser (>= 3.3.1.0)
|
60
64
|
rubocop-shopify (2.15.1)
|
61
65
|
rubocop (~> 1.51)
|
62
66
|
ruby-progressbar (1.13.0)
|
63
|
-
stringio (3.1.
|
64
|
-
unicode-display_width (
|
67
|
+
stringio (3.1.2)
|
68
|
+
unicode-display_width (3.1.4)
|
69
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
70
|
+
unicode-emoji (4.0.4)
|
65
71
|
yard (0.9.37)
|
66
72
|
|
67
73
|
PLATFORMS
|
data/config/default.yml
CHANGED
@@ -110,6 +110,13 @@ Sorbet/ForbidSuperclassConstLiteral:
|
|
110
110
|
Exclude:
|
111
111
|
- db/migrate/*.rb
|
112
112
|
|
113
|
+
Sorbet/ForbidTEnum:
|
114
|
+
Description: 'Forbid usage of T::Enum.'
|
115
|
+
Enabled: false
|
116
|
+
VersionAdded: <<next>>
|
117
|
+
VersionChanged: <<next>>
|
118
|
+
Safe: false
|
119
|
+
|
113
120
|
Sorbet/ForbidTStruct:
|
114
121
|
Description: 'Forbid usage of T::Struct.'
|
115
122
|
Enabled: false
|
@@ -252,6 +259,7 @@ Sorbet/SingleLineRbiClassModuleDefinitions:
|
|
252
259
|
Sorbet/StrictSigil:
|
253
260
|
Description: 'All files must be at least at strictness `strict`.'
|
254
261
|
Enabled: false
|
262
|
+
Safe: false
|
255
263
|
SuggestedStrictness: "strict"
|
256
264
|
VersionAdded: 0.3.3
|
257
265
|
Include:
|
data/config/rbi.yml
CHANGED
@@ -103,11 +103,11 @@ Layout/InitialIndentation:
|
|
103
103
|
|
104
104
|
Layout/LeadingCommentSpace:
|
105
105
|
Enabled: true
|
106
|
+
AllowRBSInlineAnnotation: true
|
106
107
|
|
107
108
|
Layout/LeadingEmptyLines:
|
108
109
|
Enabled: true
|
109
110
|
|
110
|
-
# TODO: make Tapioca break long lines?
|
111
111
|
Layout/LineLength:
|
112
112
|
Enabled: false
|
113
113
|
|
@@ -6,6 +6,7 @@ module RuboCop
|
|
6
6
|
# Ensures that callback conditionals are bound to the right type
|
7
7
|
# so that they are type checked properly.
|
8
8
|
#
|
9
|
+
# @safety
|
9
10
|
# Auto-correction is unsafe because other libraries define similar style callbacks as Rails, but don't always need
|
10
11
|
# binding to the attached class. Auto-correcting those usages can lead to false positives and auto-correction
|
11
12
|
# introduces new typing errors.
|
@@ -50,14 +50,14 @@ module RuboCop
|
|
50
50
|
private
|
51
51
|
|
52
52
|
def neither_const_nor_self?(node)
|
53
|
-
!node.
|
53
|
+
!node.type?(:const, :self)
|
54
54
|
end
|
55
55
|
|
56
56
|
# Returns true if the node is within a module declaration that is not anonymous.
|
57
57
|
def within_onymous_module?(node)
|
58
58
|
parent = node.parent
|
59
|
-
parent = parent.parent while parent&.
|
60
|
-
parent
|
59
|
+
parent = parent.parent while parent&.type?(:begin, :block)
|
60
|
+
parent&.type?(:module, :class, :sclass)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rubocop"
|
4
|
+
|
5
|
+
module RuboCop
|
6
|
+
module Cop
|
7
|
+
module Sorbet
|
8
|
+
# Disallow using `T::Enum`.
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
#
|
12
|
+
# # bad
|
13
|
+
# class MyEnum < T::Enum
|
14
|
+
# enums do
|
15
|
+
# A = new
|
16
|
+
# B = new
|
17
|
+
# end
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# # good
|
21
|
+
# class MyEnum
|
22
|
+
# A = "a"
|
23
|
+
# B = "b"
|
24
|
+
# C = "c"
|
25
|
+
# end
|
26
|
+
class ForbidTEnum < RuboCop::Cop::Base
|
27
|
+
MSG = "Using `T::Enum` is deprecated in this codebase."
|
28
|
+
|
29
|
+
# @!method t_enum?(node)
|
30
|
+
def_node_matcher(:t_enum?, <<~PATTERN)
|
31
|
+
(const (const {nil? cbase} :T) :Enum)
|
32
|
+
PATTERN
|
33
|
+
|
34
|
+
def on_class(node)
|
35
|
+
add_offense(node) if t_enum?(node.parent_class)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -43,8 +43,8 @@ module RuboCop
|
|
43
43
|
|
44
44
|
RESTRICT_ON_SEND = [:include, :prepend, :extend].freeze
|
45
45
|
|
46
|
-
MSG_STRUCT = "Using `T::Struct` or its variants is deprecated."
|
47
|
-
MSG_PROPS = "Using `T::Props` or its variants is deprecated."
|
46
|
+
MSG_STRUCT = "Using `T::Struct` or its variants is deprecated in this codebase."
|
47
|
+
MSG_PROPS = "Using `T::Props` or its variants is deprecated in this codebase."
|
48
48
|
|
49
49
|
# This class walks down the class body of a T::Struct and collects all the properties that will need to be
|
50
50
|
# translated into `attr_reader` and `attr_accessor` methods.
|
@@ -13,6 +13,7 @@ module RuboCop
|
|
13
13
|
# * `SuggestedStrictness`: Sorbet strictness level suggested in offense messages (default: 'false')
|
14
14
|
# * `MinimumStrictness`: If set, make offense if the strictness level in the file is below this one
|
15
15
|
#
|
16
|
+
# If a `SuggestedStrictness` level is specified, it will be used in autocorrect.
|
16
17
|
# If a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
|
17
18
|
class HasSigil < ValidSigil
|
18
19
|
def require_sigil_on_all_files?
|
@@ -7,6 +7,21 @@ module RuboCop
|
|
7
7
|
module Cop
|
8
8
|
module Sorbet
|
9
9
|
# Makes the Sorbet `strict` sigil mandatory in all files.
|
10
|
+
#
|
11
|
+
# @safety
|
12
|
+
# This cop is unsafe because Sorbet sigils may not exist yet when it is run.
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
#
|
16
|
+
# # bad
|
17
|
+
# # typed: true
|
18
|
+
#
|
19
|
+
# # bad
|
20
|
+
# # typed: false
|
21
|
+
#
|
22
|
+
# # good
|
23
|
+
# # typed: strict
|
24
|
+
#
|
10
25
|
class StrictSigil < HasSigil
|
11
26
|
def minimum_strictness
|
12
27
|
"strict"
|
@@ -16,6 +16,7 @@ module RuboCop
|
|
16
16
|
# * `ExactStrictness`: If set, make offense if the strictness level in the file is different than this one
|
17
17
|
#
|
18
18
|
# If an `ExactStrictness` level is specified, it will be used in offense messages and autocorrect.
|
19
|
+
# If a `SuggestedStrictness` level is specified, it will be used in autocorrect.
|
19
20
|
# Otherwise, if a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
|
20
21
|
class ValidSigil < RuboCop::Cop::Base
|
21
22
|
extend AutoCorrector
|
@@ -35,7 +35,7 @@ module RuboCop
|
|
35
35
|
out_of_kwoptarg = false
|
36
36
|
|
37
37
|
parameters.reverse.each do |param|
|
38
|
-
out_of_kwoptarg = true unless param.
|
38
|
+
out_of_kwoptarg = true unless param.type?(:kwoptarg, :blockarg, :kwrestarg)
|
39
39
|
|
40
40
|
next unless param.kwoptarg_type? && out_of_kwoptarg
|
41
41
|
|
@@ -12,6 +12,7 @@ require_relative "sorbet/forbid_type_aliased_shapes"
|
|
12
12
|
require_relative "sorbet/forbid_untyped_struct_props"
|
13
13
|
require_relative "sorbet/implicit_conversion_method"
|
14
14
|
require_relative "sorbet/callback_conditionals_binding"
|
15
|
+
require_relative "sorbet/forbid_t_enum"
|
15
16
|
require_relative "sorbet/forbid_t_struct"
|
16
17
|
require_relative "sorbet/forbid_t_unsafe"
|
17
18
|
require_relative "sorbet/forbid_t_untyped"
|
data/manual/cops.md
CHANGED
@@ -21,6 +21,7 @@ In the following section you find all available cops:
|
|
21
21
|
* [Sorbet/ForbidIncludeConstLiteral](cops_sorbet.md#sorbetforbidincludeconstliteral)
|
22
22
|
* [Sorbet/ForbidRBIOutsideOfAllowedPaths](cops_sorbet.md#sorbetforbidrbioutsideofallowedpaths)
|
23
23
|
* [Sorbet/ForbidSuperclassConstLiteral](cops_sorbet.md#sorbetforbidsuperclassconstliteral)
|
24
|
+
* [Sorbet/ForbidTEnum](cops_sorbet.md#sorbetforbidtenum)
|
24
25
|
* [Sorbet/ForbidTStruct](cops_sorbet.md#sorbetforbidtstruct)
|
25
26
|
* [Sorbet/ForbidTUnsafe](cops_sorbet.md#sorbetforbidtunsafe)
|
26
27
|
* [Sorbet/ForbidTUntyped](cops_sorbet.md#sorbetforbidtuntyped)
|
data/manual/cops_sorbet.md
CHANGED
@@ -448,6 +448,33 @@ Name | Default value | Configurable values
|
|
448
448
|
--- | --- | ---
|
449
449
|
Exclude | `db/migrate/*.rb` | Array
|
450
450
|
|
451
|
+
## Sorbet/ForbidTEnum
|
452
|
+
|
453
|
+
Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
|
454
|
+
--- | --- | --- | --- | ---
|
455
|
+
Disabled | No | No | <<next>> | <<next>>
|
456
|
+
|
457
|
+
Disallow using `T::Enum`.
|
458
|
+
|
459
|
+
### Examples
|
460
|
+
|
461
|
+
```ruby
|
462
|
+
# bad
|
463
|
+
class MyEnum < T::Enum
|
464
|
+
enums do
|
465
|
+
A = new
|
466
|
+
B = new
|
467
|
+
end
|
468
|
+
end
|
469
|
+
|
470
|
+
# good
|
471
|
+
class MyEnum
|
472
|
+
A = "a"
|
473
|
+
B = "b"
|
474
|
+
C = "c"
|
475
|
+
end
|
476
|
+
```
|
477
|
+
|
451
478
|
## Sorbet/ForbidTStruct
|
452
479
|
|
453
480
|
Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
|
@@ -588,6 +615,7 @@ Options:
|
|
588
615
|
* `SuggestedStrictness`: Sorbet strictness level suggested in offense messages (default: 'false')
|
589
616
|
* `MinimumStrictness`: If set, make offense if the strictness level in the file is below this one
|
590
617
|
|
618
|
+
If a `SuggestedStrictness` level is specified, it will be used in autocorrect.
|
591
619
|
If a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
|
592
620
|
|
593
621
|
### Configurable attributes
|
@@ -860,10 +888,23 @@ Include | `**/*.rbi` | Array
|
|
860
888
|
|
861
889
|
Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
|
862
890
|
--- | --- | --- | --- | ---
|
863
|
-
Disabled |
|
891
|
+
Disabled | No | Yes | 0.3.3 | -
|
864
892
|
|
865
893
|
Makes the Sorbet `strict` sigil mandatory in all files.
|
866
894
|
|
895
|
+
### Examples
|
896
|
+
|
897
|
+
```ruby
|
898
|
+
# bad
|
899
|
+
# typed: true
|
900
|
+
|
901
|
+
# bad
|
902
|
+
# typed: false
|
903
|
+
|
904
|
+
# good
|
905
|
+
# typed: strict
|
906
|
+
```
|
907
|
+
|
867
908
|
### Configurable attributes
|
868
909
|
|
869
910
|
Name | Default value | Configurable values
|
@@ -970,6 +1011,7 @@ Options:
|
|
970
1011
|
* `ExactStrictness`: If set, make offense if the strictness level in the file is different than this one
|
971
1012
|
|
972
1013
|
If an `ExactStrictness` level is specified, it will be used in offense messages and autocorrect.
|
1014
|
+
If a `SuggestedStrictness` level is specified, it will be used in autocorrect.
|
973
1015
|
Otherwise, if a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
|
974
1016
|
|
975
1017
|
### Configurable attributes
|
metadata
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-sorbet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ufuk Kayserilioglu
|
8
8
|
- Alan Wu
|
9
9
|
- Alexandre Terrasa
|
10
10
|
- Peter Zhu
|
11
|
-
autorequire:
|
12
11
|
bindir: exe
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 2025-02-20 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: rubocop
|
@@ -27,7 +26,6 @@ dependencies:
|
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
28
|
version: '1'
|
30
|
-
description:
|
31
29
|
email:
|
32
30
|
- ruby@shopify.com
|
33
31
|
executables: []
|
@@ -68,6 +66,7 @@ files:
|
|
68
66
|
- lib/rubocop/cop/sorbet/constants_from_strings.rb
|
69
67
|
- lib/rubocop/cop/sorbet/forbid_include_const_literal.rb
|
70
68
|
- lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb
|
69
|
+
- lib/rubocop/cop/sorbet/forbid_t_enum.rb
|
71
70
|
- lib/rubocop/cop/sorbet/forbid_t_struct.rb
|
72
71
|
- lib/rubocop/cop/sorbet/forbid_t_unsafe.rb
|
73
72
|
- lib/rubocop/cop/sorbet/forbid_t_untyped.rb
|
@@ -122,7 +121,6 @@ metadata:
|
|
122
121
|
allowed_push_host: https://rubygems.org
|
123
122
|
homepage_uri: https://github.com/shopify/rubocop-sorbet
|
124
123
|
source_code_uri: https://github.com/shopify/rubocop-sorbet
|
125
|
-
post_install_message:
|
126
124
|
rdoc_options: []
|
127
125
|
require_paths:
|
128
126
|
- lib
|
@@ -137,8 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
135
|
- !ruby/object:Gem::Version
|
138
136
|
version: '0'
|
139
137
|
requirements: []
|
140
|
-
rubygems_version: 3.
|
141
|
-
signing_key:
|
138
|
+
rubygems_version: 3.6.3
|
142
139
|
specification_version: 4
|
143
140
|
summary: Automatic Sorbet code style checking tool.
|
144
141
|
test_files: []
|