yard-sorbet 0.0.1 → 0.4.1
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/lib/yard-sorbet.rb +4 -2
- data/lib/yard-sorbet/directives.rb +5 -1
- data/lib/yard-sorbet/sig_handler.rb +81 -32
- data/lib/yard-sorbet/sig_to_yard.rb +26 -6
- data/lib/yard-sorbet/struct_handler.rb +27 -11
- data/lib/yard-sorbet/version.rb +1 -1
- metadata +76 -79
- data/.editorconfig +0 -9
- data/.gitignore +0 -40
- data/.rspec +0 -1
- data/.rubocop.yml +0 -47
- data/.travis.yml +0 -7
- data/CHANGELOG.md +0 -10
- data/Gemfile +0 -14
- data/README.md +0 -17
- data/Rakefile +0 -11
- data/sorbet/config +0 -2
- data/sorbet/rbi/gems/ast.rbi +0 -47
- data/sorbet/rbi/gems/byebug.rbi +0 -1039
- data/sorbet/rbi/gems/codecov.rbi +0 -19
- data/sorbet/rbi/gems/coderay.rbi +0 -91
- data/sorbet/rbi/gems/docile.rbi +0 -31
- data/sorbet/rbi/gems/jaro_winkler.rbi +0 -14
- data/sorbet/rbi/gems/method_source.rbi +0 -63
- data/sorbet/rbi/gems/parallel.rbi +0 -81
- data/sorbet/rbi/gems/parser.rbi +0 -920
- data/sorbet/rbi/gems/pry-byebug.rbi +0 -149
- data/sorbet/rbi/gems/pry.rbi +0 -1964
- data/sorbet/rbi/gems/rainbow.rbi +0 -117
- data/sorbet/rbi/gems/rake.rbi +0 -635
- data/sorbet/rbi/gems/rspec-core.rbi +0 -1686
- data/sorbet/rbi/gems/rspec-expectations.rbi +0 -387
- data/sorbet/rbi/gems/rspec-mocks.rbi +0 -819
- data/sorbet/rbi/gems/rspec-support.rbi +0 -270
- data/sorbet/rbi/gems/rspec.rbi +0 -14
- data/sorbet/rbi/gems/rubocop-rspec.rbi +0 -889
- data/sorbet/rbi/gems/rubocop.rbi +0 -7139
- data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
- data/sorbet/rbi/gems/simplecov-html.rbi +0 -30
- data/sorbet/rbi/gems/simplecov.rbi +0 -225
- data/sorbet/rbi/gems/site_ruby.rbi +0 -114
- data/sorbet/rbi/gems/unicode-display_width.rbi +0 -16
- data/sorbet/rbi/gems/yard.rbi +0 -1181
- data/sorbet/rbi/hidden-definitions/errors.txt +0 -3045
- data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -4469
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +0 -4222
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
- data/spec/data/sig_handler.rb.txt +0 -196
- data/spec/data/struct_handler.rb.txt +0 -25
- data/spec/spec_helper.rb +0 -111
- data/spec/yard_sorbet/sig_handler_spec.rb +0 -233
- data/spec/yard_sorbet/struct_handler_spec.rb +0 -48
- data/yard-sorbet.gemspec +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5adecef50618ea39bdb103aa89d5a6561e838ad9860b7b4103fc39eeb268f5b
|
4
|
+
data.tar.gz: 33a6ce0b55c6a9934e3491a1a1feff06da39919d6b5196a67bab5d3861cd9425
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0139df44b176ef888fb74101915593dd43349133abc0cec0e60a16be72c72ddbbfdefa1ded2dc535764ef898a44156e8a5d74ff40d62ab109818277666f2e44f'
|
7
|
+
data.tar.gz: 2015b2b80680fcea678afc3b5d1a68350218904cc97a93ef4dec35cb1e07918d8766c77f309b21371dd52609c98a348bcb932899c360f721e0a00d3aedf0f175
|
data/lib/yard-sorbet.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
# typed: strong
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
3
4
|
require 'sorbet-runtime'
|
4
5
|
require 'yard'
|
5
6
|
|
6
7
|
# top-level namespace
|
7
8
|
module YARDSorbet; end
|
8
9
|
|
9
|
-
require_relative 'yard-sorbet/directives
|
10
|
+
require_relative 'yard-sorbet/directives'
|
10
11
|
require_relative 'yard-sorbet/sig_handler'
|
11
12
|
require_relative 'yard-sorbet/sig_to_yard'
|
12
13
|
require_relative 'yard-sorbet/struct_handler'
|
14
|
+
require_relative 'yard-sorbet/version'
|
@@ -1,8 +1,11 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# Extract & re-add directives to a docstring
|
5
5
|
module YARDSorbet::Directives
|
6
|
+
extend T::Sig
|
7
|
+
|
8
|
+
sig { params(docstring: T.nilable(String)).returns([YARD::Docstring, T::Array[String]]) }
|
6
9
|
def self.extract_directives(docstring)
|
7
10
|
parser = YARD::DocstringParser.new.parse(docstring)
|
8
11
|
# Directives are already parsed at this point, and there doesn't
|
@@ -16,6 +19,7 @@ module YARDSorbet::Directives
|
|
16
19
|
[parser.to_docstring, directives]
|
17
20
|
end
|
18
21
|
|
22
|
+
sig { params(docstring: String, directives: T::Array[String]).void }
|
19
23
|
def self.add_directives(docstring, directives)
|
20
24
|
directives.each do |directive|
|
21
25
|
docstring.concat("\n#{directive}")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# typed:
|
1
|
+
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# A YARD Handler for Sorbet type declarations
|
@@ -6,35 +6,74 @@ class YARDSorbet::SigHandler < YARD::Handlers::Ruby::Base
|
|
6
6
|
extend T::Sig
|
7
7
|
handles :class, :module, :singleton_class?
|
8
8
|
|
9
|
-
|
9
|
+
# A struct that holds the parsed contents of a Sorbet type signature
|
10
|
+
class ParsedSig < T::Struct
|
11
|
+
prop :abstract, T::Boolean, default: false
|
12
|
+
prop :params, T::Hash[String, T::Array[String]], default: {}
|
13
|
+
prop :return, T.nilable(T::Array[String])
|
14
|
+
end
|
15
|
+
|
16
|
+
PARAM_EXCLUDES = T.let(%i[array call hash].freeze, T::Array[Symbol])
|
17
|
+
PROCESSABLE_NODES = T.let(%i[def defs command].freeze, T::Array[Symbol])
|
18
|
+
SIG_EXCLUDES = T.let(%i[array hash].freeze, T::Array[Symbol])
|
19
|
+
SIG_NODE_TYPES = T.let(%i[call fcall vcall].freeze, T::Array[Symbol])
|
20
|
+
|
21
|
+
private_constant :ParsedSig, :PARAM_EXCLUDES, :PROCESSABLE_NODES, :SIG_EXCLUDES, :SIG_NODE_TYPES
|
22
|
+
|
23
|
+
sig { void }
|
10
24
|
def process
|
11
25
|
# Find the list of declarations inside the class
|
12
26
|
class_def = statement.children.find { |c| c.type == :list }
|
13
27
|
class_contents = class_def.children
|
14
28
|
|
29
|
+
process_class_contents(class_contents)
|
30
|
+
end
|
31
|
+
|
32
|
+
sig { params(class_contents: T::Array[YARD::Parser::Ruby::MethodCallNode]).void }
|
33
|
+
private def process_class_contents(class_contents)
|
15
34
|
class_contents.each_with_index do |child, i|
|
35
|
+
if child.type == :sclass && child.children.size == 2 && child.children[1].type == :list
|
36
|
+
singleton_class_contents = child.children[1]
|
37
|
+
process_class_contents(singleton_class_contents)
|
38
|
+
end
|
16
39
|
next unless type_signature?(child)
|
17
40
|
|
18
41
|
next_statement = class_contents[i + 1]
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
42
|
+
next unless processable_method?(next_statement)
|
43
|
+
|
44
|
+
process_method_definition(T.must(next_statement), child)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
sig { params(next_statement: T.nilable(YARD::Parser::Ruby::AstNode)).returns(T::Boolean) }
|
49
|
+
private def processable_method?(next_statement)
|
50
|
+
PROCESSABLE_NODES.include?(next_statement&.type)
|
51
|
+
end
|
52
|
+
|
53
|
+
sig do
|
54
|
+
params(
|
55
|
+
method_node: YARD::Parser::Ruby::AstNode,
|
56
|
+
sig_node: YARD::Parser::Ruby::MethodCallNode
|
57
|
+
).void
|
58
|
+
end
|
59
|
+
private def process_method_definition(method_node, sig_node)
|
60
|
+
# Swap the method definition docstring and the sig docstring.
|
61
|
+
# Parse relevant parts of the `sig` and include them as well.
|
62
|
+
docstring, directives = YARDSorbet::Directives.extract_directives(sig_node.docstring)
|
63
|
+
parsed_sig = parse_sig(sig_node)
|
64
|
+
enhance_tag(docstring, :abstract, parsed_sig)
|
65
|
+
enhance_tag(docstring, :return, parsed_sig)
|
66
|
+
if method_node.type != :command
|
67
|
+
parsed_sig.params.each do |name, types|
|
68
|
+
enhance_param(docstring, name, types)
|
34
69
|
end
|
35
70
|
end
|
71
|
+
method_node.docstring = docstring.to_raw
|
72
|
+
YARDSorbet::Directives.add_directives(method_node.docstring, directives)
|
73
|
+
sig_node.docstring = nil
|
36
74
|
end
|
37
75
|
|
76
|
+
sig { params(docstring: YARD::Docstring, name: String, types: T::Array[String]).void }
|
38
77
|
private def enhance_param(docstring, name, types)
|
39
78
|
tag = docstring.tags.find { |t| t.tag_name == 'param' && t.name == name }
|
40
79
|
if tag
|
@@ -46,8 +85,10 @@ class YARDSorbet::SigHandler < YARD::Handlers::Ruby::Base
|
|
46
85
|
docstring.add_tag(tag)
|
47
86
|
end
|
48
87
|
|
88
|
+
sig { params(docstring: YARD::Docstring, type: Symbol, parsed_sig: ParsedSig).void }
|
49
89
|
private def enhance_tag(docstring, type, parsed_sig)
|
50
|
-
|
90
|
+
type_value = parsed_sig.public_send(type)
|
91
|
+
return if !type_value
|
51
92
|
|
52
93
|
tag = docstring.tags.find { |t| t.tag_name == type.to_s }
|
53
94
|
if tag
|
@@ -55,52 +96,53 @@ class YARDSorbet::SigHandler < YARD::Handlers::Ruby::Base
|
|
55
96
|
else
|
56
97
|
tag = YARD::Tags::Tag.new(type, '')
|
57
98
|
end
|
58
|
-
if
|
59
|
-
tag.types =
|
99
|
+
if type_value.is_a?(Array)
|
100
|
+
tag.types = type_value
|
60
101
|
end
|
61
102
|
docstring.add_tag(tag)
|
62
103
|
end
|
63
104
|
|
105
|
+
sig { params(sig_node: YARD::Parser::Ruby::MethodCallNode).returns(ParsedSig) }
|
64
106
|
private def parse_sig(sig_node)
|
65
|
-
parsed =
|
66
|
-
parsed[:abstract] = false
|
67
|
-
parsed[:params] = {}
|
107
|
+
parsed = ParsedSig.new
|
68
108
|
found_params = T.let(false, T::Boolean)
|
69
109
|
found_return = T.let(false, T::Boolean)
|
70
|
-
bfs_traverse(sig_node, exclude:
|
110
|
+
bfs_traverse(sig_node, exclude: SIG_EXCLUDES) do |n|
|
71
111
|
if n.source == 'abstract'
|
72
|
-
parsed
|
112
|
+
parsed.abstract = true
|
73
113
|
elsif n.source == 'params' && !found_params
|
74
114
|
found_params = true
|
75
115
|
sibling = T.must(sibling_node(n))
|
76
|
-
bfs_traverse(sibling, exclude:
|
116
|
+
bfs_traverse(sibling, exclude: PARAM_EXCLUDES) do |p|
|
77
117
|
if p.type == :assoc
|
78
118
|
param_name = p.children.first.source[0...-1]
|
79
119
|
types = YARDSorbet::SigToYARD.convert(p.children.last)
|
80
|
-
parsed
|
120
|
+
parsed.params[param_name] = types
|
81
121
|
end
|
82
122
|
end
|
83
123
|
elsif n.source == 'returns' && !found_return
|
84
124
|
found_return = true
|
85
|
-
parsed
|
125
|
+
parsed.return = YARDSorbet::SigToYARD.convert(T.must(sibling_node(n)))
|
86
126
|
elsif n.source == 'void'
|
87
|
-
parsed
|
127
|
+
parsed.return ||= ['void']
|
88
128
|
end
|
89
129
|
end
|
90
130
|
parsed
|
91
131
|
end
|
92
132
|
|
93
133
|
# Returns true if the given node is part of a type signature.
|
134
|
+
sig { params(node: T.nilable(YARD::Parser::Ruby::AstNode)).returns(T::Boolean) }
|
94
135
|
private def type_signature?(node)
|
95
136
|
loop do
|
96
137
|
return false if node.nil?
|
97
|
-
return false unless
|
138
|
+
return false unless SIG_NODE_TYPES.include?(node.type)
|
98
139
|
return true if T.unsafe(node).method_name(true) == :sig
|
99
140
|
|
100
|
-
node = node.children.first
|
141
|
+
node = T.let(node.children.first, T.nilable(YARD::Parser::Ruby::AstNode))
|
101
142
|
end
|
102
143
|
end
|
103
144
|
|
145
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T.nilable(YARD::Parser::Ruby::AstNode)) }
|
104
146
|
private def sibling_node(node)
|
105
147
|
found_sibling = T.let(false, T::Boolean)
|
106
148
|
node.parent.children.each do |n|
|
@@ -116,7 +158,14 @@ class YARDSorbet::SigHandler < YARD::Handlers::Ruby::Base
|
|
116
158
|
end
|
117
159
|
|
118
160
|
# @yield [YARD::Parser::Ruby::AstNode]
|
119
|
-
|
161
|
+
sig do
|
162
|
+
params(
|
163
|
+
node: YARD::Parser::Ruby::AstNode,
|
164
|
+
exclude: T::Array[Symbol],
|
165
|
+
_blk: T.proc.params(n: YARD::Parser::Ruby::AstNode).void
|
166
|
+
).void
|
167
|
+
end
|
168
|
+
private def bfs_traverse(node, exclude: [], &_blk)
|
120
169
|
queue = [node]
|
121
170
|
while !queue.empty?
|
122
171
|
n = T.must(queue.shift)
|
@@ -1,17 +1,21 @@
|
|
1
|
+
# typed: strict
|
1
2
|
# frozen_string_literal: true
|
2
|
-
# typed: true
|
3
3
|
|
4
4
|
# Translate sig type syntax to YARD type syntax.
|
5
5
|
module YARDSorbet::SigToYARD
|
6
|
-
|
6
|
+
extend T::Sig
|
7
|
+
|
8
|
+
IS_LEGACY_RUBY_VERSION = T.let(RUBY_VERSION.start_with?('2.5.'), T::Boolean)
|
7
9
|
|
8
10
|
# @see https://yardoc.org/types.html
|
11
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
9
12
|
def self.convert(node)
|
10
13
|
types = convert_type(node)
|
11
14
|
# scrub newlines, as they break the YARD parser
|
12
15
|
types.map { |type| type.gsub(/\n\s*/, ' ') }
|
13
16
|
end
|
14
17
|
|
18
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
15
19
|
def self.convert_type(node)
|
16
20
|
children = node.children
|
17
21
|
case node.type
|
@@ -27,8 +31,8 @@ module YARDSorbet::SigToYARD
|
|
27
31
|
value_type = convert(children.last.children.last).join(', ')
|
28
32
|
["Hash{#{key_type} => #{value_type}}"]
|
29
33
|
else
|
30
|
-
log.
|
31
|
-
[node
|
34
|
+
log.info("Unsupported sig aref node #{node.source}")
|
35
|
+
[build_generic_type(node)]
|
32
36
|
end
|
33
37
|
when :arg_paren
|
34
38
|
convert(children.first.children.first)
|
@@ -40,7 +44,7 @@ module YARDSorbet::SigToYARD
|
|
40
44
|
if children[0].source == 'T'
|
41
45
|
t_method = IS_LEGACY_RUBY_VERSION ? children[1].source : children[2].source
|
42
46
|
case t_method
|
43
|
-
when 'all', 'class_of', 'enum', 'noreturn', 'self_type', 'type_parameter', 'untyped'
|
47
|
+
when 'all', 'attached_class', 'class_of', 'enum', 'noreturn', 'self_type', 'type_parameter', 'untyped'
|
44
48
|
# YARD doesn't have equivalent notions, so we just use the raw source
|
45
49
|
[node.source]
|
46
50
|
when 'any'
|
@@ -56,7 +60,7 @@ module YARDSorbet::SigToYARD
|
|
56
60
|
else
|
57
61
|
[node.source]
|
58
62
|
end
|
59
|
-
when :const_path_ref
|
63
|
+
when :const_path_ref, :const
|
60
64
|
case node.source
|
61
65
|
when 'T::Boolean'
|
62
66
|
['Boolean'] # YARD convention for booleans
|
@@ -83,9 +87,25 @@ module YARDSorbet::SigToYARD
|
|
83
87
|
else
|
84
88
|
[node.source]
|
85
89
|
end
|
90
|
+
when :top_const_ref
|
91
|
+
# A top-level constant reference, such as ::Klass
|
92
|
+
# It contains a child node of type :const
|
93
|
+
convert(children.first)
|
86
94
|
else
|
87
95
|
log.warn("Unsupported sig #{node.type} node #{node.source}")
|
88
96
|
[node.source]
|
89
97
|
end
|
90
98
|
end
|
99
|
+
|
100
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(String) }
|
101
|
+
def self.build_generic_type(node)
|
102
|
+
return node.source if node.children.empty? || node.type != :aref
|
103
|
+
|
104
|
+
collection_type = node.children.first.source
|
105
|
+
member_type = node.children.last.children
|
106
|
+
.map { |child| build_generic_type(child) }
|
107
|
+
.join(', ')
|
108
|
+
|
109
|
+
"#{collection_type}[#{member_type}]"
|
110
|
+
end
|
91
111
|
end
|
@@ -1,14 +1,23 @@
|
|
1
|
+
# typed: strict
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
|
-
#
|
4
|
+
# Handles all `const`/`prop` calls, creating accessor methods, and compiles them for later usage at the class level
|
4
5
|
# in creating a constructor
|
5
6
|
class YARDSorbet::StructHandler < YARD::Handlers::Ruby::Base
|
6
|
-
|
7
|
+
extend T::Sig
|
8
|
+
|
9
|
+
handles method_call(:const), method_call(:prop)
|
7
10
|
namespace_only
|
8
11
|
|
12
|
+
sig { void }
|
9
13
|
def process
|
10
14
|
# Store the property for use in the constructor definition
|
11
|
-
name = statement.parameters[0].jump(
|
15
|
+
name = statement.parameters[0].jump(
|
16
|
+
:ident, # handles most "normal" identifiers
|
17
|
+
:kw, # handles prop names using reserved words like `end` or `def`
|
18
|
+
:const # handles capitalized prop names like Foo
|
19
|
+
).source
|
20
|
+
|
12
21
|
doc = statement.docstring.to_s
|
13
22
|
source = statement.source
|
14
23
|
types = YARDSorbet::SigToYARD.convert(statement.parameters[1])
|
@@ -30,29 +39,36 @@ class YARDSorbet::StructHandler < YARD::Handlers::Ruby::Base
|
|
30
39
|
object = MethodObject.new(namespace, name, scope)
|
31
40
|
object.source = source
|
32
41
|
|
33
|
-
register(object)
|
34
|
-
|
35
42
|
reader_docstring = doc.empty? ? "Returns the value of attribute +#{name}+." : doc
|
36
43
|
docstring = YARD::DocstringParser.new.parse(reader_docstring).to_docstring
|
37
44
|
docstring.add_tag(YARD::Tags::Tag.new(:return, '', types))
|
38
45
|
object.docstring = docstring.to_raw
|
39
46
|
|
40
|
-
# Register the object explicitly as an attribute
|
47
|
+
# Register the object explicitly as an attribute.
|
48
|
+
# While `const` attributes are immutable, `prop` attributes may be reassigned.
|
49
|
+
if statement.method_name.source == 'prop'
|
50
|
+
namespace.attributes[scope][name][:write] = object
|
51
|
+
end
|
41
52
|
namespace.attributes[scope][name][:read] = object
|
42
53
|
end
|
43
54
|
end
|
44
55
|
|
45
|
-
# Class-level handler that folds all `const` declarations into the constructor documentation
|
56
|
+
# Class-level handler that folds all `const` and `prop` declarations into the constructor documentation
|
46
57
|
# this needs to be injected as a module otherwise the default Class handler will overwrite documentation
|
47
58
|
module YARDSorbet::StructClassHandler
|
59
|
+
extend T::Sig
|
60
|
+
|
61
|
+
sig { void }
|
48
62
|
def process
|
49
63
|
ret = super
|
50
64
|
|
51
|
-
return ret if extra_state.prop_docs.nil?
|
65
|
+
return ret if T.unsafe(self).extra_state.prop_docs.nil?
|
52
66
|
|
53
67
|
# lookup the full YARD path for the current class
|
54
|
-
class_ns = YARD::CodeObjects::ClassObject.new(
|
55
|
-
|
68
|
+
class_ns = YARD::CodeObjects::ClassObject.new(
|
69
|
+
T.unsafe(self).namespace, T.unsafe(self).statement[0].source.gsub(/\s/, '')
|
70
|
+
)
|
71
|
+
props = T.unsafe(self).extra_state.prop_docs[class_ns]
|
56
72
|
|
57
73
|
return ret if props.empty?
|
58
74
|
|
@@ -81,7 +97,7 @@ module YARDSorbet::StructClassHandler
|
|
81
97
|
object.source ||= props.map { |p| p[:source] }.join("\n")
|
82
98
|
object.explicit ||= false # not strictly necessary
|
83
99
|
|
84
|
-
register(object)
|
100
|
+
T.unsafe(self).register(object)
|
85
101
|
|
86
102
|
object.docstring = docstring.to_raw
|
87
103
|
|
data/lib/yard-sorbet/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-sorbet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Douglas Eichelberger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codecov
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
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
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,98 +44,140 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
47
|
+
version: '3.10'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
54
|
+
version: '3.10'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.13.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.13.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop-performance
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.11.0
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
82
|
+
version: 1.11.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.5.1
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.5.1
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: rubocop-rspec
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - "~>"
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
103
|
+
version: 2.3.0
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
108
|
- - "~>"
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
110
|
+
version: 2.3.0
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
112
|
+
name: rubocop-sorbet
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - "~>"
|
88
116
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
117
|
+
version: 0.6.0
|
90
118
|
type: :development
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
122
|
- - "~>"
|
95
123
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
124
|
+
version: 0.6.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
97
139
|
- !ruby/object:Gem::Dependency
|
98
140
|
name: sorbet
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
100
142
|
requirements:
|
101
143
|
- - "~>"
|
102
144
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.5.
|
145
|
+
version: 0.5.6193
|
104
146
|
type: :development
|
105
147
|
prerelease: false
|
106
148
|
version_requirements: !ruby/object:Gem::Requirement
|
107
149
|
requirements:
|
108
150
|
- - "~>"
|
109
151
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.5.
|
152
|
+
version: 0.5.6193
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: sorbet-runtime
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
|
-
- - "
|
157
|
+
- - ">="
|
116
158
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
159
|
+
version: 0.5.5845
|
118
160
|
type: :runtime
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
|
-
- - "
|
164
|
+
- - ">="
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
166
|
+
version: 0.5.5845
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
168
|
name: yard
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
|
-
- - "
|
171
|
+
- - ">="
|
130
172
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
173
|
+
version: 0.9.16
|
132
174
|
type: :runtime
|
133
175
|
prerelease: false
|
134
176
|
version_requirements: !ruby/object:Gem::Requirement
|
135
177
|
requirements:
|
136
|
-
- - "
|
178
|
+
- - ">="
|
137
179
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
180
|
+
version: 0.9.16
|
139
181
|
description: 'A YARD plugin that incorporates Sorbet type information
|
140
182
|
|
141
183
|
'
|
@@ -144,66 +186,21 @@ executables: []
|
|
144
186
|
extensions: []
|
145
187
|
extra_rdoc_files: []
|
146
188
|
files:
|
147
|
-
- ".editorconfig"
|
148
|
-
- ".gitignore"
|
149
|
-
- ".rspec"
|
150
|
-
- ".rubocop.yml"
|
151
|
-
- ".travis.yml"
|
152
|
-
- CHANGELOG.md
|
153
|
-
- Gemfile
|
154
189
|
- LICENSE
|
155
|
-
- README.md
|
156
|
-
- Rakefile
|
157
190
|
- lib/yard-sorbet.rb
|
158
191
|
- lib/yard-sorbet/directives.rb
|
159
192
|
- lib/yard-sorbet/sig_handler.rb
|
160
193
|
- lib/yard-sorbet/sig_to_yard.rb
|
161
194
|
- lib/yard-sorbet/struct_handler.rb
|
162
195
|
- lib/yard-sorbet/version.rb
|
163
|
-
- sorbet/config
|
164
|
-
- sorbet/rbi/gems/ast.rbi
|
165
|
-
- sorbet/rbi/gems/byebug.rbi
|
166
|
-
- sorbet/rbi/gems/codecov.rbi
|
167
|
-
- sorbet/rbi/gems/coderay.rbi
|
168
|
-
- sorbet/rbi/gems/docile.rbi
|
169
|
-
- sorbet/rbi/gems/jaro_winkler.rbi
|
170
|
-
- sorbet/rbi/gems/method_source.rbi
|
171
|
-
- sorbet/rbi/gems/parallel.rbi
|
172
|
-
- sorbet/rbi/gems/parser.rbi
|
173
|
-
- sorbet/rbi/gems/pry-byebug.rbi
|
174
|
-
- sorbet/rbi/gems/pry.rbi
|
175
|
-
- sorbet/rbi/gems/rainbow.rbi
|
176
|
-
- sorbet/rbi/gems/rake.rbi
|
177
|
-
- sorbet/rbi/gems/rspec-core.rbi
|
178
|
-
- sorbet/rbi/gems/rspec-expectations.rbi
|
179
|
-
- sorbet/rbi/gems/rspec-mocks.rbi
|
180
|
-
- sorbet/rbi/gems/rspec-support.rbi
|
181
|
-
- sorbet/rbi/gems/rspec.rbi
|
182
|
-
- sorbet/rbi/gems/rubocop-rspec.rbi
|
183
|
-
- sorbet/rbi/gems/rubocop.rbi
|
184
|
-
- sorbet/rbi/gems/ruby-progressbar.rbi
|
185
|
-
- sorbet/rbi/gems/simplecov-html.rbi
|
186
|
-
- sorbet/rbi/gems/simplecov.rbi
|
187
|
-
- sorbet/rbi/gems/site_ruby.rbi
|
188
|
-
- sorbet/rbi/gems/unicode-display_width.rbi
|
189
|
-
- sorbet/rbi/gems/yard.rbi
|
190
|
-
- sorbet/rbi/hidden-definitions/errors.txt
|
191
|
-
- sorbet/rbi/hidden-definitions/hidden.rbi
|
192
|
-
- sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi
|
193
|
-
- sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi
|
194
|
-
- sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi
|
195
|
-
- sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi
|
196
|
-
- spec/data/sig_handler.rb.txt
|
197
|
-
- spec/data/struct_handler.rb.txt
|
198
|
-
- spec/spec_helper.rb
|
199
|
-
- spec/yard_sorbet/sig_handler_spec.rb
|
200
|
-
- spec/yard_sorbet/struct_handler_spec.rb
|
201
|
-
- yard-sorbet.gemspec
|
202
196
|
homepage: https://github.com/dduugg/yard-sorbet
|
203
197
|
licenses:
|
204
198
|
- Apache-2.0
|
205
|
-
metadata:
|
206
|
-
|
199
|
+
metadata:
|
200
|
+
homepage_uri: https://github.com/dduugg/yard-sorbet
|
201
|
+
source_code_uri: https://github.com/dduugg/yard-sorbet
|
202
|
+
changelog_uri: https://github.com/dduugg/yard-sorbet/blob/master/CHANGELOG.md
|
203
|
+
post_install_message:
|
207
204
|
rdoc_options: []
|
208
205
|
require_paths:
|
209
206
|
- lib
|
@@ -211,15 +208,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
211
208
|
requirements:
|
212
209
|
- - ">="
|
213
210
|
- !ruby/object:Gem::Version
|
214
|
-
version: 2.
|
211
|
+
version: 2.5.0
|
215
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
213
|
requirements:
|
217
214
|
- - ">="
|
218
215
|
- !ruby/object:Gem::Version
|
219
216
|
version: '0'
|
220
217
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
222
|
-
signing_key:
|
218
|
+
rubygems_version: 3.1.4
|
219
|
+
signing_key:
|
223
220
|
specification_version: 4
|
224
221
|
summary: Create YARD docs from Sorbet type signatures
|
225
222
|
test_files: []
|