yard-rustdoc 0.4.0 → 0.4.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 +4 -4
- data/lib/yard-rustdoc/parser.rb +5 -3
- data/lib/yard-rustdoc/statements.rb +9 -2
- data/lib/yard-rustdoc/version.rb +1 -1
- metadata +5 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24b060b8f18e6f3eb16b1db6b9db45d2460b06c5205fdd912439e556e827db4d
|
|
4
|
+
data.tar.gz: 4c7d1df433e0f8592d4662ca7c3234c57b135cc9d4b1a840be722198788e3910
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 752fbc1a18f3221cd014a418411feee0bd34292e27a536bc9834c979d9abe251067fce9d917de6917fca16e4095e3e2bfa7791c1b2babf6d5095377351dbd039
|
|
7
|
+
data.tar.gz: a4335f3a4d0db31b84d2c61125d27c0cf2c015327821ac6912c141ea9bf8ffbec7c3e9e594438cf91498982eb6a8be864efbc9652f74d281e9fcddff85ef0983
|
data/lib/yard-rustdoc/parser.rb
CHANGED
|
@@ -40,9 +40,11 @@ module YARD::Parser::Rustdoc
|
|
|
40
40
|
|
|
41
41
|
methods = inner
|
|
42
42
|
.fetch("impls")
|
|
43
|
-
.flat_map
|
|
43
|
+
.flat_map do |impl_id|
|
|
44
|
+
@rustdoc_json.dig(impl_id.to_s, "inner", "impl", "items")
|
|
45
|
+
end
|
|
44
46
|
.filter_map do |method_id|
|
|
45
|
-
method_entry = @rustdoc_json.fetch(method_id)
|
|
47
|
+
method_entry = @rustdoc_json.fetch(method_id.to_s)
|
|
46
48
|
next unless relevant_entry?(method_entry)
|
|
47
49
|
|
|
48
50
|
Statements::Method.new(method_entry)
|
|
@@ -52,7 +54,7 @@ module YARD::Parser::Rustdoc
|
|
|
52
54
|
end
|
|
53
55
|
|
|
54
56
|
# Ensure Foo comes before Foo::Bar
|
|
55
|
-
@entries.
|
|
57
|
+
@entries.sort_by!(&:name)
|
|
56
58
|
|
|
57
59
|
self
|
|
58
60
|
end
|
|
@@ -73,6 +73,8 @@ module YARD::Parser::Rustdoc
|
|
|
73
73
|
return $1.strip if docstring =~ /^@rename\s*(.+)/
|
|
74
74
|
|
|
75
75
|
@rustdoc["attrs"].each do |attr|
|
|
76
|
+
attr = attr["other"] if attr.is_a?(Hash) # JSON rustdoc FORMAT_VERSION v54
|
|
77
|
+
|
|
76
78
|
next unless attr.include?("magnus")
|
|
77
79
|
|
|
78
80
|
# Extract class name from magnus attrs that define classes such as:
|
|
@@ -104,8 +106,13 @@ module YARD::Parser::Rustdoc
|
|
|
104
106
|
# Infers the scope (instance vs class) based on the usage of "self" or
|
|
105
107
|
# "rb_self" as an arg name.
|
|
106
108
|
def scope
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
inputs =
|
|
110
|
+
# JSON rustdoc FORMAT_VERSION < 34
|
|
111
|
+
@rustdoc.dig("inner", "function", "decl", "inputs") ||
|
|
112
|
+
# >= 34
|
|
113
|
+
@rustdoc.dig("inner", "function", "sig", "inputs")
|
|
114
|
+
|
|
115
|
+
arg_names = inputs
|
|
109
116
|
.map(&:first)
|
|
110
117
|
.slice(0, 2) # Magnus may inject a Ruby handle as arg0, hence we check 2 args
|
|
111
118
|
|
data/lib/yard-rustdoc/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yard-rustdoc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jimmy Bourassa
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: yard
|
|
@@ -30,14 +29,14 @@ dependencies:
|
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '6.0'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '6.0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: rake
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,7 +79,6 @@ dependencies:
|
|
|
80
79
|
- - "~>"
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '1.9'
|
|
83
|
-
description:
|
|
84
82
|
email:
|
|
85
83
|
- jbourassa@gmail.com
|
|
86
84
|
executables: []
|
|
@@ -100,7 +98,6 @@ licenses:
|
|
|
100
98
|
metadata:
|
|
101
99
|
homepage_uri: https://github.com/oxidize-rb/yard-rustdoc
|
|
102
100
|
source_code_uri: https://github.com/oxidize-rb/yard-rustdoc
|
|
103
|
-
post_install_message:
|
|
104
101
|
rdoc_options: []
|
|
105
102
|
require_paths:
|
|
106
103
|
- lib
|
|
@@ -115,8 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
115
112
|
- !ruby/object:Gem::Version
|
|
116
113
|
version: '0'
|
|
117
114
|
requirements: []
|
|
118
|
-
rubygems_version: 3.
|
|
119
|
-
signing_key:
|
|
115
|
+
rubygems_version: 3.7.2
|
|
120
116
|
specification_version: 4
|
|
121
117
|
summary: Generate YARD documentation for Magnus-based Rust gems.
|
|
122
118
|
test_files: []
|