rdoc 7.2.0 → 8.1.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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +4 -7
  3. data/LICENSE.rdoc +4 -0
  4. data/README.md +43 -2
  5. data/RI.md +75 -75
  6. data/doc/markup_reference/markdown.md +104 -3
  7. data/exe/rdoc +2 -2
  8. data/lib/rdoc/code_object/alias.rb +70 -74
  9. data/lib/rdoc/code_object/any_method.rb +305 -298
  10. data/lib/rdoc/code_object/attr.rb +150 -143
  11. data/lib/rdoc/code_object/class_module.rb +801 -765
  12. data/lib/rdoc/code_object/constant.rb +178 -150
  13. data/lib/rdoc/code_object/context/section.rb +133 -160
  14. data/lib/rdoc/code_object/context.rb +925 -952
  15. data/lib/rdoc/code_object/extend.rb +7 -5
  16. data/lib/rdoc/code_object/include.rb +7 -5
  17. data/lib/rdoc/code_object/method_attr.rb +325 -324
  18. data/lib/rdoc/code_object/mixin.rb +97 -95
  19. data/lib/rdoc/code_object/normal_class.rb +77 -78
  20. data/lib/rdoc/code_object/normal_module.rb +61 -59
  21. data/lib/rdoc/code_object/require.rb +23 -39
  22. data/lib/rdoc/code_object/single_class.rb +21 -19
  23. data/lib/rdoc/code_object/top_level.rb +212 -213
  24. data/lib/rdoc/code_object.rb +305 -305
  25. data/lib/rdoc/comment.rb +274 -337
  26. data/lib/rdoc/cross_reference.rb +194 -212
  27. data/lib/rdoc/encoding.rb +105 -103
  28. data/lib/rdoc/erb_partial.rb +13 -11
  29. data/lib/rdoc/erbio.rb +29 -27
  30. data/lib/rdoc/generator/aliki.rb +165 -140
  31. data/lib/rdoc/generator/darkfish.rb +647 -631
  32. data/lib/rdoc/generator/json_index.rb +233 -229
  33. data/lib/rdoc/generator/markup.rb +165 -122
  34. data/lib/rdoc/generator/pot/message_extractor.rb +57 -51
  35. data/lib/rdoc/generator/pot/po.rb +52 -51
  36. data/lib/rdoc/generator/pot/po_entry.rb +138 -132
  37. data/lib/rdoc/generator/pot.rb +85 -81
  38. data/lib/rdoc/generator/ri.rb +23 -19
  39. data/lib/rdoc/generator/template/aliki/DESIGN.md +538 -0
  40. data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +1 -1
  41. data/lib/rdoc/generator/template/aliki/_footer.rhtml +1 -1
  42. data/lib/rdoc/generator/template/aliki/_head.rhtml +11 -11
  43. data/lib/rdoc/generator/template/aliki/_header.rhtml +29 -44
  44. data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +8 -6
  45. data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +8 -6
  46. data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +1 -1
  47. data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +2 -2
  48. data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +4 -4
  49. data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +1 -1
  50. data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +1 -1
  51. data/lib/rdoc/generator/template/aliki/class.rhtml +56 -46
  52. data/lib/rdoc/generator/template/aliki/css/rdoc.css +538 -283
  53. data/lib/rdoc/generator/template/aliki/index.rhtml +1 -1
  54. data/lib/rdoc/generator/template/aliki/js/aliki.js +80 -102
  55. data/lib/rdoc/generator/template/aliki/page.rhtml +1 -1
  56. data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +1 -1
  57. data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +2 -2
  58. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +1 -1
  59. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +8 -6
  60. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +8 -6
  61. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +1 -1
  62. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +1 -1
  63. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +1 -1
  64. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +5 -5
  65. data/lib/rdoc/generator/template/darkfish/class.rhtml +18 -21
  66. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +0 -1
  67. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +3 -3
  68. data/lib/rdoc/generator.rb +48 -46
  69. data/lib/rdoc/i18n/locale.rb +99 -95
  70. data/lib/rdoc/i18n/text.rb +109 -105
  71. data/lib/rdoc/i18n.rb +7 -5
  72. data/lib/rdoc/markdown/byte_runtime.rb +80 -0
  73. data/lib/rdoc/markdown.kpeg +30 -21
  74. data/lib/rdoc/markdown.rb +329 -151
  75. data/lib/rdoc/markup/block_quote.rb +12 -8
  76. data/lib/rdoc/markup/document.rb +127 -123
  77. data/lib/rdoc/markup/formatter.rb +215 -221
  78. data/lib/rdoc/markup/heading.rb +1 -4
  79. data/lib/rdoc/markup/include.rb +33 -29
  80. data/lib/rdoc/markup/indented_paragraph.rb +37 -33
  81. data/lib/rdoc/markup/inline_parser.rb +281 -277
  82. data/lib/rdoc/markup/list.rb +80 -88
  83. data/lib/rdoc/markup/list_item.rb +73 -85
  84. data/lib/rdoc/markup/paragraph.rb +23 -19
  85. data/lib/rdoc/markup/parser.rb +501 -497
  86. data/lib/rdoc/markup/pre_process.rb +284 -305
  87. data/lib/rdoc/markup/raw.rb +2 -2
  88. data/lib/rdoc/markup/rule.rb +16 -12
  89. data/lib/rdoc/markup/to_ansi.rb +143 -139
  90. data/lib/rdoc/markup/to_bs.rb +72 -68
  91. data/lib/rdoc/markup/to_html.rb +600 -493
  92. data/lib/rdoc/markup/to_html_crossref.rb +221 -191
  93. data/lib/rdoc/markup/to_html_snippet.rb +232 -227
  94. data/lib/rdoc/markup/to_joined_paragraph.rb +40 -41
  95. data/lib/rdoc/markup/to_label.rb +63 -59
  96. data/lib/rdoc/markup/to_markdown.rb +212 -208
  97. data/lib/rdoc/markup/to_rdoc.rb +336 -332
  98. data/lib/rdoc/markup/to_table_of_contents.rb +66 -62
  99. data/lib/rdoc/markup/to_test.rb +60 -56
  100. data/lib/rdoc/markup/to_tt_only.rb +83 -86
  101. data/lib/rdoc/markup/verbatim.rb +62 -58
  102. data/lib/rdoc/markup.rb +198 -196
  103. data/lib/rdoc/options.rb +1063 -1076
  104. data/lib/rdoc/parser/c.rb +1039 -1036
  105. data/lib/rdoc/parser/changelog.rb +319 -315
  106. data/lib/rdoc/parser/markdown.rb +17 -13
  107. data/lib/rdoc/parser/rbs.rb +279 -0
  108. data/lib/rdoc/parser/rd.rb +17 -13
  109. data/lib/rdoc/parser/ruby.rb +1231 -2222
  110. data/lib/rdoc/parser/ruby_colorizer.rb +303 -0
  111. data/lib/rdoc/parser/simple.rb +31 -27
  112. data/lib/rdoc/parser/text.rb +12 -8
  113. data/lib/rdoc/parser.rb +230 -221
  114. data/lib/rdoc/rbs_helper.rb +186 -0
  115. data/lib/rdoc/rd/inline.rb +57 -53
  116. data/lib/rdoc/rd.rb +90 -88
  117. data/lib/rdoc/rdoc.rb +547 -366
  118. data/lib/rdoc/ri/driver.rb +1141 -1130
  119. data/lib/rdoc/ri/formatter.rb +7 -3
  120. data/lib/rdoc/ri/paths.rb +140 -136
  121. data/lib/rdoc/ri/servlet.rb +456 -0
  122. data/lib/rdoc/ri/store.rb +4 -2
  123. data/lib/rdoc/ri/task.rb +55 -51
  124. data/lib/rdoc/ri.rb +14 -11
  125. data/lib/rdoc/rubygems_hook.rb +194 -192
  126. data/lib/rdoc/server.rb +462 -0
  127. data/lib/rdoc/stats/normal.rb +46 -42
  128. data/lib/rdoc/stats/quiet.rb +39 -35
  129. data/lib/rdoc/stats/verbose.rb +35 -31
  130. data/lib/rdoc/stats.rb +363 -338
  131. data/lib/rdoc/store.rb +919 -725
  132. data/lib/rdoc/task.rb +260 -255
  133. data/lib/rdoc/text.rb +130 -245
  134. data/lib/rdoc/token_stream.rb +101 -115
  135. data/lib/rdoc/tom_doc.rb +203 -201
  136. data/lib/rdoc/version.rb +1 -1
  137. data/lib/rdoc.rb +35 -7
  138. data/lib/rubygems_plugin.rb +2 -11
  139. data/rdoc-logo.svg +43 -0
  140. data/rdoc.gemspec +6 -4
  141. metadata +36 -20
  142. data/lib/rdoc/code_object/anon_class.rb +0 -10
  143. data/lib/rdoc/code_object/ghost_method.rb +0 -6
  144. data/lib/rdoc/code_object/meta_method.rb +0 -6
  145. data/lib/rdoc/markdown/literals.kpeg +0 -21
  146. data/lib/rdoc/markdown/literals.rb +0 -454
  147. data/lib/rdoc/parser/prism_ruby.rb +0 -1112
  148. data/lib/rdoc/parser/ripper_state_lex.rb +0 -302
  149. data/lib/rdoc/parser/ruby_tools.rb +0 -163
  150. data/lib/rdoc/servlet.rb +0 -452
@@ -3,54 +3,39 @@
3
3
  <%= h @options.title %>
4
4
  </a>
5
5
 
6
- <!-- Desktop search bar -->
7
- <div class="navbar-search navbar-search-desktop" role="search">
8
- <form action="#" method="get" accept-charset="utf-8">
9
- <input id="search-field" role="combobox" aria-label="Search"
10
- aria-autocomplete="list" aria-controls="search-results-desktop"
11
- type="text" name="search" placeholder="Search (/) for a class, method..."
12
- spellcheck="false" autocomplete="off"
13
- title="Type to search, Up and Down to navigate, Enter to load">
14
- <ul id="search-results-desktop" aria-label="Search Results"
15
- aria-busy="false" aria-expanded="false"
16
- aria-atomic="false" class="initially-hidden search-results"></ul>
17
- </form>
18
- </div>
19
-
20
- <!-- Mobile search icon button -->
21
- <button id="search-toggle" class="navbar-search-mobile" aria-label="Open search" type="button">
22
- <span aria-hidden="true">🔍</span>
23
- </button>
24
-
25
- <!-- Theme toggle button -->
26
- <button id="theme-toggle" class="theme-toggle" aria-label="Switch to dark mode" type="button">
27
- <span class="theme-toggle-icon" aria-hidden="true">🌙</span>
28
- </button>
29
- </header>
6
+ <div class="navbar-search" data-search-container>
7
+ <button id="search-toggle" class="navbar-search-mobile" aria-label="Open search"
8
+ aria-controls="search-surface" aria-expanded="false" type="button">
9
+ <span aria-hidden="true">🔍</span>
10
+ </button>
30
11
 
31
- <!-- Search Modal (Mobile) -->
32
- <div id="search-modal" class="search-modal" hidden aria-modal="true" role="dialog" aria-label="Search">
33
- <div class="search-modal-backdrop"></div>
34
- <div class="search-modal-content">
35
- <div class="search-modal-header">
36
- <form class="search-modal-form" action="#" method="get" accept-charset="utf-8">
37
- <span class="search-modal-icon" aria-hidden="true">🔍</span>
38
- <input id="search-field-mobile" role="combobox" aria-label="Search"
39
- aria-autocomplete="list" aria-controls="search-results-mobile"
40
- type="text" name="search" placeholder="Search documentation"
41
- spellcheck="false" autocomplete="off">
42
- <button type="button" class="search-modal-close" aria-label="Close search" id="search-modal-close">
12
+ <div class="search-backdrop" data-search-close></div>
13
+ <div id="search-surface" class="search-surface">
14
+ <form class="search-form" role="search" action="#" method="get" accept-charset="utf-8">
15
+ <span class="search-icon" aria-hidden="true">🔍</span>
16
+ <input id="search-field" role="combobox" aria-label="Search"
17
+ aria-autocomplete="list" aria-controls="search-results"
18
+ type="text" name="search" placeholder="Search (/) for a class, method..."
19
+ spellcheck="false" autocomplete="off"
20
+ title="Type to search, Up and Down to navigate, Enter to load">
21
+ <button type="button" class="search-close" aria-label="Close search" data-search-close>
43
22
  <span aria-hidden="true">esc</span>
44
23
  </button>
45
24
  </form>
46
- </div>
47
- <div class="search-modal-body">
48
- <ul id="search-results-mobile" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="search-results search-modal-results initially-hidden"></ul>
51
- <div class="search-modal-empty">
52
- <p>No recent searches</p>
25
+
26
+ <div class="search-body">
27
+ <ul id="search-results" aria-label="Search Results"
28
+ aria-busy="false" aria-expanded="false"
29
+ aria-atomic="false" class="initially-hidden search-results"></ul>
30
+ <div class="search-empty">
31
+ <p>No recent searches</p>
32
+ </div>
53
33
  </div>
54
34
  </div>
55
35
  </div>
56
- </div>
36
+
37
+ <!-- Theme toggle button -->
38
+ <button id="theme-toggle" class="theme-toggle" aria-label="Switch to dark mode" type="button">
39
+ <span class="theme-toggle-icon" aria-hidden="true">🌙</span>
40
+ </button>
41
+ </header>
@@ -1,4 +1,4 @@
1
- <%- unless klass.extends.empty? then %>
1
+ <%- unless klass.extends.empty? %>
2
2
  <div id="extends-section" class="nav-section">
3
3
  <details class="nav-section-collapsible" open>
4
4
  <summary class="nav-section-header">
@@ -13,11 +13,13 @@
13
13
 
14
14
  <ul class="nav-list">
15
15
  <%- klass.extends.each do |ext| %>
16
- <%- unless String === ext.module then %>
17
- <li><a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a></li>
18
- <%- else %>
19
- <li><span class="extend"><%= ext.name %></span></li>
20
- <%- end %>
16
+ <li>
17
+ <%- unless String === ext.module %>
18
+ <a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a>
19
+ <%- else %>
20
+ <span class="extend"><%= ext.name %></span>
21
+ <%- end %>
22
+ </li>
21
23
  <%- end %>
22
24
  </ul>
23
25
  </details>
@@ -1,4 +1,4 @@
1
- <%- unless klass.includes.empty? then %>
1
+ <%- unless klass.includes.empty? %>
2
2
  <div id="includes-section" class="nav-section">
3
3
  <details class="nav-section-collapsible" open>
4
4
  <summary class="nav-section-header">
@@ -13,11 +13,13 @@
13
13
 
14
14
  <ul class="nav-list">
15
15
  <%- klass.includes.each do |inc| %>
16
- <%- unless String === inc.module then %>
17
- <li><a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a></li>
18
- <%- else %>
19
- <li><span class="include"><%= inc.name %></span></li>
20
- <%- end %>
16
+ <li>
17
+ <%- unless String === inc.module %>
18
+ <a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a>
19
+ <%- else %>
20
+ <span class="include"><%= inc.name %></span>
21
+ <%- end %>
22
+ </li>
21
23
  <%- end %>
22
24
  </ul>
23
25
  </details>
@@ -5,7 +5,7 @@
5
5
  <%- installed.each do |name, href, exists, type, _| %>
6
6
  <%- next if type == :extra %>
7
7
  <li class="folder">
8
- <%- if exists then %>
8
+ <%- if exists %>
9
9
  <a href="<%= href %>"><%= h name %></a>
10
10
  <%- else %>
11
11
  <%= h name %>
@@ -1,10 +1,10 @@
1
- <%- simple_files = @files.select { |f| f.text? } %>
1
+ <%- simple_files = @files.select { |f| f.text? && f.full_name != @options.main_page } %>
2
2
 
3
3
  <%- if defined?(current) && current.respond_to?(:page_name) %>
4
4
  <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name %>
5
5
  <%- end %>
6
6
 
7
- <%- unless simple_files.empty? then %>
7
+ <%- unless simple_files.empty? %>
8
8
  <div id="fileindex-section" class="nav-section">
9
9
  <details class="nav-section-collapsible" <%= 'open' unless @inside_class_file %>>
10
10
  <summary class="nav-section-header">
@@ -1,14 +1,14 @@
1
- <div id="search-section" role="search" class="project-section initially-hidden">
2
- <form action="#" method="get" accept-charset="utf-8">
1
+ <div id="search-section" class="project-section initially-hidden" data-search-container>
2
+ <form role="search" action="#" method="get" accept-charset="utf-8">
3
3
  <div id="search-field-wrapper">
4
4
  <input id="search-field" role="combobox" aria-label="Search"
5
- aria-autocomplete="list" aria-controls="search-results-desktop"
5
+ aria-autocomplete="list" aria-controls="search-results"
6
6
  type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
7
7
  autocomplete="off"
8
8
  title="Type to search, Up and Down to navigate, Enter to load">
9
9
  </div>
10
10
 
11
- <ul id="search-results-desktop" aria-label="Search Results"
11
+ <ul id="search-results" aria-label="Search Results"
12
12
  aria-busy="false" aria-expanded="false"
13
13
  aria-atomic="false" class="initially-hidden search-results"></ul>
14
14
  </form>
@@ -1,4 +1,4 @@
1
- <%- unless klass.sections.length == 1 then %>
1
+ <%- unless klass.sections.length == 1 %>
2
2
  <div id="sections-section" class="nav-section">
3
3
  <details class="nav-section-collapsible" open>
4
4
  <summary class="nav-section-header">
@@ -1,3 +1,3 @@
1
- <div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
1
+ <div id="sidebar-navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="false" aria-controls="sidebar-navigation">
2
2
  <span aria-hidden="true">&#9776;</span>
3
3
  </div>
@@ -3,7 +3,7 @@
3
3
  <%= render '_header.rhtml' %>
4
4
  <%= render '_sidebar_toggle.rhtml' %>
5
5
 
6
- <nav id="navigation" role="navigation" hidden>
6
+ <nav id="sidebar-navigation" role="navigation" hidden>
7
7
  <%= render '_sidebar_pages.rhtml' %>
8
8
  <%= render '_sidebar_sections.rhtml' %>
9
9
  <%= render '_sidebar_ancestors.rhtml' %>
@@ -22,7 +22,7 @@
22
22
  <% if namespace[:self] %>
23
23
  <span><%= namespace[:name] %></span>
24
24
  <% else %>
25
- <a href="<%= namespace[:path] %>"><%= namespace[:name] %></a><span>::</span>
25
+ <a href="<%= namespace[:path] %>"><%= namespace[:name] %></a><span class="separator">::</span>
26
26
  <% end %>
27
27
  </li>
28
28
  <% end %>
@@ -30,8 +30,9 @@
30
30
  <% end %>
31
31
 
32
32
  <span id="<%= h klass.legacy_aref %>" class="legacy-anchor"></span>
33
- <h1 id="<%= h klass.aref %>" class="anchor-link <%= klass.type %>">
34
- <%= klass.type %> <%= klass.full_name %>
33
+ <h1 id="<%= h klass.aref %>" class="anchor-link <%= klass.type %> page-title">
34
+ <span class="page-title-kind"><%= klass.type %></span>
35
+ <span class="page-title-name"><%= klass.full_name %></span>
35
36
  </h1>
36
37
 
37
38
  <section class="description">
@@ -41,7 +42,7 @@
41
42
  <%- klass.each_section do |section, constants, attributes| %>
42
43
  <span id="<%= section.legacy_aref %>" class="legacy-anchor"></span>
43
44
  <section class="documentation-section anchor-link">
44
- <%- if section.title then %>
45
+ <%- if section.title %>
45
46
  <header class="documentation-section-title">
46
47
  <h2 id="<%= section.aref %>">
47
48
  <a href="#<%= section.aref %>"><%= section.title %></a>
@@ -49,13 +50,13 @@
49
50
  </header>
50
51
  <%- end %>
51
52
 
52
- <%- if section.comment then %>
53
+ <%- if section.comment %>
53
54
  <div>
54
55
  <%= section.description %>
55
56
  </div>
56
57
  <%- end %>
57
58
 
58
- <%- unless constants.empty? then %>
59
+ <%- unless constants.empty? %>
59
60
  <section class="constants-list">
60
61
  <header>
61
62
  <h3 id="<%= section.aref %>-constants"><a href="#<%= section.aref %>-constants">Constants</a></h3>
@@ -63,9 +64,9 @@
63
64
  <dl>
64
65
  <%- constants.each do |const| %>
65
66
  <dt id="<%= const.name %>"><%= const.name %></dt>
66
- <%- if const.comment then %>
67
+ <%- if const.comment %>
67
68
  <dd>
68
- <%- if const.mixin_from then %>
69
+ <%- if const.mixin_from %>
69
70
  <div class="mixin-from">
70
71
  Included from <a href="<%= klass.aref_to(const.mixin_from.path) %>"><%= const.mixin_from.full_name %></a>
71
72
  </div>
@@ -80,7 +81,7 @@
80
81
  </section>
81
82
  <%- end %>
82
83
 
83
- <%- unless attributes.empty? then %>
84
+ <%- unless attributes.empty? %>
84
85
  <section class="attribute-method-details method-section">
85
86
  <header>
86
87
  <h3 id="<%= section.aref %>-attributes"><a href="#<%= section.aref %>-attributes">Attributes</a></h3>
@@ -93,15 +94,18 @@
93
94
  <span class="method-name"><%= h attrib.name %></span>
94
95
  <span class="attribute-access-type">[<%= attrib.rw %>]</span>
95
96
  </a>
97
+ <%- if (sig_html = type_signature_html(attrib, klass.path)) %>
98
+ <span class="method-type-signature"><code><%= sig_html %></code></span>
99
+ <%- end %>
96
100
  </div>
97
101
 
98
102
  <div class="method-description">
99
- <%- if attrib.mixin_from then %>
103
+ <%- if attrib.mixin_from %>
100
104
  <div class="mixin-from">
101
105
  <%= attrib.singleton ? "Extended" : "Included" %> from <a href="<%= klass.aref_to(attrib.mixin_from.path) %>"><%= attrib.mixin_from.full_name %></a>
102
106
  </div>
103
107
  <%- end %>
104
- <%- if attrib.comment then %>
108
+ <%- if attrib.comment %>
105
109
  <%= attrib.description.strip %>
106
110
  <%- else %>
107
111
  <p class="missing-docs">(Not documented)</p>
@@ -124,70 +128,76 @@
124
128
  <%- methods.each do |method| %>
125
129
  <div id="<%= method.aref %>" class="method-detail anchor-link <%= method.is_alias_for ? "method-alias" : '' %>">
126
130
  <div class="method-header">
127
- <%- if (call_seq = method.call_seq) then %>
128
- <%- call_seq.strip.split("\n").each_with_index do |call_seq, i| %>
131
+ <div class="method-heading-group">
132
+ <%- if (call_seq = method.call_seq) %>
133
+ <%- call_seq.strip.split("\n").each_with_index do |call_seq, i| %>
134
+ <div class="method-heading">
135
+ <a href="#<%= method.aref %>" title="Link to this method">
136
+ <span class="method-callseq">
137
+ <%= h(call_seq.strip.
138
+ gsub( /^\w+\./m, '')).
139
+ gsub(/(.*)[-=]&gt;/, '\1&rarr;') %>
140
+ </span>
141
+ </a>
142
+ </div>
143
+ <%- end %>
144
+ <%- elsif method.has_call_seq? %>
145
+ <div class="method-heading">
146
+ <a href="#<%= method.aref %>" title="Link to this method">
147
+ <span class="method-name"><%= h method.name %></span>
148
+ </a>
149
+ </div>
150
+ <%- else %>
129
151
  <div class="method-heading">
130
152
  <a href="#<%= method.aref %>" title="Link to this method">
131
- <span class="method-callseq">
132
- <%= h(call_seq.strip.
133
- gsub( /^\w+\./m, '')).
134
- gsub(/(.*)[-=]&gt;/, '\1&rarr;') %>
135
- </span>
153
+ <span class="method-name"><%= h method.name %></span>
154
+ <span class="method-args"><%= h method.param_seq %></span>
136
155
  </a>
137
156
  </div>
138
157
  <%- end %>
139
- <%- elsif method.has_call_seq? then %>
140
- <div class="method-heading">
141
- <a href="#<%= method.aref %>" title="Link to this method">
142
- <span class="method-name"><%= h method.name %></span>
143
- </a>
144
- </div>
145
- <%- else %>
146
- <div class="method-heading">
147
- <a href="#<%= method.aref %>" title="Link to this method">
148
- <span class="method-name"><%= h method.name %></span>
149
- <span class="method-args"><%= h method.param_seq %></span>
150
- </a>
158
+
159
+ <%- if (sig_html = type_signature_html(method, klass.path)) %>
160
+ <pre class="method-type-signature"><code><%= sig_html %></code></pre>
161
+ <%- end %>
162
+ </div>
163
+
164
+ <%- if method.token_stream %>
165
+ <div class="method-controls">
166
+ <details class="method-source-toggle">
167
+ <summary><span class="method-source-icon" aria-hidden="true">{}</span> Source</summary>
168
+ </details>
151
169
  </div>
152
170
  <%- end %>
153
171
  </div>
154
172
 
155
173
  <%- if method.token_stream %>
156
- <div class="method-controls">
157
- <details class="method-source-toggle">
158
- <summary>Source</summary>
159
- </details>
160
- </div>
161
174
  <div class="method-source-code" id="<%= method.html_name %>-source">
162
175
  <pre class="<%= method.source_language %>"><%= method.markup_code %></pre>
163
176
  </div>
164
177
  <%- end %>
165
178
 
166
- <%- unless method.skip_description? then %>
179
+ <%- unless method.skip_description? %>
167
180
  <div class="method-description">
168
- <%- if method.mixin_from then %>
181
+ <%- if method.mixin_from %>
169
182
  <div class="mixin-from">
170
183
  <%= method.singleton ? "Extended" : "Included" %> from <a href="<%= klass.aref_to(method.mixin_from.path) %>"><%= method.mixin_from.full_name %></a>
171
184
  </div>
172
185
  <%- end %>
173
- <%- if method.comment then %>
186
+ <%- if method.comment %>
174
187
  <%= method.description.strip %>
175
188
  <%- else %>
176
189
  <p class="missing-docs">(Not documented)</p>
177
190
  <%- end %>
178
- <%- if method.calls_super then %>
191
+ <%- if method.calls_super %>
179
192
  <div class="method-calls-super">
180
193
  Calls superclass method
181
- <%=
182
- method.superclass_method ?
183
- method.formatter.link(method.superclass_method.full_name, method.superclass_method.full_name) : nil
184
- %>
194
+ <%= method.superclass_method_link %>
185
195
  </div>
186
196
  <%- end %>
187
197
  </div>
188
198
  <%- end %>
189
199
 
190
- <%- unless method.aliases.empty? then %>
200
+ <%- unless method.aliases.empty? %>
191
201
  <div class="aliases">
192
202
  Also aliased as: <%= method.aliases.map do |aka|
193
203
  if aka.parent then # HACK lib/rexml/encodings
@@ -199,7 +209,7 @@
199
209
  </div>
200
210
  <%- end %>
201
211
 
202
- <%- if method.is_alias_for then %>
212
+ <%- if method.is_alias_for %>
203
213
  <div class="aliases">
204
214
  Alias for: <a href="<%= klass.aref_to method.is_alias_for.path %>"><%= h method.is_alias_for.name %></a>
205
215
  </div>