rdoc 7.2.0 → 8.0.0

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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -4
  3. data/LICENSE.rdoc +4 -0
  4. data/README.md +43 -2
  5. data/doc/markup_reference/markdown.md +104 -3
  6. data/lib/rdoc/code_object/alias.rb +2 -8
  7. data/lib/rdoc/code_object/any_method.rb +11 -6
  8. data/lib/rdoc/code_object/attr.rb +11 -6
  9. data/lib/rdoc/code_object/class_module.rb +62 -32
  10. data/lib/rdoc/code_object/constant.rb +29 -3
  11. data/lib/rdoc/code_object/context/section.rb +4 -35
  12. data/lib/rdoc/code_object/context.rb +39 -34
  13. data/lib/rdoc/code_object/method_attr.rb +9 -15
  14. data/lib/rdoc/code_object/mixin.rb +2 -2
  15. data/lib/rdoc/code_object/top_level.rb +9 -3
  16. data/lib/rdoc/code_object.rb +2 -4
  17. data/lib/rdoc/comment.rb +0 -65
  18. data/lib/rdoc/cross_reference.rb +7 -27
  19. data/lib/rdoc/encoding.rb +3 -3
  20. data/lib/rdoc/generator/aliki.rb +17 -0
  21. data/lib/rdoc/generator/darkfish.rb +12 -6
  22. data/lib/rdoc/generator/json_index.rb +2 -2
  23. data/lib/rdoc/generator/markup.rb +56 -31
  24. data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
  25. data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +1 -1
  26. data/lib/rdoc/generator/template/aliki/_head.rhtml +1 -1
  27. data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +8 -6
  28. data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +8 -6
  29. data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +1 -1
  30. data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +2 -2
  31. data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +1 -1
  32. data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +1 -1
  33. data/lib/rdoc/generator/template/aliki/class.rhtml +56 -46
  34. data/lib/rdoc/generator/template/aliki/css/rdoc.css +337 -111
  35. data/lib/rdoc/generator/template/aliki/index.rhtml +1 -1
  36. data/lib/rdoc/generator/template/aliki/js/aliki.js +20 -18
  37. data/lib/rdoc/generator/template/aliki/page.rhtml +1 -1
  38. data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +1 -1
  39. data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +2 -2
  40. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +8 -6
  41. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +8 -6
  42. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +1 -1
  43. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +1 -1
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +1 -1
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +5 -5
  46. data/lib/rdoc/generator/template/darkfish/class.rhtml +18 -21
  47. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +0 -1
  48. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +3 -3
  49. data/lib/rdoc/i18n/text.rb +3 -3
  50. data/lib/rdoc/markdown.kpeg +15 -10
  51. data/lib/rdoc/markdown.rb +289 -104
  52. data/lib/rdoc/markup/document.rb +2 -2
  53. data/lib/rdoc/markup/formatter.rb +24 -34
  54. data/lib/rdoc/markup/heading.rb +1 -4
  55. data/lib/rdoc/markup/indented_paragraph.rb +1 -1
  56. data/lib/rdoc/markup/list.rb +2 -2
  57. data/lib/rdoc/markup/list_item.rb +2 -2
  58. data/lib/rdoc/markup/pre_process.rb +0 -25
  59. data/lib/rdoc/markup/to_ansi.rb +1 -1
  60. data/lib/rdoc/markup/to_bs.rb +1 -1
  61. data/lib/rdoc/markup/to_html.rb +131 -53
  62. data/lib/rdoc/markup/to_html_crossref.rb +97 -71
  63. data/lib/rdoc/markup/to_html_snippet.rb +5 -5
  64. data/lib/rdoc/markup/to_joined_paragraph.rb +0 -5
  65. data/lib/rdoc/markup/to_label.rb +2 -2
  66. data/lib/rdoc/markup/to_markdown.rb +1 -1
  67. data/lib/rdoc/markup/to_rdoc.rb +2 -2
  68. data/lib/rdoc/markup/to_table_of_contents.rb +1 -1
  69. data/lib/rdoc/markup/to_tt_only.rb +0 -7
  70. data/lib/rdoc/markup/verbatim.rb +1 -1
  71. data/lib/rdoc/options.rb +36 -51
  72. data/lib/rdoc/parser/c.rb +7 -6
  73. data/lib/rdoc/parser/rbs.rb +275 -0
  74. data/lib/rdoc/parser/ruby.rb +954 -2066
  75. data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
  76. data/lib/rdoc/parser.rb +3 -2
  77. data/lib/rdoc/rbs_helper.rb +186 -0
  78. data/lib/rdoc/rdoc.rb +196 -24
  79. data/lib/rdoc/ri/driver.rb +8 -2
  80. data/lib/rdoc/ri/paths.rb +1 -1
  81. data/lib/rdoc/{servlet.rb → ri/servlet.rb} +5 -5
  82. data/lib/rdoc/ri.rb +4 -3
  83. data/lib/rdoc/rubygems_hook.rb +11 -11
  84. data/lib/rdoc/server.rb +460 -0
  85. data/lib/rdoc/stats.rb +147 -124
  86. data/lib/rdoc/store.rb +212 -4
  87. data/lib/rdoc/task.rb +16 -15
  88. data/lib/rdoc/text.rb +1 -118
  89. data/lib/rdoc/token_stream.rb +11 -33
  90. data/lib/rdoc/version.rb +1 -1
  91. data/lib/rdoc.rb +35 -7
  92. data/lib/rubygems_plugin.rb +2 -11
  93. data/rdoc-logo.svg +43 -0
  94. data/rdoc.gemspec +6 -4
  95. metadata +35 -18
  96. data/lib/rdoc/code_object/anon_class.rb +0 -10
  97. data/lib/rdoc/code_object/ghost_method.rb +0 -6
  98. data/lib/rdoc/code_object/meta_method.rb +0 -6
  99. data/lib/rdoc/parser/prism_ruby.rb +0 -1112
  100. data/lib/rdoc/parser/ripper_state_lex.rb +0 -302
  101. data/lib/rdoc/parser/ruby_tools.rb +0 -163
data/lib/rdoc/text.rb CHANGED
@@ -29,34 +29,6 @@ module RDoc::Text
29
29
 
30
30
  MARKUP_FORMAT.default = RDoc::Markup
31
31
 
32
- ##
33
- # Maps an encoding to a Hash of characters properly transcoded for that
34
- # encoding.
35
- #
36
- # See also encode_fallback.
37
-
38
- TO_HTML_CHARACTERS = Hash.new do |h, encoding|
39
- h[encoding] = {
40
- :close_dquote => encode_fallback('”', encoding, '"'),
41
- :close_squote => encode_fallback('’', encoding, '\''),
42
- :copyright => encode_fallback('©', encoding, '(c)'),
43
- :ellipsis => encode_fallback('…', encoding, '...'),
44
- :em_dash => encode_fallback('—', encoding, '---'),
45
- :en_dash => encode_fallback('–', encoding, '--'),
46
- :open_dquote => encode_fallback('“', encoding, '"'),
47
- :open_squote => encode_fallback('‘', encoding, '\''),
48
- :trademark => encode_fallback('®', encoding, '(r)'),
49
- }
50
- end
51
-
52
- ##
53
- # Transcodes +character+ to +encoding+ with a +fallback+ character.
54
-
55
- def self.encode_fallback(character, encoding, fallback)
56
- character.encode(encoding, :fallback => { character => fallback },
57
- :undef => :replace, :replace => fallback)
58
- end
59
-
60
32
  ##
61
33
  # Expands tab characters in +text+ to eight spaces
62
34
 
@@ -149,7 +121,7 @@ module RDoc::Text
149
121
  def snippet(text, limit = 100)
150
122
  document = parse text
151
123
 
152
- RDoc::Markup::ToHtmlSnippet.new(options, limit).convert document
124
+ RDoc::Markup::ToHtmlSnippet.new(limit).convert document
153
125
  end
154
126
 
155
127
  ##
@@ -193,95 +165,6 @@ module RDoc::Text
193
165
  text.gsub(/^\s+$/, empty)
194
166
  end
195
167
 
196
- def to_html(text)
197
- to_html_characters(text)
198
- end
199
-
200
- ##
201
- # Converts ampersand, dashes, ellipsis, quotes, copyright and registered
202
- # trademark symbols in +text+ to properly encoded characters.
203
-
204
- def to_html_characters(text)
205
- html = (''.encode text.encoding).dup
206
-
207
- encoded = RDoc::Text::TO_HTML_CHARACTERS[text.encoding]
208
-
209
- s = StringScanner.new text
210
- insquotes = false
211
- indquotes = false
212
- after_word = nil
213
-
214
- until s.eos? do
215
- case
216
- when s.scan(/<(tt|code)>.*?<\/\1>/) then # skip contents of tt
217
- html << s.matched
218
- when s.scan(/<(tt|code)>.*?/) then
219
- warn "mismatched <#{s[1]}> tag" # TODO signal file/line
220
- html << s.matched
221
- when s.scan(/<[^>]+\/?s*>/) then # skip HTML tags
222
- html << s.matched
223
- when s.scan(/\.\.\.(\.?)/) then
224
- html << s[1] << encoded[:ellipsis]
225
- after_word = nil
226
- when s.scan(/\(c\)/i) then
227
- html << encoded[:copyright]
228
- after_word = nil
229
- when s.scan(/\(r\)/i) then
230
- html << encoded[:trademark]
231
- after_word = nil
232
- when s.scan(/---/) then
233
- html << encoded[:em_dash]
234
- after_word = nil
235
- when s.scan(/--/) then
236
- html << encoded[:en_dash]
237
- after_word = nil
238
- when s.scan(/&quot;|"/) then
239
- html << encoded[indquotes ? :close_dquote : :open_dquote]
240
- indquotes = !indquotes
241
- after_word = nil
242
- when s.scan(/``/) then # backtick double quote
243
- html << encoded[:open_dquote]
244
- after_word = nil
245
- when s.scan(/(?:&#39;|'){2}/) then # tick double quote
246
- html << encoded[:close_dquote]
247
- after_word = nil
248
- when s.scan(/`/) then # backtick
249
- if insquotes or after_word
250
- html << '`'
251
- after_word = false
252
- else
253
- html << encoded[:open_squote]
254
- insquotes = true
255
- end
256
- when s.scan(/&#39;|'/) then # single quote
257
- if insquotes
258
- html << encoded[:close_squote]
259
- insquotes = false
260
- elsif after_word
261
- # Mary's dog, my parents' house: do not start paired quotes
262
- html << encoded[:close_squote]
263
- else
264
- html << encoded[:open_squote]
265
- insquotes = true
266
- end
267
-
268
- after_word = nil
269
- else # advance to the next potentially significant character
270
- match = s.scan(/.+?(?=[<\\.("'`&-])/) #"
271
-
272
- if match then
273
- html << match
274
- after_word = match =~ /\w$/
275
- else
276
- html << s.rest
277
- break
278
- end
279
- end
280
- end
281
-
282
- html
283
- end
284
-
285
168
  ##
286
169
  # Wraps +txt+ to +line_len+
287
170
 
@@ -15,47 +15,25 @@ module RDoc::TokenStream
15
15
  # with the given class names. Other token types are not wrapped in spans.
16
16
 
17
17
  def self.to_html(token_stream)
18
- starting_title = false
19
-
20
18
  token_stream.map do |t|
21
19
  next unless t
22
20
 
23
21
  style = case t[:kind]
24
- when :on_const then 'ruby-constant'
25
- when :on_kw then 'ruby-keyword'
26
- when :on_ivar then 'ruby-ivar'
27
- when :on_cvar then 'ruby-identifier'
28
- when :on_gvar then 'ruby-identifier'
29
- when '=' != t[:text] && :on_op
30
- then 'ruby-operator'
31
- when :on_tlambda then 'ruby-operator'
32
- when :on_ident then 'ruby-identifier'
33
- when :on_label then 'ruby-value'
34
- when :on_backref, :on_dstring
35
- then 'ruby-node'
36
- when :on_comment then 'ruby-comment'
37
- when :on_embdoc then 'ruby-comment'
38
- when :on_regexp then 'ruby-regexp'
39
- when :on_tstring then 'ruby-string'
40
- when :on_int, :on_float,
41
- :on_rational, :on_imaginary,
42
- :on_heredoc,
43
- :on_symbol, :on_CHAR then 'ruby-value'
44
- when :on_heredoc_beg, :on_heredoc_end
45
- then 'ruby-identifier'
22
+ when :operator then 'ruby-operator'
23
+ when :keyword then 'ruby-keyword'
24
+ when :constant then 'ruby-constant'
25
+ when :ivar then 'ruby-ivar'
26
+ when :comment then 'ruby-comment'
27
+ when :value then 'ruby-value'
28
+ when :string then 'ruby-string'
29
+ when :symbol then 'ruby-value'
30
+ when :x_string then 'ruby-string'
31
+ when :regexp then 'ruby-regexp'
32
+ when :identifier then 'ruby-identifier'
46
33
  end
47
34
 
48
35
  text = t[:text]
49
36
 
50
- if :on_ident == t[:kind] && starting_title
51
- starting_title = false
52
- style = 'ruby-identifier ruby-title'
53
- end
54
-
55
- if :on_kw == t[:kind] and 'def' == t[:text]
56
- starting_title = true
57
- end
58
-
59
37
  text = CGI.escapeHTML text
60
38
 
61
39
  if style then
data/lib/rdoc/version.rb CHANGED
@@ -5,6 +5,6 @@ module RDoc
5
5
  ##
6
6
  # RDoc version you are using
7
7
 
8
- VERSION = '7.2.0'
8
+ VERSION = '8.0.0'
9
9
 
10
10
  end
data/lib/rdoc.rb CHANGED
@@ -100,7 +100,14 @@ module RDoc
100
100
  %w[arg args yield yields notnew not-new not_new doc]
101
101
 
102
102
  ##
103
- # Loads the best available YAML library.
103
+ # Loads the YAML backend used for <tt>.rdoc_options</tt>.
104
+ #
105
+ # Psych is preferred and used whenever it can be required. Requiring +yaml+
106
+ # is not attempted as a fallback because +yaml+ is merely a thin wrapper that
107
+ # loads Psych anyway. When Psych is genuinely unavailable, a minimal
108
+ # serializer shipped with RubyGems or Bundler is loaded instead, so that RDoc
109
+ # does not need a runtime dependency on Psych. Callers branch on whether
110
+ # Psych is defined and use ::yaml_serializer otherwise.
104
111
 
105
112
  def self.load_yaml
106
113
  begin
@@ -113,11 +120,25 @@ module RDoc
113
120
  begin
114
121
  require 'psych'
115
122
  rescue ::LoadError
116
- ensure
117
- require 'yaml'
123
+ # Psych is unavailable; load the stub serializer shipped with RubyGems,
124
+ # or Bundler's copy on RubyGems older than 3.5 (Ruby 3.2) where
125
+ # rubygems/yaml_serializer does not exist yet.
126
+ begin
127
+ require 'rubygems/yaml_serializer'
128
+ rescue ::LoadError
129
+ require 'bundler/yaml_serializer'
130
+ end
118
131
  end
119
132
  end
120
133
 
134
+ ##
135
+ # The minimal YAML serializer module loaded by ::load_yaml as a fallback.
136
+ # Only meaningful when Psych is not defined.
137
+
138
+ def self.yaml_serializer
139
+ defined?(Gem::YAMLSerializer) ? Gem::YAMLSerializer : Bundler::YAMLSerializer
140
+ end
141
+
121
142
  ##
122
143
  # Searches and returns the directory for settings.
123
144
  #
@@ -151,6 +172,16 @@ module RDoc
151
172
  end
152
173
  end
153
174
 
175
+ ##
176
+ # Returns +File.mtime(file)+, or +nil+ if the file cannot be stat'd
177
+ # (missing, permission denied, etc.).
178
+
179
+ def self.safe_mtime(file)
180
+ File.mtime(file)
181
+ rescue SystemCallError
182
+ nil
183
+ end
184
+
154
185
  autoload :RDoc, "#{__dir__}/rdoc/rdoc"
155
186
 
156
187
  autoload :CrossReference, "#{__dir__}/rdoc/cross_reference"
@@ -160,7 +191,7 @@ module RDoc
160
191
  autoload :Generator, "#{__dir__}/rdoc/generator"
161
192
  autoload :Options, "#{__dir__}/rdoc/options"
162
193
  autoload :Parser, "#{__dir__}/rdoc/parser"
163
- autoload :Servlet, "#{__dir__}/rdoc/servlet"
194
+ autoload :Server, "#{__dir__}/rdoc/server"
164
195
  autoload :RI, "#{__dir__}/rdoc/ri"
165
196
  autoload :Stats, "#{__dir__}/rdoc/stats"
166
197
  autoload :Store, "#{__dir__}/rdoc/store"
@@ -189,7 +220,6 @@ module RDoc
189
220
  autoload :Context, "#{__dir__}/rdoc/code_object/context"
190
221
  autoload :TopLevel, "#{__dir__}/rdoc/code_object/top_level"
191
222
 
192
- autoload :AnonClass, "#{__dir__}/rdoc/code_object/anon_class"
193
223
  autoload :ClassModule, "#{__dir__}/rdoc/code_object/class_module"
194
224
  autoload :NormalClass, "#{__dir__}/rdoc/code_object/normal_class"
195
225
  autoload :NormalModule, "#{__dir__}/rdoc/code_object/normal_module"
@@ -198,8 +228,6 @@ module RDoc
198
228
  autoload :Alias, "#{__dir__}/rdoc/code_object/alias"
199
229
  autoload :AnyMethod, "#{__dir__}/rdoc/code_object/any_method"
200
230
  autoload :MethodAttr, "#{__dir__}/rdoc/code_object/method_attr"
201
- autoload :GhostMethod, "#{__dir__}/rdoc/code_object/ghost_method"
202
- autoload :MetaMethod, "#{__dir__}/rdoc/code_object/meta_method"
203
231
  autoload :Attr, "#{__dir__}/rdoc/code_object/attr"
204
232
 
205
233
  autoload :Constant, "#{__dir__}/rdoc/code_object/constant"
@@ -10,14 +10,5 @@
10
10
 
11
11
  require_relative 'rdoc/rubygems_hook'
12
12
 
13
- # To install dependency libraries of RDoc, you need to run bundle install.
14
- # At that time, rdoc/markdown is not generated.
15
- # If generate and remove are executed at that time, an error will occur.
16
- # So, we can't register generate and remove to Gem at that time.
17
- begin
18
- require_relative 'rdoc/markdown'
19
- rescue LoadError
20
- else
21
- Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
22
- Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
23
- end
13
+ Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
14
+ Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
data/rdoc-logo.svg ADDED
@@ -0,0 +1,43 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="168" height="198" viewBox="298 140 712 840" role="img" aria-labelledby="title desc">
2
+ <title id="title">RDoc</title>
3
+ <desc id="desc">A red document outline with a folded corner and a Ruby gem.</desc>
4
+ <style>
5
+ .surface {
6
+ fill: transparent;
7
+ }
8
+
9
+ .stroke {
10
+ stroke: url(#rdoc-red);
11
+ }
12
+
13
+ .solid {
14
+ fill: url(#rdoc-red);
15
+ }
16
+ </style>
17
+ <defs>
18
+ <linearGradient id="rdoc-red" x1="338" y1="178" x2="973" y2="938" gradientUnits="userSpaceOnUse">
19
+ <stop id="rdoc-red-start" offset="0" stop-color="#e62923"/>
20
+ <stop id="rdoc-red-mid" offset="0.56" stop-color="#e62923"/>
21
+ <stop id="rdoc-red-end" offset="1" stop-color="#e62923"/>
22
+ </linearGradient>
23
+ <filter id="soft-red-shadow" x="-10%" y="-10%" width="120%" height="120%">
24
+ <feDropShadow dx="0" dy="5" stdDeviation="5" flood-color="#e62923" flood-opacity="0.1"/>
25
+ </filter>
26
+ </defs>
27
+
28
+ <g filter="url(#soft-red-shadow)" fill="none" class="stroke" stroke-linecap="round" stroke-linejoin="round">
29
+ <path class="surface" d="M382 178h326l149 149v499c0 24-20 44-44 44H382c-24 0-44-20-44-44V222c0-24 20-44 44-44Z" stroke="none"/>
30
+ <path d="M685 870H382c-24 0-44-20-44-44V222c0-24 20-44 44-44h326l149 149v246" stroke-width="26"/>
31
+ <path class="solid" d="M708 178v126c0 24 19 43 43 43h106" stroke="none"/>
32
+ <path d="M708 178 857 327" stroke-width="26"/>
33
+
34
+ <path d="M440 411h216" stroke-width="26"/>
35
+ <path d="M440 506h216" stroke-width="26"/>
36
+ <path d="M440 605h145" stroke-width="26"/>
37
+
38
+ <path class="surface" d="M668 609h224l81 97-195 232-191-232 81-97Z" stroke-width="26"/>
39
+ <path d="M668 609 700 706 778 609 858 706 892 609" stroke-width="20"/>
40
+ <path d="M587 706h386" stroke-width="20"/>
41
+ <path d="M700 706 778 938 858 706" stroke-width="20"/>
42
+ </g>
43
+ </svg>
data/rdoc.gemspec CHANGED
@@ -26,7 +26,7 @@ RDoc produces HTML and command-line documentation for Ruby projects.
26
26
  RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
27
27
  DESCRIPTION
28
28
  s.homepage = "https://ruby.github.io/rdoc"
29
- s.licenses = ["Ruby"]
29
+ s.licenses = ["Ruby", "GPL-2.0-only"]
30
30
 
31
31
  s.metadata["homepage_uri"] = s.homepage
32
32
  s.metadata["source_code_uri"] = "https://github.com/ruby/rdoc"
@@ -51,6 +51,7 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
51
51
  "exe/rdoc",
52
52
  "exe/ri",
53
53
  "man/ri.1",
54
+ "rdoc-logo.svg",
54
55
  "rdoc.gemspec",
55
56
  ]
56
57
  base = __dir__
@@ -60,13 +61,14 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
60
61
 
61
62
  s.files = (non_lib_files + template_files + lib_files).uniq
62
63
 
63
- s.rdoc_options = ["--main", "README.md"]
64
+ s.rdoc_options = ["--main", "README.md", "--copy-files", "rdoc-logo.svg"]
64
65
  s.extra_rdoc_files += s.files.grep(%r[\A[^\/]+\.(?:rdoc|md)\z])
65
66
 
66
- s.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
67
+ s.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
67
68
  s.required_rubygems_version = Gem::Requirement.new(">= 2.2")
68
69
 
69
- s.add_dependency 'psych', '>= 4.0.0'
70
70
  s.add_dependency 'erb'
71
71
  s.add_dependency 'tsort'
72
+ s.add_dependency 'prism', '>= 1.6.0'
73
+ s.add_dependency 'rbs', '>= 4.0.0'
72
74
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Hodel
@@ -13,24 +13,24 @@ authors:
13
13
  - ITOYANAGI Sakura
14
14
  bindir: exe
15
15
  cert_chain: []
16
- date: 2026-02-09 00:00:00.000000000 Z
16
+ date: 2026-06-26 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: psych
19
+ name: erb
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 4.0.0
24
+ version: '0'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 4.0.0
31
+ version: '0'
32
32
  - !ruby/object:Gem::Dependency
33
- name: erb
33
+ name: tsort
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
@@ -44,19 +44,33 @@ dependencies:
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  - !ruby/object:Gem::Dependency
47
- name: tsort
47
+ name: prism
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: '0'
52
+ version: 1.6.0
53
53
  type: :runtime
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '0'
59
+ version: 1.6.0
60
+ - !ruby/object:Gem::Dependency
61
+ name: rbs
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 4.0.0
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 4.0.0
60
74
  description: |
61
75
  RDoc produces HTML and command-line documentation for Ruby projects.
62
76
  RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
@@ -97,7 +111,6 @@ files:
97
111
  - lib/rdoc.rb
98
112
  - lib/rdoc/code_object.rb
99
113
  - lib/rdoc/code_object/alias.rb
100
- - lib/rdoc/code_object/anon_class.rb
101
114
  - lib/rdoc/code_object/any_method.rb
102
115
  - lib/rdoc/code_object/attr.rb
103
116
  - lib/rdoc/code_object/class_module.rb
@@ -105,9 +118,7 @@ files:
105
118
  - lib/rdoc/code_object/context.rb
106
119
  - lib/rdoc/code_object/context/section.rb
107
120
  - lib/rdoc/code_object/extend.rb
108
- - lib/rdoc/code_object/ghost_method.rb
109
121
  - lib/rdoc/code_object/include.rb
110
- - lib/rdoc/code_object/meta_method.rb
111
122
  - lib/rdoc/code_object/method_attr.rb
112
123
  - lib/rdoc/code_object/mixin.rb
113
124
  - lib/rdoc/code_object/normal_class.rb
@@ -131,6 +142,7 @@ files:
131
142
  - lib/rdoc/generator/pot/po.rb
132
143
  - lib/rdoc/generator/pot/po_entry.rb
133
144
  - lib/rdoc/generator/ri.rb
145
+ - lib/rdoc/generator/template/aliki/DESIGN.md
134
146
  - lib/rdoc/generator/template/aliki/_aside_toc.rhtml
135
147
  - lib/rdoc/generator/template/aliki/_footer.rhtml
136
148
  - lib/rdoc/generator/template/aliki/_head.rhtml
@@ -262,13 +274,13 @@ files:
262
274
  - lib/rdoc/parser/c.rb
263
275
  - lib/rdoc/parser/changelog.rb
264
276
  - lib/rdoc/parser/markdown.rb
265
- - lib/rdoc/parser/prism_ruby.rb
277
+ - lib/rdoc/parser/rbs.rb
266
278
  - lib/rdoc/parser/rd.rb
267
- - lib/rdoc/parser/ripper_state_lex.rb
268
279
  - lib/rdoc/parser/ruby.rb
269
- - lib/rdoc/parser/ruby_tools.rb
280
+ - lib/rdoc/parser/ruby_colorizer.rb
270
281
  - lib/rdoc/parser/simple.rb
271
282
  - lib/rdoc/parser/text.rb
283
+ - lib/rdoc/rbs_helper.rb
272
284
  - lib/rdoc/rd.rb
273
285
  - lib/rdoc/rd/block_parser.rb
274
286
  - lib/rdoc/rd/block_parser.ry
@@ -280,10 +292,11 @@ files:
280
292
  - lib/rdoc/ri/driver.rb
281
293
  - lib/rdoc/ri/formatter.rb
282
294
  - lib/rdoc/ri/paths.rb
295
+ - lib/rdoc/ri/servlet.rb
283
296
  - lib/rdoc/ri/store.rb
284
297
  - lib/rdoc/ri/task.rb
285
298
  - lib/rdoc/rubygems_hook.rb
286
- - lib/rdoc/servlet.rb
299
+ - lib/rdoc/server.rb
287
300
  - lib/rdoc/stats.rb
288
301
  - lib/rdoc/stats/normal.rb
289
302
  - lib/rdoc/stats/quiet.rb
@@ -296,10 +309,12 @@ files:
296
309
  - lib/rdoc/version.rb
297
310
  - lib/rubygems_plugin.rb
298
311
  - man/ri.1
312
+ - rdoc-logo.svg
299
313
  - rdoc.gemspec
300
314
  homepage: https://ruby.github.io/rdoc
301
315
  licenses:
302
316
  - Ruby
317
+ - GPL-2.0-only
303
318
  metadata:
304
319
  homepage_uri: https://ruby.github.io/rdoc
305
320
  source_code_uri: https://github.com/ruby/rdoc
@@ -307,20 +322,22 @@ metadata:
307
322
  rdoc_options:
308
323
  - "--main"
309
324
  - README.md
325
+ - "--copy-files"
326
+ - rdoc-logo.svg
310
327
  require_paths:
311
328
  - lib
312
329
  required_ruby_version: !ruby/object:Gem::Requirement
313
330
  requirements:
314
331
  - - ">="
315
332
  - !ruby/object:Gem::Version
316
- version: 2.6.0
333
+ version: 3.2.0
317
334
  required_rubygems_version: !ruby/object:Gem::Requirement
318
335
  requirements:
319
336
  - - ">="
320
337
  - !ruby/object:Gem::Version
321
338
  version: '2.2'
322
339
  requirements: []
323
- rubygems_version: 4.0.3
340
+ rubygems_version: 4.0.10
324
341
  specification_version: 4
325
342
  summary: RDoc produces HTML and command-line documentation for Ruby projects
326
343
  test_files: []
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
- ##
3
- # An anonymous class like:
4
- #
5
- # c = Class.new do end
6
- #
7
- # AnonClass is currently not used.
8
-
9
- class RDoc::AnonClass < RDoc::ClassModule
10
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- ##
3
- # GhostMethod represents a method referenced only by a comment
4
-
5
- class RDoc::GhostMethod < RDoc::AnyMethod
6
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- ##
3
- # MetaMethod represents a meta-programmed method
4
-
5
- class RDoc::MetaMethod < RDoc::AnyMethod
6
- end