yard 0.6.8 → 0.7.0

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 (224) hide show
  1. data/.yardopts +1 -0
  2. data/ChangeLog +723 -0
  3. data/README.md +16 -6
  4. data/docs/CodeObjects.md +10 -16
  5. data/docs/GettingStarted.md +232 -32
  6. data/docs/Glossary.md +1 -2
  7. data/docs/Handlers.md +10 -16
  8. data/docs/Overview.md +14 -13
  9. data/docs/Parser.md +13 -22
  10. data/docs/Tags.md +209 -16
  11. data/docs/Templates.md +237 -26
  12. data/docs/WhatsNew.md +178 -2
  13. data/lib/yard.rb +13 -10
  14. data/lib/yard/autoload.rb +22 -18
  15. data/lib/yard/cli/command.rb +13 -12
  16. data/lib/yard/cli/command_parser.rb +20 -19
  17. data/lib/yard/cli/config.rb +19 -19
  18. data/lib/yard/cli/diff.rb +46 -21
  19. data/lib/yard/cli/gems.rb +11 -11
  20. data/lib/yard/cli/graph.rb +13 -13
  21. data/lib/yard/cli/help.rb +1 -1
  22. data/lib/yard/cli/list.rb +22 -0
  23. data/lib/yard/cli/server.rb +17 -17
  24. data/lib/yard/cli/stats.rb +32 -32
  25. data/lib/yard/cli/yardoc.rb +181 -135
  26. data/lib/yard/cli/yri.rb +29 -29
  27. data/lib/yard/code_objects/base.rb +101 -101
  28. data/lib/yard/code_objects/class_object.rb +20 -20
  29. data/lib/yard/code_objects/constant_object.rb +1 -1
  30. data/lib/yard/code_objects/extended_method_object.rb +5 -5
  31. data/lib/yard/code_objects/extra_file_object.rb +89 -0
  32. data/lib/yard/code_objects/macro_object.rb +215 -0
  33. data/lib/yard/code_objects/method_object.rb +30 -30
  34. data/lib/yard/code_objects/module_object.rb +1 -1
  35. data/lib/yard/code_objects/namespace_object.rb +39 -39
  36. data/lib/yard/code_objects/proxy.rb +38 -38
  37. data/lib/yard/code_objects/root_object.rb +1 -1
  38. data/lib/yard/config.rb +40 -40
  39. data/lib/yard/core_ext/array.rb +2 -2
  40. data/lib/yard/core_ext/file.rb +11 -11
  41. data/lib/yard/core_ext/insertion.rb +10 -10
  42. data/lib/yard/core_ext/module.rb +2 -2
  43. data/lib/yard/core_ext/string.rb +2 -2
  44. data/lib/yard/core_ext/symbol_hash.rb +14 -14
  45. data/lib/yard/docstring.rb +122 -54
  46. data/lib/yard/globals.rb +2 -2
  47. data/lib/yard/handlers/base.rb +216 -127
  48. data/lib/yard/handlers/processor.rb +65 -27
  49. data/lib/yard/handlers/ruby/alias_handler.rb +6 -3
  50. data/lib/yard/handlers/ruby/attribute_handler.rb +7 -6
  51. data/lib/yard/handlers/ruby/base.rb +50 -31
  52. data/lib/yard/handlers/ruby/class_condition_handler.rb +11 -11
  53. data/lib/yard/handlers/ruby/class_handler.rb +10 -10
  54. data/lib/yard/handlers/ruby/class_variable_handler.rb +3 -3
  55. data/lib/yard/handlers/ruby/constant_handler.rb +7 -7
  56. data/lib/yard/handlers/ruby/exception_handler.rb +2 -2
  57. data/lib/yard/handlers/ruby/extend_handler.rb +1 -1
  58. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +8 -5
  59. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +6 -5
  60. data/lib/yard/handlers/ruby/legacy/base.rb +42 -27
  61. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +9 -9
  62. data/lib/yard/handlers/ruby/legacy/class_handler.rb +13 -12
  63. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +3 -6
  64. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +5 -8
  65. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +1 -1
  66. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +1 -0
  67. data/lib/yard/handlers/ruby/legacy/macro_handler.rb +40 -0
  68. data/lib/yard/handlers/ruby/legacy/method_handler.rb +10 -10
  69. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +4 -3
  70. data/lib/yard/handlers/ruby/legacy/module_handler.rb +2 -1
  71. data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +4 -4
  72. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +2 -1
  73. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +3 -3
  74. data/lib/yard/handlers/ruby/macro_handler.rb +41 -0
  75. data/lib/yard/handlers/ruby/macro_handler_methods.rb +130 -0
  76. data/lib/yard/handlers/ruby/method_condition_handler.rb +1 -1
  77. data/lib/yard/handlers/ruby/method_handler.rb +13 -13
  78. data/lib/yard/handlers/ruby/mixin_handler.rb +4 -4
  79. data/lib/yard/handlers/ruby/module_handler.rb +2 -1
  80. data/lib/yard/handlers/ruby/private_constant_handler.rb +4 -4
  81. data/lib/yard/handlers/ruby/struct_handler_methods.rb +11 -11
  82. data/lib/yard/handlers/ruby/visibility_handler.rb +1 -1
  83. data/lib/yard/handlers/ruby/yield_handler.rb +5 -5
  84. data/lib/yard/logging.rb +11 -11
  85. data/lib/yard/parser/base.rb +8 -8
  86. data/lib/yard/parser/c_parser.rb +42 -33
  87. data/lib/yard/parser/ruby/ast_node.rb +62 -61
  88. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +66 -66
  89. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +4 -4
  90. data/lib/yard/parser/ruby/legacy/statement.rb +11 -11
  91. data/lib/yard/parser/ruby/legacy/statement_list.rb +15 -15
  92. data/lib/yard/parser/ruby/legacy/token_list.rb +9 -9
  93. data/lib/yard/parser/ruby/ruby_parser.rb +51 -37
  94. data/lib/yard/parser/source_parser.rb +271 -46
  95. data/lib/yard/rake/yardoc_task.rb +18 -17
  96. data/lib/yard/registry.rb +64 -64
  97. data/lib/yard/registry_store.rb +34 -34
  98. data/lib/yard/rubygems/backports.rb +8 -0
  99. data/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  100. data/lib/yard/rubygems/backports/MIT.txt +20 -0
  101. data/lib/yard/rubygems/backports/gem.rb +8 -0
  102. data/lib/yard/rubygems/backports/source_index.rb +353 -0
  103. data/lib/yard/rubygems/specification.rb +2 -2
  104. data/lib/yard/serializers/base.rb +20 -20
  105. data/lib/yard/serializers/file_system_serializer.rb +28 -24
  106. data/lib/yard/serializers/process_serializer.rb +3 -3
  107. data/lib/yard/serializers/stdout_serializer.rb +6 -6
  108. data/lib/yard/serializers/yardoc_serializer.rb +17 -17
  109. data/lib/yard/server/adapter.rb +12 -12
  110. data/lib/yard/server/commands/base.rb +26 -26
  111. data/lib/yard/server/commands/display_file_command.rb +3 -2
  112. data/lib/yard/server/commands/display_object_command.rb +5 -5
  113. data/lib/yard/server/commands/frames_command.rb +1 -1
  114. data/lib/yard/server/commands/library_command.rb +7 -7
  115. data/lib/yard/server/commands/library_index_command.rb +2 -2
  116. data/lib/yard/server/commands/list_command.rb +8 -8
  117. data/lib/yard/server/commands/search_command.rb +8 -8
  118. data/lib/yard/server/commands/static_file_command.rb +3 -3
  119. data/lib/yard/server/doc_server_helper.rb +6 -3
  120. data/lib/yard/server/doc_server_serializer.rb +1 -1
  121. data/lib/yard/server/library_version.rb +45 -45
  122. data/lib/yard/server/rack_adapter.rb +10 -10
  123. data/lib/yard/server/router.rb +28 -28
  124. data/lib/yard/server/static_caching.rb +5 -5
  125. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +3 -3
  126. data/lib/yard/server/templates/default/fulldoc/html/js/live.js +1 -1
  127. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +2 -2
  128. data/lib/yard/server/templates/default/layout/html/headers.erb +13 -8
  129. data/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
  130. data/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +2 -2
  131. data/lib/yard/server/templates/doc_server/full_list/html/setup.rb +14 -4
  132. data/lib/yard/server/templates/doc_server/library_list/html/contents.erb +2 -2
  133. data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +2 -2
  134. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +1 -1
  135. data/lib/yard/server/templates/doc_server/search/html/search.erb +1 -1
  136. data/lib/yard/server/webrick_adapter.rb +2 -2
  137. data/lib/yard/tags/default_factory.rb +19 -19
  138. data/lib/yard/tags/default_tag.rb +1 -1
  139. data/lib/yard/tags/library.rb +68 -63
  140. data/lib/yard/tags/option_tag.rb +1 -1
  141. data/lib/yard/tags/overload_tag.rb +9 -9
  142. data/lib/yard/tags/ref_tag_list.rb +2 -2
  143. data/lib/yard/tags/tag.rb +7 -7
  144. data/lib/yard/templates/engine.rb +31 -31
  145. data/lib/yard/templates/erb_cache.rb +1 -1
  146. data/lib/yard/templates/helpers/base_helper.rb +46 -32
  147. data/lib/yard/templates/helpers/filter_helper.rb +2 -2
  148. data/lib/yard/templates/helpers/html_helper.rb +120 -81
  149. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +4 -4
  150. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +9 -9
  151. data/lib/yard/templates/helpers/markup_helper.rb +37 -30
  152. data/lib/yard/templates/helpers/method_helper.rb +7 -7
  153. data/lib/yard/templates/helpers/text_helper.rb +7 -7
  154. data/lib/yard/templates/helpers/uml_helper.rb +3 -3
  155. data/lib/yard/templates/section.rb +14 -14
  156. data/lib/yard/templates/template.rb +54 -54
  157. data/lib/yard/verifier.rb +27 -27
  158. data/spec/cli/list_spec.rb +8 -0
  159. data/spec/cli/yardoc_spec.rb +58 -10
  160. data/spec/code_objects/extra_file_object_spec.rb +132 -0
  161. data/spec/code_objects/macro_object_spec.rb +154 -0
  162. data/spec/docstring_spec.rb +90 -0
  163. data/spec/handlers/base_spec.rb +22 -0
  164. data/spec/handlers/examples/macro_handler_001.rb.txt +73 -0
  165. data/spec/handlers/examples/method_handler_001.rb.txt +17 -0
  166. data/spec/handlers/macro_handler_spec.rb +140 -0
  167. data/spec/handlers/method_handler_spec.rb +28 -0
  168. data/spec/handlers/processor_spec.rb +4 -0
  169. data/spec/handlers/spec_helper.rb +1 -1
  170. data/spec/parser/c_parser_spec.rb +47 -16
  171. data/spec/parser/examples/extrafile.c.txt +8 -0
  172. data/spec/parser/examples/multifile.c.txt +6 -0
  173. data/spec/parser/ruby/ruby_parser_spec.rb +5 -0
  174. data/spec/parser/source_parser_spec.rb +235 -0
  175. data/spec/rake/yardoc_task_spec.rb +22 -17
  176. data/spec/serializers/file_system_serializer_spec.rb +6 -0
  177. data/spec/server/commands/library_command_spec.rb +39 -0
  178. data/spec/spec_helper.rb +14 -0
  179. data/spec/templates/examples/method001.html +6 -6
  180. data/spec/templates/examples/method002.html +4 -4
  181. data/spec/templates/examples/method003.html +10 -10
  182. data/spec/templates/examples/method005.html +2 -2
  183. data/spec/templates/examples/module001.dot +2 -0
  184. data/spec/templates/examples/module001.html +76 -37
  185. data/spec/templates/examples/module001.txt +1 -1
  186. data/spec/templates/helpers/base_helper_spec.rb +7 -2
  187. data/spec/templates/helpers/html_helper_spec.rb +49 -5
  188. data/spec/templates/helpers/markup_helper_spec.rb +9 -8
  189. data/spec/templates/module_spec.rb +7 -0
  190. data/spec/templates/onefile_spec.rb +47 -0
  191. data/templates/default/fulldoc/html/css/style.css +7 -5
  192. data/templates/default/fulldoc/html/full_list.erb +13 -10
  193. data/templates/default/fulldoc/html/full_list_files.erb +1 -1
  194. data/templates/default/fulldoc/html/js/app.js +16 -14
  195. data/templates/default/fulldoc/html/js/full_list.js +7 -6
  196. data/templates/default/fulldoc/html/setup.rb +78 -17
  197. data/templates/default/layout/html/files.erb +1 -1
  198. data/templates/default/layout/html/headers.erb +11 -7
  199. data/templates/default/layout/html/search.erb +4 -4
  200. data/templates/default/layout/html/setup.rb +28 -8
  201. data/templates/default/module/html/inherited_attributes.erb +17 -0
  202. data/templates/default/module/setup.rb +1 -1
  203. data/templates/default/onefile/html/files.erb +2 -2
  204. data/templates/default/onefile/html/layout.erb +1 -1
  205. data/templates/default/onefile/html/setup.rb +7 -5
  206. data/templates/default/tags/html/option.erb +1 -1
  207. data/templates/default/tags/html/tag.erb +3 -3
  208. data/templates/guide/class/html/setup.rb +1 -0
  209. data/templates/guide/docstring/html/setup.rb +1 -0
  210. data/templates/guide/fulldoc/html/css/style.css +91 -0
  211. data/templates/guide/fulldoc/html/js/app.js +33 -0
  212. data/templates/guide/fulldoc/html/setup.rb +54 -0
  213. data/templates/guide/layout/html/layout.erb +81 -0
  214. data/templates/guide/layout/html/setup.rb +24 -0
  215. data/templates/guide/method/html/header.erb +18 -0
  216. data/templates/guide/method/html/setup.rb +21 -0
  217. data/templates/guide/module/html/header.erb +7 -0
  218. data/templates/guide/module/html/method_list.erb +5 -0
  219. data/templates/guide/module/html/setup.rb +26 -0
  220. data/templates/guide/tags/html/setup.rb +8 -0
  221. metadata +40 -7
  222. data/lib/yard/handlers/ruby/legacy/process_handler.rb +0 -13
  223. data/lib/yard/handlers/ruby/process_handler.rb +0 -18
  224. data/spec/handlers/process_handler_spec.rb +0 -17
@@ -0,0 +1,33 @@
1
+ function generateTOC() {
2
+ if ($('#filecontents').length == 0) return;
3
+ var _toc = $('<ol class="top"></ol>');
4
+ var show = false;
5
+ var toc = _toc;
6
+ var counter = 0;
7
+ var tags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
8
+ for (i in tags) { tags[i] = '#filecontents > ' + tags[i] }
9
+ var lastTag = parseInt(tags[0][1]);
10
+ $(tags.join(', ')).each(function() {
11
+ if (this.id == "filecontents") return;
12
+ show = true;
13
+ var thisTag = parseInt(this.tagName[1]);
14
+ if (this.id.length == 0) {
15
+ var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
16
+ if ($('#' + proposedId).length > 0) proposedId += counter++;
17
+ this.id = proposedId;
18
+ }
19
+ if (thisTag > lastTag) {
20
+ for (var i = 0; i < thisTag - lastTag; i++) {
21
+ var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
22
+ }
23
+ }
24
+ if (thisTag < lastTag) {
25
+ for (var i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
26
+ }
27
+ toc.append('<li><a href="#' + this.id + '">' + $(this).text() + '</a></li>');
28
+ lastTag = thisTag;
29
+ });
30
+ if (!show) return;
31
+ $('#toc').append()
32
+ $('#toc').append(_toc);
33
+ }
@@ -0,0 +1,54 @@
1
+ include T('default/fulldoc/html')
2
+
3
+ module OverrideFileLinks
4
+ def resolve_links(text)
5
+ result = ''
6
+ log.enter_level(Logger::ERROR) { result = super }
7
+ result
8
+ end
9
+ end
10
+
11
+ Template.extra_includes << OverrideFileLinks
12
+
13
+ def init
14
+ class << options[:serializer]
15
+ def serialized_path(object)
16
+ if CodeObjects::ExtraFileObject === object
17
+ super.sub(/^file\./, '')
18
+ else
19
+ super
20
+ end
21
+ end
22
+ end if options[:serializer]
23
+
24
+ generate_assets
25
+ options.delete(:objects)
26
+ options[:files].each {|file| serialize_file(file) }
27
+ serialize_file(options[:readme])
28
+ end
29
+
30
+ def generate_assets
31
+ %w( js/jquery.js js/app.js css/style.css css/common.css ).each do |file|
32
+ asset(file, file(file, true))
33
+ end
34
+ end
35
+
36
+ def serialize_file(file)
37
+ index = options[:files].index(file)
38
+ outfile = file.name + '.html'
39
+ options[:file] = file
40
+ if file.attributes[:namespace]
41
+ options[:object] = Registry.at(file.attributes[:namespace])
42
+ end
43
+ options[:object] ||= Registry.root
44
+
45
+ if file == options[:readme]
46
+ serialize_index(options)
47
+ else
48
+ serialize_index(options) if !options[:readme] && index == 0
49
+ Templates::Engine.with_serializer(outfile, options[:serializer]) do
50
+ T('layout').run(options)
51
+ end
52
+ end
53
+ options.delete(:file)
54
+ end
@@ -0,0 +1,81 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <%= erb(:headers) %>
6
+ <script type="text/javascript" charset="utf-8">
7
+ $(function() {
8
+ $('.object_link').each(function() {
9
+ $(this).html($(this).find('a').html())
10
+ });
11
+ });
12
+ $(function() {
13
+ generateTOC();
14
+ if ($('#toc li').size() == 0) {
15
+ $('#sidebar h2.toc').hide();
16
+ }
17
+ })
18
+ </script>
19
+ </head>
20
+ <body>
21
+ <div id="top_nav">
22
+ <div id="inner_nav">
23
+ <% if options[:readme] != options[:file] && options[:title] %>
24
+ <span class="title"><strong><%= options[:title] %></strong>: <%= @page_title %></span>
25
+ <small class="links">
26
+ <% links = [link_file('index.html', 'top'),
27
+ @prevfile ? link_file(@prevfile, 'prev') : nil,
28
+ @nextfile ? link_file(@nextfile, 'next') : nil].compact %>
29
+ (<%= links.join(", ") %>)
30
+ </small>
31
+ <% end %>
32
+ </div>
33
+ </div>
34
+ <div id="page">
35
+ <div id="sidebar">
36
+ <h2 class="toc">Table Of Contents</h2>
37
+ <div id="toc"></div>
38
+
39
+ <% if options[:readme] != options[:file] %>
40
+ <h2>Related Topics</h2>
41
+ <div id="links">
42
+ <ol class="top">
43
+ <% if options[:readme] %>
44
+ <li><%= link_file("index.html", "Documentation Overview") %></li>
45
+ <% end %>
46
+ <ol>
47
+ <% if @prevfile %>
48
+ <li>
49
+ <strong>Previous:</strong>
50
+ <%= link_file(@prevfile) %>
51
+ </li>
52
+ <% end %>
53
+ <% if @nextfile %>
54
+ <li>
55
+ <strong>Next:</strong>
56
+ <%= link_file(@nextfile) %>
57
+ </li>
58
+ <% end %>
59
+ </ol>
60
+ </ol>
61
+ </div>
62
+ <% else %>
63
+ <h2>List of Topics</h2>
64
+ <div id="links">
65
+ <ol class="top">
66
+ <li><a href="#">Documentation Overview</a></li>
67
+ <ol>
68
+ <% options[:files].each do |file| %>
69
+ <li><%= link_file(file.filename, file.title) %></li>
70
+ <% end %>
71
+ </ol>
72
+ </ol>
73
+ </div>
74
+ <% end %>
75
+ </div>
76
+ <div id="content"><%= yieldall %></div>
77
+ </div>
78
+ <div style="clear:both"></div>
79
+ <%= erb(:footer) %>
80
+ </body>
81
+ </html>
@@ -0,0 +1,24 @@
1
+ include T('default/layout/html')
2
+
3
+ def init
4
+ super
5
+
6
+ @topfile = options[:readme]
7
+ @toptitle = options[:readme].attributes[:title] || "Documentation Overview"
8
+ if @file == options[:readme]
9
+ @page_title = options[:title]
10
+ else
11
+ @page_title = @file.title
12
+ end
13
+
14
+ index = options[:files].index(@file)
15
+ if index
16
+ @prevfile = index > 0 ? (options[:files][index - 1] || options[:readme]) : nil
17
+ @nextfile = options[:files][index + 1]
18
+ end
19
+ end
20
+
21
+ def diskfile
22
+ options[:including_object] = @object
23
+ super
24
+ end
@@ -0,0 +1,18 @@
1
+ <div class="method_header">
2
+ <% if options[:in_module] %>
3
+ <% if object.constructor? %>
4
+ <em>self.</em><span class="path"><strong>new</strong></span><big>(</big><%= format_args(object) %><big>)</big> <%= format_block(object) %>
5
+ <% else %>
6
+ <em><%= object.scope == :class ? 'self.' : '' %></em><span class="path"><strong><%= object.is_attribute? ? object.name.to_s.sub(/=$/, '') : object.name %></strong></span><% if object.is_attribute? %>
7
+ <% rw = object.attr_info %>
8
+ <% if rw && rw[:read] && !rw[:write] %><span class="readonly">readonly</span>
9
+ <% elsif rw && !rw[:read] && rw[:write] %><span class="writeonly">writeonly</span>
10
+ <% end %>
11
+ <% else %><big>(</big><%= format_args(object) %><big>)</big> <%= format_block(object) %><% end %>
12
+ <% end %>
13
+ <% else %>
14
+ <em>def</em> <span class="path space"><%= options[:including_object].relative_path(object.namespace) %><big><%= object.send(:sep) %></big><strong><%= object.name %></strong></span><big>(</big><%= format_args(object) %><big>)</big> <%= format_block(object) %>
15
+ <% end %>
16
+ <% if object.has_tag?(:since) && object.namespace.tag(:since) != object.tag(:since) %><span class="since">since <%= object.tag(:since).text %></span><% end %>
17
+ </div>
18
+ <div class="method_body"><%= yieldall %></div>
@@ -0,0 +1,21 @@
1
+ def init
2
+ sections :header, [T('docstring')]
3
+ end
4
+
5
+ def format_args(object)
6
+ return if object.parameters.nil?
7
+ params = object.parameters
8
+ if object.has_tag?(:yield) || object.has_tag?(:yieldparam)
9
+ params.reject! do |param|
10
+ param[0].to_s[0,1] == "&" &&
11
+ !object.tags(:param).any? {|t| t.name == param[0][1..-1] }
12
+ end
13
+ end
14
+
15
+ unless params.empty?
16
+ args = params.map {|n, v| v ? "<em>#{h n}</em> = #{h v}" : "<em>" + n.to_s + "</em>" }.join(", ")
17
+ args
18
+ else
19
+ ""
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ <div class='module_header'>
2
+ <em><%= object.type %></em> <span class="path"><%= object.namespace == Registry.root ? '' : object.namespace.path + '::' %><strong><%= object.name %></strong></span>
3
+ <% if object.has_tag?(:since) %><span class="since">since <%= object.tag(:since).text %></span><% end %>
4
+ </div>
5
+ <div class="module_methods">
6
+ <%= yieldall %>
7
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="module_methods">
2
+ <% @meths.each_with_index do |meth, i| %>
3
+ <%= yieldall(:object => meth, :index => i, :in_module => true) %>
4
+ <% end %>
5
+ </div>
@@ -0,0 +1,26 @@
1
+ include Helpers::ModuleHelper
2
+
3
+ def init
4
+ sections :header, [T('docstring')], :method_list, [T('method')]
5
+ end
6
+
7
+ def method_list
8
+ @meths = object.meths(:inherited => false, :included => false)
9
+ cons = @meths.find {|meth| meth.constructor? }
10
+ @meths = @meths.reject {|meth| special_method?(meth) }
11
+ @meths = sort_listing(prune_method_listing(@meths, false))
12
+ @meths.unshift(cons) if cons
13
+ erb(:method_list)
14
+ end
15
+
16
+ def sort_listing(list)
17
+ list.sort_by {|o| [o.scope.to_s, o.name.to_s.downcase] }
18
+ end
19
+
20
+ def special_method?(meth)
21
+ return true if meth.writer? && meth.attr_info[:read]
22
+ return true if meth.name(true) == 'new'
23
+ return true if meth.name(true) == '#method_missing'
24
+ return true if meth.constructor?
25
+ false
26
+ end
@@ -0,0 +1,8 @@
1
+ include T('default/tags/html')
2
+
3
+ def init
4
+ super
5
+ [:since, :see, :return].each do |section|
6
+ sections[:index].delete(section)
7
+ end
8
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: yard
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.6.8
5
+ version: 0.7.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Loren Segal
@@ -10,7 +10,8 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-14 00:00:00 Z
13
+ date: 2011-05-17 00:00:00 -04:00
14
+ default_executable:
14
15
  dependencies: []
15
16
 
16
17
  description: " YARD is a documentation generation tool for the Ruby programming language.\n It enables the user to generate consistent, usable documentation that can be\n exported to a number of formats very easily, and also supports extending for\n custom Ruby constructs such as custom class level definitions.\n"
@@ -52,6 +53,7 @@ files:
52
53
  - lib/yard/cli/gems.rb
53
54
  - lib/yard/cli/graph.rb
54
55
  - lib/yard/cli/help.rb
56
+ - lib/yard/cli/list.rb
55
57
  - lib/yard/cli/server.rb
56
58
  - lib/yard/cli/stats.rb
57
59
  - lib/yard/cli/yardoc.rb
@@ -61,6 +63,8 @@ files:
61
63
  - lib/yard/code_objects/class_variable_object.rb
62
64
  - lib/yard/code_objects/constant_object.rb
63
65
  - lib/yard/code_objects/extended_method_object.rb
66
+ - lib/yard/code_objects/extra_file_object.rb
67
+ - lib/yard/code_objects/macro_object.rb
64
68
  - lib/yard/code_objects/method_object.rb
65
69
  - lib/yard/code_objects/module_object.rb
66
70
  - lib/yard/code_objects/namespace_object.rb
@@ -96,19 +100,20 @@ files:
96
100
  - lib/yard/handlers/ruby/legacy/constant_handler.rb
97
101
  - lib/yard/handlers/ruby/legacy/exception_handler.rb
98
102
  - lib/yard/handlers/ruby/legacy/extend_handler.rb
103
+ - lib/yard/handlers/ruby/legacy/macro_handler.rb
99
104
  - lib/yard/handlers/ruby/legacy/method_handler.rb
100
105
  - lib/yard/handlers/ruby/legacy/mixin_handler.rb
101
106
  - lib/yard/handlers/ruby/legacy/module_handler.rb
102
107
  - lib/yard/handlers/ruby/legacy/private_constant_handler.rb
103
- - lib/yard/handlers/ruby/legacy/process_handler.rb
104
108
  - lib/yard/handlers/ruby/legacy/visibility_handler.rb
105
109
  - lib/yard/handlers/ruby/legacy/yield_handler.rb
110
+ - lib/yard/handlers/ruby/macro_handler.rb
111
+ - lib/yard/handlers/ruby/macro_handler_methods.rb
106
112
  - lib/yard/handlers/ruby/method_condition_handler.rb
107
113
  - lib/yard/handlers/ruby/method_handler.rb
108
114
  - lib/yard/handlers/ruby/mixin_handler.rb
109
115
  - lib/yard/handlers/ruby/module_handler.rb
110
116
  - lib/yard/handlers/ruby/private_constant_handler.rb
111
- - lib/yard/handlers/ruby/process_handler.rb
112
117
  - lib/yard/handlers/ruby/struct_handler_methods.rb
113
118
  - lib/yard/handlers/ruby/visibility_handler.rb
114
119
  - lib/yard/handlers/ruby/yield_handler.rb
@@ -126,6 +131,11 @@ files:
126
131
  - lib/yard/rake/yardoc_task.rb
127
132
  - lib/yard/registry.rb
128
133
  - lib/yard/registry_store.rb
134
+ - lib/yard/rubygems/backports/gem.rb
135
+ - lib/yard/rubygems/backports/LICENSE.txt
136
+ - lib/yard/rubygems/backports/MIT.txt
137
+ - lib/yard/rubygems/backports/source_index.rb
138
+ - lib/yard/rubygems/backports.rb
129
139
  - lib/yard/rubygems/doc_manager.rb
130
140
  - lib/yard/rubygems/specification.rb
131
141
  - lib/yard/serializers/base.rb
@@ -155,6 +165,7 @@ files:
155
165
  - lib/yard/server/templates/default/fulldoc/html/js/live.js
156
166
  - lib/yard/server/templates/default/layout/html/breadcrumb.erb
157
167
  - lib/yard/server/templates/default/layout/html/headers.erb
168
+ - lib/yard/server/templates/default/layout/html/setup.rb
158
169
  - lib/yard/server/templates/doc_server/frames/html/frames.erb
159
170
  - lib/yard/server/templates/doc_server/frames/html/setup.rb
160
171
  - lib/yard/server/templates/doc_server/full_list/html/full_list.erb
@@ -200,6 +211,7 @@ files:
200
211
  - spec/cli/diff_spec.rb
201
212
  - spec/cli/gems_spec.rb
202
213
  - spec/cli/help_spec.rb
214
+ - spec/cli/list_spec.rb
203
215
  - spec/cli/server_spec.rb
204
216
  - spec/cli/stats_spec.rb
205
217
  - spec/cli/yardoc_spec.rb
@@ -208,6 +220,8 @@ files:
208
220
  - spec/code_objects/class_object_spec.rb
209
221
  - spec/code_objects/code_object_list_spec.rb
210
222
  - spec/code_objects/constants_spec.rb
223
+ - spec/code_objects/extra_file_object_spec.rb
224
+ - spec/code_objects/macro_object_spec.rb
211
225
  - spec/code_objects/method_object_spec.rb
212
226
  - spec/code_objects/module_object_spec.rb
213
227
  - spec/code_objects/namespace_object_spec.rb
@@ -237,6 +251,7 @@ files:
237
251
  - spec/handlers/examples/constant_handler_001.rb.txt
238
252
  - spec/handlers/examples/exception_handler_001.rb.txt
239
253
  - spec/handlers/examples/extend_handler_001.rb.txt
254
+ - spec/handlers/examples/macro_handler_001.rb.txt
240
255
  - spec/handlers/examples/method_condition_handler_001.rb.txt
241
256
  - spec/handlers/examples/method_handler_001.rb.txt
242
257
  - spec/handlers/examples/mixin_handler_001.rb.txt
@@ -248,12 +263,12 @@ files:
248
263
  - spec/handlers/exception_handler_spec.rb
249
264
  - spec/handlers/extend_handler_spec.rb
250
265
  - spec/handlers/legacy_base_spec.rb
266
+ - spec/handlers/macro_handler_spec.rb
251
267
  - spec/handlers/method_condition_handler_spec.rb
252
268
  - spec/handlers/method_handler_spec.rb
253
269
  - spec/handlers/mixin_handler_spec.rb
254
270
  - spec/handlers/module_handler_spec.rb
255
271
  - spec/handlers/private_constant_handler_spec.rb
256
- - spec/handlers/process_handler_spec.rb
257
272
  - spec/handlers/processor_spec.rb
258
273
  - spec/handlers/ruby/base_spec.rb
259
274
  - spec/handlers/ruby/legacy/base_spec.rb
@@ -265,6 +280,8 @@ files:
265
280
  - spec/parser/c_parser_spec.rb
266
281
  - spec/parser/examples/array.c.txt
267
282
  - spec/parser/examples/example1.rb.txt
283
+ - spec/parser/examples/extrafile.c.txt
284
+ - spec/parser/examples/multifile.c.txt
268
285
  - spec/parser/examples/override.c.txt
269
286
  - spec/parser/examples/parse_in_order_001.rb.txt
270
287
  - spec/parser/examples/parse_in_order_002.rb.txt
@@ -289,6 +306,7 @@ files:
289
306
  - spec/serializers/yardoc_serializer_spec.rb
290
307
  - spec/server/adapter_spec.rb
291
308
  - spec/server/commands/base_spec.rb
309
+ - spec/server/commands/library_command_spec.rb
292
310
  - spec/server/commands/static_file_command_spec.rb
293
311
  - spec/server/doc_server_serializer_spec.rb
294
312
  - spec/server/rack_adapter_spec.rb
@@ -337,6 +355,7 @@ files:
337
355
  - spec/templates/helpers/text_helper_spec.rb
338
356
  - spec/templates/method_spec.rb
339
357
  - spec/templates/module_spec.rb
358
+ - spec/templates/onefile_spec.rb
340
359
  - spec/templates/section_spec.rb
341
360
  - spec/templates/spec_helper.rb
342
361
  - spec/templates/tag_spec.rb
@@ -415,6 +434,7 @@ files:
415
434
  - templates/default/module/html/constant_summary.erb
416
435
  - templates/default/module/html/defines.erb
417
436
  - templates/default/module/html/header.erb
437
+ - templates/default/module/html/inherited_attributes.erb
418
438
  - templates/default/module/html/inherited_constants.erb
419
439
  - templates/default/module/html/inherited_methods.erb
420
440
  - templates/default/module/html/item_summary.erb
@@ -450,6 +470,19 @@ files:
450
470
  - templates/default/tags/text/overload.erb
451
471
  - templates/default/tags/text/see.erb
452
472
  - templates/default/tags/text/tag.erb
473
+ - templates/guide/class/html/setup.rb
474
+ - templates/guide/docstring/html/setup.rb
475
+ - templates/guide/fulldoc/html/css/style.css
476
+ - templates/guide/fulldoc/html/js/app.js
477
+ - templates/guide/fulldoc/html/setup.rb
478
+ - templates/guide/layout/html/layout.erb
479
+ - templates/guide/layout/html/setup.rb
480
+ - templates/guide/method/html/header.erb
481
+ - templates/guide/method/html/setup.rb
482
+ - templates/guide/module/html/header.erb
483
+ - templates/guide/module/html/method_list.erb
484
+ - templates/guide/module/html/setup.rb
485
+ - templates/guide/tags/html/setup.rb
453
486
  - benchmarks/builtins_vs_eval.rb
454
487
  - benchmarks/concat_vs_join.rb
455
488
  - benchmarks/erb_vs_erubis.rb
@@ -472,6 +505,7 @@ files:
472
505
  - README.md
473
506
  - Rakefile
474
507
  - .yardopts
508
+ has_rdoc: yard
475
509
  homepage: http://yardoc.org
476
510
  licenses: []
477
511
 
@@ -495,10 +529,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
495
529
  requirements: []
496
530
 
497
531
  rubyforge_project: yard
498
- rubygems_version: 1.7.2
532
+ rubygems_version: 1.3.8
499
533
  signing_key:
500
534
  specification_version: 3
501
535
  summary: Documentation tool for consistent and usable documentation in Ruby.
502
536
  test_files: []
503
537
 
504
- has_rdoc: yard