yard 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.

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
+