yard 0.2.2 → 0.2.3

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.

Potentially problematic release.


This version of yard might be problematic. Click here for more details.

Files changed (204) hide show
  1. data/LICENSE +1 -1
  2. data/README.markdown +200 -0
  3. data/Rakefile +6 -1
  4. data/benchmarks/format_args.rb +46 -0
  5. data/benchmarks/parsing.rb +13 -1
  6. data/benchmarks/rdoc_vs_yardoc.rb +10 -0
  7. data/benchmarks/ripper_parser.rb +12 -0
  8. data/docs/CODE_OBJECTS.markdown +121 -0
  9. data/docs/FAQ.markdown +34 -0
  10. data/docs/GENERATORS.markdown +211 -0
  11. data/docs/GETTING_STARTED.markdown +263 -0
  12. data/docs/GLOSSARY.markdown +13 -0
  13. data/docs/HANDLERS.markdown +158 -0
  14. data/docs/OVERVIEW.markdown +64 -0
  15. data/docs/PARSER.markdown +180 -0
  16. data/docs/TAGS.markdown +181 -0
  17. data/docs/WHATSNEW.markdown +96 -0
  18. data/docs/images/code-objects-class-diagram.png +0 -0
  19. data/docs/images/handlers-class-diagram.png +0 -0
  20. data/docs/images/overview-class-diagram.png +0 -0
  21. data/docs/images/parser-class-diagram.png +0 -0
  22. data/docs/images/tags-class-diagram.png +0 -0
  23. data/lib/yard.rb +4 -1
  24. data/lib/yard/autoload.rb +79 -31
  25. data/lib/yard/cli/yard_graph.rb +8 -2
  26. data/lib/yard/cli/yardoc.rb +61 -8
  27. data/lib/yard/code_objects/base.rb +78 -135
  28. data/lib/yard/code_objects/class_object.rb +9 -8
  29. data/lib/yard/code_objects/constant_object.rb +1 -0
  30. data/lib/yard/code_objects/extended_method_object.rb +9 -0
  31. data/lib/yard/code_objects/method_object.rb +18 -5
  32. data/lib/yard/code_objects/module_object.rb +8 -1
  33. data/lib/yard/code_objects/namespace_object.rb +25 -16
  34. data/lib/yard/code_objects/proxy.rb +22 -22
  35. data/lib/yard/core_ext/file.rb +1 -1
  36. data/lib/yard/core_ext/string.rb +0 -4
  37. data/lib/yard/core_ext/symbol_hash.rb +3 -2
  38. data/lib/yard/docstring.rb +180 -0
  39. data/lib/yard/generators/base.rb +33 -13
  40. data/lib/yard/generators/class_generator.rb +4 -2
  41. data/lib/yard/generators/constants_generator.rb +3 -2
  42. data/lib/yard/generators/full_doc_generator.rb +76 -9
  43. data/lib/yard/generators/helpers/base_helper.rb +18 -1
  44. data/lib/yard/generators/helpers/filter_helper.rb +2 -2
  45. data/lib/yard/generators/helpers/html_helper.rb +94 -39
  46. data/lib/yard/generators/helpers/html_syntax_highlight_helper.rb +49 -0
  47. data/lib/yard/generators/helpers/markup_helper.rb +86 -0
  48. data/lib/yard/generators/helpers/method_helper.rb +23 -7
  49. data/lib/yard/generators/method_generator.rb +15 -3
  50. data/lib/yard/generators/method_listing_generator.rb +3 -3
  51. data/lib/yard/generators/mixins_generator.rb +8 -2
  52. data/lib/yard/generators/module_generator.rb +3 -2
  53. data/lib/yard/generators/overloads_generator.rb +20 -0
  54. data/lib/yard/generators/quick_doc_generator.rb +3 -9
  55. data/lib/yard/generators/root_generator.rb +32 -0
  56. data/lib/yard/generators/source_generator.rb +2 -17
  57. data/lib/yard/generators/tags_generator.rb +34 -6
  58. data/lib/yard/generators/uml_generator.rb +16 -6
  59. data/lib/yard/handlers/base.rb +88 -253
  60. data/lib/yard/handlers/processor.rb +72 -0
  61. data/lib/yard/handlers/ruby/alias_handler.rb +38 -0
  62. data/lib/yard/handlers/ruby/attribute_handler.rb +69 -0
  63. data/lib/yard/handlers/ruby/base.rb +72 -0
  64. data/lib/yard/handlers/ruby/class_condition_handler.rb +70 -0
  65. data/lib/yard/handlers/ruby/class_handler.rb +74 -0
  66. data/lib/yard/handlers/ruby/class_variable_handler.rb +11 -0
  67. data/lib/yard/handlers/ruby/constant_handler.rb +12 -0
  68. data/lib/yard/handlers/ruby/exception_handler.rb +22 -0
  69. data/lib/yard/handlers/ruby/extend_handler.rb +19 -0
  70. data/lib/yard/handlers/{alias_handler.rb → ruby/legacy/alias_handler.rb} +3 -4
  71. data/lib/yard/handlers/{attribute_handler.rb → ruby/legacy/attribute_handler.rb} +2 -2
  72. data/lib/yard/handlers/ruby/legacy/base.rb +198 -0
  73. data/lib/yard/handlers/{class_handler.rb → ruby/legacy/class_handler.rb} +18 -6
  74. data/lib/yard/handlers/{class_variable_handler.rb → ruby/legacy/class_variable_handler.rb} +1 -1
  75. data/lib/yard/handlers/{constant_handler.rb → ruby/legacy/constant_handler.rb} +2 -2
  76. data/lib/yard/handlers/{exception_handler.rb → ruby/legacy/exception_handler.rb} +3 -3
  77. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +18 -0
  78. data/lib/yard/handlers/ruby/legacy/method_handler.rb +31 -0
  79. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +28 -0
  80. data/lib/yard/handlers/{module_handler.rb → ruby/legacy/module_handler.rb} +1 -1
  81. data/lib/yard/handlers/{visibility_handler.rb → ruby/legacy/visibility_handler.rb} +1 -1
  82. data/lib/yard/handlers/{yield_handler.rb → ruby/legacy/yield_handler.rb} +4 -4
  83. data/lib/yard/handlers/ruby/method_condition_handler.rb +7 -0
  84. data/lib/yard/handlers/ruby/method_handler.rb +48 -0
  85. data/lib/yard/handlers/ruby/mixin_handler.rb +25 -0
  86. data/lib/yard/handlers/ruby/module_handler.rb +9 -0
  87. data/lib/yard/handlers/ruby/visibility_handler.rb +18 -0
  88. data/lib/yard/handlers/ruby/yield_handler.rb +28 -0
  89. data/lib/yard/parser/ruby/ast_node.rb +263 -0
  90. data/lib/yard/parser/{ruby_lex.rb → ruby/legacy/ruby_lex.rb} +258 -259
  91. data/lib/yard/parser/{statement.rb → ruby/legacy/statement.rb} +8 -4
  92. data/lib/yard/parser/ruby/legacy/statement_list.rb +262 -0
  93. data/lib/yard/parser/{token_list.rb → ruby/legacy/token_list.rb} +1 -1
  94. data/lib/yard/parser/ruby/ruby_parser.rb +307 -0
  95. data/lib/yard/parser/source_parser.rb +76 -45
  96. data/lib/yard/rake/yardoc_task.rb +6 -1
  97. data/lib/yard/registry.rb +45 -19
  98. data/lib/yard/serializers/file_system_serializer.rb +8 -3
  99. data/lib/yard/tags/default_factory.rb +70 -10
  100. data/lib/yard/tags/default_tag.rb +12 -0
  101. data/lib/yard/tags/library.rb +65 -26
  102. data/lib/yard/tags/option_tag.rb +12 -0
  103. data/lib/yard/tags/overload_tag.rb +62 -0
  104. data/lib/yard/tags/ref_tag.rb +7 -0
  105. data/lib/yard/tags/ref_tag_list.rb +27 -0
  106. data/lib/yard/tags/tag.rb +1 -0
  107. data/lib/yard/tags/tag_format_error.rb +6 -0
  108. data/spec/cli/yardoc_spec.rb +43 -0
  109. data/spec/code_objects/base_spec.rb +56 -68
  110. data/spec/code_objects/class_object_spec.rb +18 -6
  111. data/spec/code_objects/constants_spec.rb +2 -0
  112. data/spec/code_objects/method_object_spec.rb +33 -5
  113. data/spec/code_objects/module_object_spec.rb +66 -8
  114. data/spec/code_objects/namespace_object_spec.rb +37 -17
  115. data/spec/code_objects/proxy_spec.rb +13 -2
  116. data/spec/core_ext/string_spec.rb +14 -2
  117. data/spec/core_ext/symbol_hash_spec.rb +9 -3
  118. data/spec/docstring_spec.rb +139 -0
  119. data/spec/generators/full_doc_generator_spec.rb +29 -0
  120. data/spec/generators/helpers/html_helper_spec.rb +74 -0
  121. data/spec/generators/helpers/markup_helper_spec.rb +95 -0
  122. data/spec/handlers/alias_handler_spec.rb +16 -3
  123. data/spec/handlers/attribute_handler_spec.rb +1 -1
  124. data/spec/handlers/base_spec.rb +15 -141
  125. data/spec/handlers/class_condition_handler_spec.rb +49 -0
  126. data/spec/handlers/class_handler_spec.rb +44 -3
  127. data/spec/handlers/class_variable_handler_spec.rb +1 -1
  128. data/spec/handlers/constant_handler_spec.rb +1 -1
  129. data/spec/handlers/examples/alias_handler_001.rb.txt +7 -3
  130. data/spec/handlers/examples/class_condition_handler_001.rb.txt +61 -0
  131. data/spec/handlers/examples/class_handler_001.rb.txt +33 -0
  132. data/spec/handlers/examples/exception_handler_001.rb.txt +1 -1
  133. data/spec/handlers/examples/extend_handler_001.rb.txt +8 -0
  134. data/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
  135. data/spec/handlers/examples/method_handler_001.rb.txt +16 -4
  136. data/spec/handlers/examples/mixin_handler_001.rb.txt +10 -2
  137. data/spec/handlers/examples/module_handler_001.rb.txt +4 -0
  138. data/spec/handlers/examples/visibility_handler_001.rb.txt +1 -1
  139. data/spec/handlers/exception_handler_spec.rb +2 -2
  140. data/spec/handlers/extend_handler_spec.rb +15 -0
  141. data/spec/handlers/legacy_base_spec.rb +128 -0
  142. data/spec/handlers/method_condition_handler_spec.rb +14 -0
  143. data/spec/handlers/method_handler_spec.rb +38 -5
  144. data/spec/handlers/mixin_handler_spec.rb +15 -7
  145. data/spec/handlers/module_handler_spec.rb +5 -1
  146. data/spec/handlers/processor_spec.rb +19 -0
  147. data/spec/handlers/ruby/base_spec.rb +90 -0
  148. data/spec/handlers/ruby/legacy/base_spec.rb +53 -0
  149. data/spec/handlers/spec_helper.rb +22 -16
  150. data/spec/handlers/visibility_handler_spec.rb +4 -4
  151. data/spec/handlers/yield_handler_spec.rb +1 -1
  152. data/spec/parser/ruby/ast_node_spec.rb +15 -0
  153. data/spec/parser/ruby/legacy/statement_list_spec.rb +145 -0
  154. data/spec/parser/{token_list_spec.rb → ruby/legacy/token_list_spec.rb} +4 -4
  155. data/spec/parser/source_parser_spec.rb +0 -15
  156. data/spec/rake/yardoc_task_spec.rb +48 -0
  157. data/spec/registry_spec.rb +28 -2
  158. data/spec/serializers/file_system_serializer_spec.rb +7 -1
  159. data/spec/spec_helper.rb +1 -1
  160. data/spec/tags/default_factory_spec.rb +135 -0
  161. data/spec/tags/default_tag_spec.rb +11 -0
  162. data/spec/tags/overload_tag_spec.rb +35 -0
  163. data/spec/tags/ref_tag_list_spec.rb +53 -0
  164. data/templates/default/attributes/html/header.erb +17 -5
  165. data/templates/default/attributes/text/header.erb +1 -1
  166. data/templates/default/fulldoc/html/all_files.erb +19 -0
  167. data/templates/default/fulldoc/html/all_methods.erb +8 -7
  168. data/templates/default/fulldoc/html/all_namespaces.erb +4 -1
  169. data/templates/default/fulldoc/html/app.js +1 -1
  170. data/templates/default/fulldoc/html/{readme.erb → file.erb} +2 -2
  171. data/templates/default/fulldoc/html/header.erb +1 -1
  172. data/templates/default/fulldoc/html/index.erb +4 -3
  173. data/templates/default/fulldoc/html/style.css +13 -3
  174. data/templates/default/fulldoc/html/syntax_highlight.css +8 -5
  175. data/templates/default/method/text/header.erb +1 -0
  176. data/templates/default/method/text/title.erb +1 -0
  177. data/templates/default/methodsignature/html/main.erb +10 -8
  178. data/templates/default/methodsignature/text/main.erb +4 -1
  179. data/templates/default/methodsummary/html/summary.erb +8 -4
  180. data/templates/default/methodsummary/text/summary.erb +4 -1
  181. data/templates/default/mixins/html/header.erb +3 -3
  182. data/templates/default/overloads/html/header.erb +8 -0
  183. data/templates/default/overloads/text/header.erb +8 -0
  184. data/templates/default/root/html/header.erb +4 -0
  185. data/templates/default/tags/html/example.erb +20 -0
  186. data/templates/default/tags/html/option.erb +27 -0
  187. data/templates/default/tags/html/param.erb +21 -0
  188. data/templates/default/tags/html/tags.erb +4 -1
  189. data/templates/default/tags/html/todo.erb +8 -0
  190. data/templates/default/tags/text/example.erb +14 -0
  191. data/templates/default/tags/text/header.erb +3 -3
  192. data/templates/default/tags/text/option.erb +5 -0
  193. data/templates/default/tags/text/param.erb +9 -0
  194. data/templates/default/uml/dot/dependencies.erb +1 -1
  195. data/templates/default/uml/dot/info.erb +1 -1
  196. data/templates/default/uml/dot/superclasses.erb +2 -2
  197. data/templates/javadoc/methodsummary/html/summary.erb +2 -2
  198. data/templates/javadoc/mixins/html/header.erb +3 -3
  199. metadata +108 -139
  200. data/README +0 -211
  201. data/lib/yard/handlers/method_handler.rb +0 -27
  202. data/lib/yard/handlers/mixin_handler.rb +0 -16
  203. data/lib/yard/parser/statement_list.rb +0 -167
  204. data/lib/yard/tags/merbdoc_factory.rb +0 -47
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <%= render :html_head %>
6
+ <title>All Files</title>
7
+ <base target="main" />
8
+ </head>
9
+ <body>
10
+ <div id="nav" class="files">
11
+ <h1>Files List</h1>
12
+ <ul>
13
+ <% for file in extra_files %>
14
+ <li nowrap><a href="<%= File.basename(file) %>.html"><%= File.basename(file) %></a></li>
15
+ <% end %>
16
+ </ul>
17
+ </div>
18
+ </body>
19
+ </html>
@@ -3,18 +3,19 @@
3
3
  <html>
4
4
  <head>
5
5
  <%= render :html_head %>
6
- <title>All Modules / Classes</title>
6
+ <title>All Methods</title>
7
7
  <base target="main" />
8
8
  </head>
9
9
  <body>
10
10
  <div id="nav" class="methods">
11
11
  <h1>Method List</h1>
12
12
  <ul>
13
- <% for obj in YARD::Registry.all(:method).sort_by {|o| o.path } %>
14
- <% next if obj.namespace == Registry.root %>
15
- <li nowrap>
16
- <%= linkify(obj, (obj.scope == :class ? '' : '#') + obj.name.to_s) %>
17
- <% if obj.namespace != Registry.root %>
13
+ <% for obj in objects %>
14
+ <li nowrap="nowrap">
15
+ <%= linkify(obj, (obj.scope == :class ? '' : '#') + obj.name.to_s, nil, false) %>
16
+ <% if obj.namespace == Registry.root %>
17
+ <em>(Global method)</em>
18
+ <% else %>
18
19
  <em>(<%= obj.namespace.type %> <%= obj.namespace.name %>)</em>
19
20
  <% end %>
20
21
  </li>
@@ -22,4 +23,4 @@
22
23
  </ul>
23
24
  </div>
24
25
  </body>
25
- </html>
26
+ </html>
@@ -10,7 +10,10 @@
10
10
  <div id="nav" class="namespaces">
11
11
  <h1>All Modules / Classes</h1>
12
12
  <ul>
13
- <% for obj in YARD::Registry.all(:module, :class).sort_by {|o| o.path } %>
13
+ <% if root %>
14
+ <li><%= linkify(root, "Top Level Namespace", nil, false) %></li>
15
+ <% end %>
16
+ <% for obj in objects %>
14
17
  <li><%= linkify(obj) %> <em>(<%= obj.type %>)</em></li>
15
18
  <% end %>
16
19
  </ul>
@@ -5,7 +5,7 @@ $(document).ready(function() {
5
5
  }
6
6
 
7
7
  // Setup the view source links
8
- $(".section.source a.source_link").toggle(
8
+ $("a.source_link").toggle(
9
9
  function() {
10
10
  $(this).text('Hide source');
11
11
  $(this).parent().next().show();
@@ -3,12 +3,12 @@
3
3
  <html>
4
4
  <head>
5
5
  <%= render :html_head %>
6
- <title>README</title>
6
+ <title><%= filename %></title>
7
7
  </head>
8
8
  <body>
9
9
  <div id="content">
10
10
  <div class="section docstring readme">
11
- <%= htmlify @contents %>
11
+ <%= htmlify @contents, markup_for(filename) %>
12
12
  </div>
13
13
  </div>
14
14
  </body>
@@ -5,7 +5,7 @@
5
5
  <%= render :html_head %>
6
6
  <script src="<%= url_for(js_file) %>" type="text/javascript" charset="utf-8"></script>
7
7
  <script src="<%= url_for(js_app_file) %>" type="text/javascript" charset="utf-8"></script>
8
- <title><%= h format_object_type(object) %>: <%= h object.path %></title>
8
+ <title><%= h format_object_title(object) %></title>
9
9
  </head>
10
10
  <body>
11
11
  <div id="content">
@@ -6,13 +6,14 @@
6
6
  <title>YARD Documentation</title>
7
7
  </head>
8
8
  <frameset cols="20%,*">
9
- <frameset rows="50%,50%">
9
+ <frameset rows="13%,45%,42%">
10
+ <frame src="all-files.html" />
10
11
  <frame src="all-namespaces.html" />
11
12
  <frame src="all-methods.html" />
12
13
  </frameset>
13
- <frame name="main" src="<%= readme_file ? 'readme.html' : url_for(Registry.all(:module, :class).sort_by {|o| o.path }.first) %>" />
14
+ <frame name="main" src="<%= extra_files.first ? File.basename(extra_files.first)+'.html' : url_for(Registry.all(:module, :class).sort_by {|o| o.path }.first) %>" />
14
15
  <noframes>
15
- <p><a href="<%= readme_file ? 'readme.html' : url_for(Registry.all(:module, :class).sort_by {|o| o.path }.first) %>">Click here to go to the title page</a>.</p>
16
+ <p><a href="<%= extra_files.first ? File.basename(extra_files.first)+'.html' : url_for(Registry.all(:module, :class).sort_by {|o| o.path }.first) %>">Click here to go to the title page</a>.</p>
16
17
  </noframes>
17
18
  </frameset>
18
19
  </html>
@@ -14,21 +14,27 @@ h3 { font-size: 1.0em; }
14
14
  .methodsignature .visibility { display: none; }
15
15
  .methodsignature .name { font-weight: bold; }
16
16
  .methoddetails .method_header h3 { display: none; }
17
+ .section h3 { margin-left: 20px; }
17
18
  .section.method { background: #eee; margin-bottom: 0.8em; }
19
+ .overload .section.method { background: #f5f5f5; margin-left: 2em; margin-right: 2em; }
18
20
  .section.tags,.section.docstring,.section.source { padding: 5px 12px; }
19
21
  .section.method .details_title { font-size: 1.1em; background: #dde; padding: 7px; }
22
+ .overload .section.method .details_title { background: #e2e2ea; }
20
23
  .section.method .details_title p.aliases { padding: 0; margin: 0; font-style: italic; font-size: 0.9em; }
21
24
  .section.method .details_title p.aliases tt { font-weight: bold; font-style: normal; font-size: 1.1em; }
22
25
  .section.constants dl { font-family: monospace; }
23
26
  .section.constants dt { font-weight: bold; font-size: 1.1em; }
24
27
  .section.constants dt:after { content: " = "; }
25
28
  .section.constants dd { margin-bottom: 1em; }
26
- .section.source .source_link { font-size: 0.9em; }
27
- .section.source .source_code { display: none; }
29
+ .section .source_link { font-size: 0.9em; }
30
+ .section .source_code { display: none; }
28
31
  /*.section.source .source_code pre { float: left; }*/
29
32
  .section.attributes table { padding: 0; width: 100%; }
30
33
  .section.attributes .readwrite { width: 5%; }
31
34
  .section.attributes .name { font-weight: bold; width: 10%; }
35
+ .section.attributes .aliases { padding-top: 0; padding-left: 0; }
36
+ .section.attributes .aliases .text { font-size: 0.8em; }
37
+ .section.attributes .aliases .alias { font-family: monospace; font-weight: bold; }
32
38
  .section.attributes .visibility { font-style: italic; color: #666; width: 5%; }
33
39
  .section.attributes td, .section.attributes th { vertical-align: top; padding: 5px; }
34
40
  .section.attributes th { padding-left: 0; text-align: left; }
@@ -36,6 +42,7 @@ h3 { font-size: 1.0em; }
36
42
  .section.attributes .docstring .return_types { font-style: normal; }
37
43
  .section.attributes .docstring { width: 80%; }
38
44
  .section.attributes .docstring * { display: inline; }
45
+ .section.attributes tr.hasaliases td, .section.attributes tr.hasaliases th { padding-bottom: 0; }
39
46
  .section.inheritance { background: #ddd; padding: 5px; border: 1px solid #ccc; border-top: 0; }
40
47
  .section.inheritance ul { list-style: none; padding-left: 2.2em; margin: 0; }
41
48
  .section.inheritance ul li { line-height: 1.2em; }
@@ -48,7 +55,7 @@ h3 { font-size: 1.0em; }
48
55
  .section.methodsummary th { background: #dde; text-align: left; white-space: nowrap; padding-right: 12px; }
49
56
  .section.methodsummary .signature { font-family: monospace; font-weight: normal; }
50
57
  .section.methodsummary .signature .name { font-weight: bold; }
51
- .section.methodsummary .signature .alias { display: block; }
58
+ .section.methodsummary .signature .alias, .section.methodsummary .signature .overload { display: block; }
52
59
  .section.methodsummary .docstring { width: 80%; }
53
60
  .section.methodsummary .docstring * { display: inline; }
54
61
  .section.methodsummary .docstring p.returns { color: #555; font-style: italic; }
@@ -57,6 +64,9 @@ h3 { font-size: 1.0em; }
57
64
  .section.tags h2 { display: none; }
58
65
  .section.tags h3 { font-size: 1.0em; margin-top: 3px; }
59
66
  .section.tags dl { margin-left: 2em; }
67
+ .section.tags .option table { width: 100%; border: 0; padding: 0; }
68
+ .section.tags .option th { text-align: left; background: #e5e5e5; padding: 3px; }
69
+ .section.tags .option td.name { font-family: monospace; }
60
70
  .section.methodmissing p.note { font-style: italic; }
61
71
  .section.constructor p.inherited_msg { font-style: italic; }
62
72
  .included h1, .inherited h1 { font-size: 1em !important; border: 0; margin: 0; padding: 5px; border-bottom: 1px solid #ccc; }
@@ -1,21 +1,24 @@
1
1
  /* Canvas */
2
- .docstring pre, .source_code { background: #222; padding: 0 12px; margin-top: 8px; border: 1px dashed #ccc; font-size: 0.9em; overflow-x: auto; }
3
2
  .source_code pre.lines { margin-right: 20px; text-align: right; color: #888; }
4
3
  .docstring pre { padding: 12px; padding-left: 0; }
4
+ .docstring pre, .source_code { background: #222; padding: 12px; margin-top: 8px; border: 1px dashed #ccc; font-size: 0.9em; overflow-x: auto; }
5
5
 
6
6
  /* Token colours. Borrowed from pastie.org's "Blackboard" theme */
7
7
  pre.code, pre.lines { font-family: Monaco, Courier, monospace; }
8
8
  pre.code { color: #fff; }
9
9
  pre.code .info.file { color: #888; }
10
- pre.code .val { color: #61CE3C; }
11
- pre.code .dstring { color: #61DE3C; }
10
+ pre.code .val, pre.code .int, pre.code .float { color: #61CE3C; }
11
+ pre.code .dstring, pre.code .tstring_content,
12
+ pre.code .regexp_beg, pre.code .regexp_end,
13
+ pre.code .tstring_beg, pre.code .tstring_end { color: #61DE3C; }
14
+ pre.code .embexpr_beg, pre.code .tstring, pre.code .tstring .rbrace { color: #7CFE65; }
12
15
  pre.code .fid, pre.code .id.new, pre.code .id.to_s,
13
16
  pre.code .id.to_sym, pre.code .id.to_f,
14
17
  pre.code .dot + pre.code .id,
15
18
  pre.code .id.to_i pre.code .id.each { color: #FF6400; }
16
19
  pre.code .comment { color: #AEAEAE; }
17
- pre.code .constant, pre.code .symbol { color: #D8FA3C; }
20
+ pre.code .constant, pre.code .const, pre.code .symbol, pre.code .symbeg { color: #D8FA3C; }
18
21
  pre.code .kw { color: #FBDE2D; }
19
22
  pre.code .ivar { color: #AACEFB; }
20
- pre.code .gvar, pre.code .id.nth_ref { color: #BADEFF; }
23
+ pre.code .gvar, pre.code .backref, pre.code .id.nth_ref { color: #BADEFF; }
21
24
  pre.code .regexp, .dregexp { color: #EA5EFB; }
@@ -0,0 +1 @@
1
+ <%= yield object %>
@@ -0,0 +1 @@
1
+ <%= yield object %>
@@ -1,8 +1,10 @@
1
- <div class='section <%=generator_name %>'>
2
- <tt class='def'>
3
- <span class='visibility'><%= object.visibility %></span>
4
- <span class='return_types'><%= format_return_types object %></span>
5
- <span class='name'><%= object.name %></span><span class='args'><%= format_args object %></span>
6
- <span class='block'><%= format_block object %></span>
7
- </tt>
8
- </div>
1
+ <% overloads(object).each do |overload| %>
2
+ <div class='section <%=generator_name %>'>
3
+ <tt class='def'>
4
+ <span class='visibility'><%= overload.visibility %></span>
5
+ <span class='return_types'><%= format_return_types overload %></span>
6
+ <span class='name'><%= overload.name %></span><span class='args'><%= format_args overload %></span>
7
+ <span class='block'><%= format_block overload %></span>
8
+ </tt>
9
+ </div>
10
+ <% end %>
@@ -1,5 +1,8 @@
1
1
  Method Signature
2
2
  ----------------
3
- <%= object.visibility %> <%= format_return_types object %> <%= object.name %><%= format_args object %> <%= format_block object %>
3
+ <% overloads(object).each do |overload| %>
4
+ <%= overload.visibility %> <%= format_return_types overload %> <%= overload.name %><%= format_args overload %> <%= format_block overload %>
5
+
6
+ <% end %>
4
7
 
5
8
 
@@ -3,14 +3,18 @@
3
3
  <% method_list.each do |meth| %>
4
4
  <tr>
5
5
  <th class="signature">
6
- <span class='name'><%= linkify(meth, meth.name(true)) %></span><span class='args'><%= format_args meth %></span>
7
- <span class='block'><%= format_block meth %></span>
6
+ <% overloads(meth).each do |overload| %>
7
+ <span class='overload'>
8
+ <span class='name'><%= linkify(meth, overload.name(true)) %></span><span class='args'><%= format_args overload %></span>
9
+ <span class='block'><%= format_block overload %></span>
10
+ </span>
11
+ <% end %>
8
12
  <% meth.aliases.each do |obj| %>
9
13
  <span class='alias'><%= h obj.name(true) %></span>
10
14
  <% end %>
11
15
  </th>
12
16
  <td class="docstring">
13
- <%= htmlify meth.short_docstring %>
17
+ <%= htmlify meth.docstring.summary %>
14
18
  <% if meth.tag(:return) && meth.tag(:return).types %>
15
19
  <p class='returns'>
16
20
  Returns:
@@ -22,4 +26,4 @@
22
26
  </td>
23
27
  </tr>
24
28
  <% end %>
25
- </table>
29
+ </table>
@@ -1,3 +1,6 @@
1
- <% method_list.sort_by {|m| "#{m.scope}#{m.name}" }.each do |meth| %><%= meth.visibility == :class ? '+' : '-' %> <%= meth.name(true) %><%= format_args meth %> <%= format_block meth %>
1
+ <% method_list.sort_by {|m| "#{m.scope}#{m.name}" }.each do |meth| %>
2
+ <% overloads(meth).each do |overload| %>
3
+ <%= overload.visibility == :class ? '+' : '-' %> <%= overload.name(true) %><%= format_args overload %> <%= format_block overload %>
2
4
 
3
5
  <% end %>
6
+ <% end %>
@@ -1,4 +1,4 @@
1
1
  <div class="section <%= generator_name %>">
2
- <h1>Included Modules</h1>
3
- <p><%= object.mixins.map {|o| linkify o }.join(", ") %></p>
4
- </div>
2
+ <h1><%= scope == :instance ? "Included" : "Extended" %> Modules</h1>
3
+ <p><%= object.mixins(scope).map {|o| linkify o }.join(", ") %></p>
4
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="section <%= generator_name %>">
2
+ <h2>Overloads</h2>
3
+ <% overloads(object).each do |overload| %>
4
+ <div class="overload">
5
+ <%= yield overload %>
6
+ </div>
7
+ <% end %>
8
+ </div>
@@ -0,0 +1,8 @@
1
+ Overloads
2
+ =========
3
+
4
+ <% overloads(object).each do |overload| %>
5
+ <%= yield(overload).gsub(/^/, ' ') %>
6
+
7
+
8
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <div class="section root">
2
+ <h1 class="title">Top Level Namespace (Global Methods)</h1>
3
+ <%= yield object %>
4
+ </div>
@@ -0,0 +1,20 @@
1
+ <% if object.has_tag?(:example) %>
2
+ <div class="examples">
3
+ <% if object.tags(:example).size == 1 %>
4
+ <h3>Example: <small><%= object.tag(:example).name %></small></h3>
5
+ <div class="docstring">
6
+ <pre class="code"><%= html_syntax_highlight object.tag(:example).text %></pre>
7
+ </div>
8
+ <% else %>
9
+ <h3>Examples</h3>
10
+ <% object.tags(:example).each do |tag| %>
11
+ <dl>
12
+ <dt><%= tag.name %></dt>
13
+ <dd class="docstring">
14
+ <pre class="code"><%= html_syntax_highlight tag.text %></pre>
15
+ </dd>
16
+ </dl>
17
+ <% end %>
18
+ <% end %>
19
+ </div>
20
+ <% end %>
@@ -0,0 +1,27 @@
1
+ <dt>Options Hash <tt><%= param %></tt></dt>
2
+ <dd>
3
+ <div class="option">
4
+ <table>
5
+ <tr>
6
+ <th class="name">Key Name</th>
7
+ <th class="default">Default Value</th>
8
+ <th class="type">Accepted Types</th>
9
+ <th class="desc">Description</th>
10
+ </tr>
11
+ <% for tag in object.tags(:option).select {|x| x.name.to_s == param } %>
12
+ <tr>
13
+ <td class="name"><%= tag.pair.name %></td>
14
+ <td class="default">
15
+ <% if tag.pair.defaults %>
16
+ <%= tag.pair.defaults.map {|t| "<tt>#{h t}</tt>" }.join(", ") %>
17
+ <% else %>
18
+ <span class="na">N/A</span>
19
+ <% end %>
20
+ </td>
21
+ <td class="type"><%= format_types (tag.pair.types || ['Object']) %></td>
22
+ <td class="desc"><%= htmlify tag.pair.text %></td>
23
+ </tr>
24
+ <% end %>
25
+ </table>
26
+ </div>
27
+ </dd>
@@ -0,0 +1,21 @@
1
+ <div class="param">
2
+ <h3><%= YARD::Tags::Library.labels[:param] %>:</h3>
3
+ <dl>
4
+ <% for tag in tags_by_param(object) %>
5
+ <% if tag.is_a?(YARD::Tags::OptionTag) %>
6
+ <%= render object, 'option', :param => tag.name.to_s %>
7
+ <% else %>
8
+ <dt>
9
+ <span class='type'><%= format_types (tag.types || ['Object']) %></span>
10
+ <span class='name'><%= h tag.name %></span>
11
+ <% if (o=object.parameters.assoc(tag.name.to_sym)) && o[1] %>
12
+ <em class="default">(defaults to: <tt><%= h o[1] %></tt>)</em>
13
+ <% end %>
14
+ </dt>
15
+ <dd>
16
+ <span class='desc'><%= htmlify tag.text if tag.text %></span>
17
+ </dd>
18
+ <% end %>
19
+ <% end %>
20
+ </dl>
21
+ </div>
@@ -5,11 +5,14 @@
5
5
  <% for tag in object.tags(name) %>
6
6
  <dt>
7
7
  <% unless defined?(no_types) %>
8
- <span class='type'><%= format_types tag.types %></span>
8
+ <span class='type'><%= format_types (tag.types || ['Object']) %></span>
9
9
  <% end %>
10
10
  <% unless defined?(no_names) %>
11
11
  <span class='name'><%= h tag.name %></span>
12
12
  <% end %>
13
+ <% if name == :param && (o=object.parameters.assoc(tag.name.to_sym)) && o[1] %>
14
+ <em class="default">(defaults to: <tt><%= h o[1] %></tt>)</em>
15
+ <% end %>
13
16
  </dt>
14
17
  <dd>
15
18
  <span class='desc'><%= htmlify tag.text %></span>
@@ -0,0 +1,8 @@
1
+ <div class="todo">
2
+ <h3><%= YARD::Tags::Library.labels[:todo] %>:</h3>
3
+ <ul>
4
+ <% for tag in object.tags(:todo) %>
5
+ <li><strong><%= tag.name %></strong> <%= tag.text %></li>
6
+ <% end %>
7
+ </ul>
8
+ </div>
@@ -0,0 +1,14 @@
1
+ <% if object.has_tag?(:example) %>
2
+ <% if object.tags(:example).size == 1 %>
3
+ > Example: <%= object.tag(:example).name %>
4
+ <%= object.tag(:example).text.gsub(/^/, ' ') %>
5
+ <% else %>
6
+ > Examples:
7
+ <% object.tags(:example).each do |tag| %>
8
+ <%= " [" + tag.name + "]" if tag.name %>
9
+ <%= tag.text.gsub(/^/, ' ') %>
10
+ <% end %>
11
+ <% end %>
12
+ <% end %>
13
+
14
+
@@ -1,3 +1,3 @@
1
- Meta Tags:
2
- ----------
3
- <%= yield object %>
1
+ <%= yield(object).strip %>
2
+
3
+