yard 0.7.5 → 0.8.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 (339) hide show
  1. data/.yardopts +10 -2
  2. data/ChangeLog +1263 -38
  3. data/LEGAL +5 -5
  4. data/LICENSE +1 -1
  5. data/README.md +91 -82
  6. data/Rakefile +6 -6
  7. data/benchmarks/builtins_vs_eval.rb +1 -1
  8. data/benchmarks/erb_vs_erubis.rb +4 -4
  9. data/benchmarks/generation.rb +5 -5
  10. data/benchmarks/parsing.rb +2 -2
  11. data/benchmarks/registry_store_types.rb +48 -0
  12. data/bin/yard +9 -1
  13. data/bin/yardoc +9 -1
  14. data/bin/yri +10 -2
  15. data/docs/CodeObjects.md +10 -10
  16. data/docs/GettingStarted.md +85 -83
  17. data/docs/Handlers.md +21 -21
  18. data/docs/Overview.md +7 -7
  19. data/docs/Parser.md +30 -30
  20. data/docs/Tags.md +250 -554
  21. data/docs/TagsArch.md +123 -0
  22. data/docs/Templates.md +58 -80
  23. data/docs/WhatsNew.md +378 -133
  24. data/docs/templates/default/fulldoc/html/full_list_tag.erb +7 -0
  25. data/docs/templates/default/fulldoc/html/setup.rb +6 -0
  26. data/docs/templates/default/layout/html/setup.rb +8 -0
  27. data/docs/templates/default/layout/html/tag_list.erb +11 -0
  28. data/docs/templates/default/yard_tags/html/list.erb +18 -0
  29. data/docs/templates/default/yard_tags/html/setup.rb +27 -0
  30. data/docs/templates/plugin.rb +65 -0
  31. data/lib/yard.rb +1 -10
  32. data/lib/yard/autoload.rb +75 -27
  33. data/lib/yard/cli/command.rb +5 -2
  34. data/lib/yard/cli/command_parser.rb +3 -2
  35. data/lib/yard/cli/diff.rb +1 -1
  36. data/lib/yard/cli/i18n.rb +69 -0
  37. data/lib/yard/cli/list.rb +1 -1
  38. data/lib/yard/cli/server.rb +30 -7
  39. data/lib/yard/cli/stats.rb +5 -6
  40. data/lib/yard/cli/yardoc.rb +95 -45
  41. data/lib/yard/cli/yri.rb +24 -3
  42. data/lib/yard/code_objects/base.rb +35 -4
  43. data/lib/yard/code_objects/extra_file_object.rb +1 -1
  44. data/lib/yard/code_objects/macro_object.rb +56 -99
  45. data/lib/yard/code_objects/method_object.rb +44 -6
  46. data/lib/yard/config.rb +18 -8
  47. data/lib/yard/core_ext/symbol_hash.rb +1 -1
  48. data/lib/yard/docstring.rb +45 -85
  49. data/lib/yard/docstring_parser.rb +269 -0
  50. data/lib/yard/handlers/base.rb +129 -118
  51. data/lib/yard/handlers/c/alias_handler.rb +15 -0
  52. data/lib/yard/handlers/c/attribute_handler.rb +13 -0
  53. data/lib/yard/handlers/c/base.rb +110 -0
  54. data/lib/yard/handlers/c/class_handler.rb +26 -0
  55. data/lib/yard/handlers/c/constant_handler.rb +12 -0
  56. data/lib/yard/handlers/c/handler_methods.rb +165 -0
  57. data/lib/yard/handlers/c/init_handler.rb +16 -0
  58. data/lib/yard/handlers/c/method_handler.rb +35 -0
  59. data/lib/yard/handlers/c/mixin_handler.rb +13 -0
  60. data/lib/yard/handlers/c/module_handler.rb +16 -0
  61. data/lib/yard/handlers/c/override_comment_handler.rb +22 -0
  62. data/lib/yard/handlers/c/path_handler.rb +10 -0
  63. data/lib/yard/handlers/c/struct_handler.rb +12 -0
  64. data/lib/yard/handlers/c/symbol_handler.rb +7 -0
  65. data/lib/yard/handlers/processor.rb +41 -30
  66. data/lib/yard/handlers/ruby/alias_handler.rb +0 -2
  67. data/lib/yard/handlers/ruby/attribute_handler.rb +16 -17
  68. data/lib/yard/handlers/ruby/base.rb +10 -6
  69. data/lib/yard/handlers/ruby/comment_handler.rb +9 -0
  70. data/lib/yard/handlers/ruby/dsl_handler.rb +14 -0
  71. data/lib/yard/handlers/ruby/dsl_handler_methods.rb +71 -0
  72. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +0 -3
  73. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +16 -17
  74. data/lib/yard/handlers/ruby/legacy/base.rb +28 -6
  75. data/lib/yard/handlers/ruby/legacy/comment_handler.rb +9 -0
  76. data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +16 -0
  77. data/lib/yard/handlers/ruby/legacy/method_handler.rb +0 -2
  78. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +1 -1
  79. data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +18 -0
  80. data/lib/yard/handlers/ruby/method_handler.rb +10 -15
  81. data/lib/yard/handlers/ruby/mixin_handler.rb +1 -1
  82. data/lib/yard/handlers/ruby/module_function_handler.rb +26 -0
  83. data/lib/yard/handlers/ruby/struct_handler_methods.rb +3 -2
  84. data/lib/yard/i18n/pot_generator.rb +281 -0
  85. data/lib/yard/i18n/text.rb +72 -0
  86. data/lib/yard/logging.rb +3 -7
  87. data/lib/yard/options.rb +216 -0
  88. data/lib/yard/parser/c/c_parser.rb +225 -0
  89. data/lib/yard/parser/c/comment_parser.rb +131 -0
  90. data/lib/yard/parser/c/statement.rb +63 -0
  91. data/lib/yard/parser/ruby/ast_node.rb +91 -1
  92. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +1 -0
  93. data/lib/yard/parser/ruby/legacy/statement.rb +7 -2
  94. data/lib/yard/parser/ruby/legacy/statement_list.rb +13 -22
  95. data/lib/yard/parser/ruby/ruby_parser.rb +87 -26
  96. data/lib/yard/parser/source_parser.rb +89 -88
  97. data/lib/yard/rake/yardoc_task.rb +1 -1
  98. data/lib/yard/registry.rb +21 -10
  99. data/lib/yard/registry_store.rb +48 -0
  100. data/lib/yard/serializers/file_system_serializer.rb +18 -20
  101. data/lib/yard/serializers/yardoc_serializer.rb +1 -0
  102. data/lib/yard/server/adapter.rb +2 -2
  103. data/lib/yard/server/commands/base.rb +1 -1
  104. data/lib/yard/server/commands/display_object_command.rb +13 -6
  105. data/lib/yard/server/commands/frames_command.rb +4 -21
  106. data/lib/yard/server/commands/library_command.rb +57 -11
  107. data/lib/yard/server/commands/list_command.rb +10 -34
  108. data/lib/yard/server/commands/search_command.rb +8 -2
  109. data/lib/yard/server/doc_server_helper.rb +34 -0
  110. data/lib/yard/server/rack_adapter.rb +5 -1
  111. data/lib/yard/server/router.rb +4 -10
  112. data/lib/yard/server/static_caching.rb +2 -2
  113. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +2 -2
  114. data/lib/yard/server/templates/default/fulldoc/html/js/live.js +0 -15
  115. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +3 -3
  116. data/lib/yard/server/templates/default/layout/html/script_setup.erb +8 -0
  117. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +1 -1
  118. data/lib/yard/server/templates/doc_server/search/html/setup.rb +1 -1
  119. data/lib/yard/tags/default_factory.rb +31 -4
  120. data/lib/yard/tags/directives.rb +593 -0
  121. data/lib/yard/tags/library.rb +437 -35
  122. data/lib/yard/templates/engine.rb +17 -12
  123. data/lib/yard/templates/helpers/base_helper.rb +8 -2
  124. data/lib/yard/templates/helpers/html_helper.rb +57 -14
  125. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +1 -1
  126. data/lib/yard/templates/helpers/markup_helper.rb +9 -9
  127. data/lib/yard/templates/helpers/text_helper.rb +2 -2
  128. data/lib/yard/templates/template.rb +42 -13
  129. data/lib/yard/templates/template_options.rb +81 -0
  130. data/spec/cli/command_parser_spec.rb +4 -4
  131. data/spec/cli/command_spec.rb +3 -3
  132. data/spec/cli/config_spec.rb +13 -13
  133. data/spec/cli/diff_spec.rb +13 -10
  134. data/spec/cli/gems_spec.rb +12 -12
  135. data/spec/cli/help_spec.rb +2 -2
  136. data/spec/cli/i18n_spec.rb +111 -0
  137. data/spec/cli/server_spec.rb +66 -18
  138. data/spec/cli/stats_spec.rb +15 -15
  139. data/spec/cli/yardoc_spec.rb +124 -97
  140. data/spec/cli/yri_spec.rb +14 -12
  141. data/spec/code_objects/base_spec.rb +104 -46
  142. data/spec/code_objects/class_object_spec.rb +33 -33
  143. data/spec/code_objects/code_object_list_spec.rb +5 -5
  144. data/spec/code_objects/constants_spec.rb +4 -3
  145. data/spec/code_objects/extra_file_object_spec.rb +19 -19
  146. data/spec/code_objects/macro_object_spec.rb +31 -37
  147. data/spec/code_objects/method_object_spec.rb +46 -23
  148. data/spec/code_objects/module_object_spec.rb +16 -16
  149. data/spec/code_objects/namespace_object_spec.rb +6 -6
  150. data/spec/code_objects/proxy_spec.rb +19 -19
  151. data/spec/config_spec.rb +33 -24
  152. data/spec/core_ext/array_spec.rb +1 -1
  153. data/spec/core_ext/file_spec.rb +8 -8
  154. data/spec/core_ext/hash_spec.rb +1 -1
  155. data/spec/core_ext/insertion_spec.rb +3 -3
  156. data/spec/core_ext/module_spec.rb +1 -1
  157. data/spec/core_ext/string_spec.rb +6 -6
  158. data/spec/core_ext/symbol_hash_spec.rb +11 -11
  159. data/spec/docstring_parser_spec.rb +207 -0
  160. data/spec/docstring_spec.rb +33 -146
  161. data/spec/handlers/alias_handler_spec.rb +14 -14
  162. data/spec/handlers/attribute_handler_spec.rb +20 -20
  163. data/spec/handlers/base_spec.rb +16 -16
  164. data/spec/handlers/c/alias_handler_spec.rb +33 -0
  165. data/spec/handlers/c/attribute_handler_spec.rb +40 -0
  166. data/spec/handlers/c/class_handler_spec.rb +64 -0
  167. data/spec/handlers/c/constant_handler_spec.rb +68 -0
  168. data/spec/handlers/c/init_handler_spec.rb +36 -0
  169. data/spec/handlers/c/method_handler_spec.rb +228 -0
  170. data/spec/handlers/c/mixin_handler_spec.rb +27 -0
  171. data/spec/handlers/c/module_handler_spec.rb +38 -0
  172. data/spec/handlers/c/override_comment_handler_spec.rb +43 -0
  173. data/spec/handlers/c/path_handler_spec.rb +35 -0
  174. data/spec/handlers/c/spec_helper.rb +11 -0
  175. data/spec/handlers/c/struct_handler_spec.rb +15 -0
  176. data/spec/handlers/class_condition_handler_spec.rb +10 -10
  177. data/spec/handlers/class_handler_spec.rb +38 -38
  178. data/spec/handlers/class_variable_handler_spec.rb +1 -1
  179. data/spec/handlers/constant_handler_spec.rb +7 -7
  180. data/spec/handlers/{macro_handler_spec.rb → dsl_handler_spec.rb} +72 -53
  181. data/spec/handlers/examples/alias_handler_001.rb.txt +5 -5
  182. data/spec/handlers/examples/class_condition_handler_001.rb.txt +9 -9
  183. data/spec/handlers/examples/class_handler_001.rb.txt +1 -1
  184. data/spec/handlers/examples/dsl_handler_001.rb.txt +110 -0
  185. data/spec/handlers/examples/exception_handler_001.rb.txt +14 -14
  186. data/spec/handlers/examples/method_condition_handler_001.rb.txt +2 -2
  187. data/spec/handlers/examples/method_handler_001.rb.txt +16 -16
  188. data/spec/handlers/examples/mixin_handler_001.rb.txt +8 -4
  189. data/spec/handlers/examples/private_constant_handler_001.rb.txt +1 -1
  190. data/spec/handlers/examples/visibility_handler_001.rb.txt +3 -3
  191. data/spec/handlers/examples/yield_handler_001.rb.txt +13 -14
  192. data/spec/handlers/exception_handler_spec.rb +9 -9
  193. data/spec/handlers/extend_handler_spec.rb +2 -2
  194. data/spec/handlers/legacy_base_spec.rb +34 -34
  195. data/spec/handlers/method_condition_handler_spec.rb +2 -2
  196. data/spec/handlers/method_handler_spec.rb +33 -33
  197. data/spec/handlers/mixin_handler_spec.rb +13 -9
  198. data/spec/handlers/module_function_handler_spec.rb +82 -0
  199. data/spec/handlers/module_handler_spec.rb +6 -6
  200. data/spec/handlers/private_constant_handler_spec.rb +3 -3
  201. data/spec/handlers/processor_spec.rb +5 -5
  202. data/spec/handlers/ruby/base_spec.rb +10 -6
  203. data/spec/handlers/ruby/legacy/base_spec.rb +11 -7
  204. data/spec/handlers/spec_helper.rb +2 -3
  205. data/spec/handlers/visibility_handler_spec.rb +6 -6
  206. data/spec/handlers/yield_handler_spec.rb +8 -8
  207. data/spec/i18n/pot_generator_spec.rb +244 -0
  208. data/spec/i18n/text_spec.rb +69 -0
  209. data/spec/options_spec.rb +160 -0
  210. data/spec/parser/base_spec.rb +3 -3
  211. data/spec/parser/c_parser_spec.rb +31 -257
  212. data/spec/parser/examples/array.c.txt +187 -187
  213. data/spec/parser/examples/extrafile.c.txt +1 -1
  214. data/spec/parser/examples/override.c.txt +1 -1
  215. data/spec/parser/ruby/ast_node_spec.rb +1 -1
  216. data/spec/parser/ruby/legacy/statement_list_spec.rb +24 -24
  217. data/spec/parser/ruby/legacy/token_list_spec.rb +7 -7
  218. data/spec/parser/ruby/ruby_parser_spec.rb +56 -34
  219. data/spec/parser/source_parser_spec.rb +125 -65
  220. data/spec/parser/tag_parsing_spec.rb +4 -4
  221. data/spec/rake/yardoc_task_spec.rb +10 -8
  222. data/spec/registry_spec.rb +65 -36
  223. data/spec/registry_store_spec.rb +90 -40
  224. data/spec/serializers/file_system_serializer_spec.rb +12 -12
  225. data/spec/serializers/yardoc_serializer_spec.rb +2 -2
  226. data/spec/server/adapter_spec.rb +3 -3
  227. data/spec/server/commands/base_spec.rb +8 -8
  228. data/spec/server/commands/library_command_spec.rb +3 -3
  229. data/spec/server/commands/static_file_command_spec.rb +7 -7
  230. data/spec/server/doc_server_helper_spec.rb +1 -1
  231. data/spec/server/doc_server_serializer_spec.rb +6 -6
  232. data/spec/server/rack_adapter_spec.rb +3 -3
  233. data/spec/server/router_spec.rb +19 -19
  234. data/spec/server/static_caching_spec.rb +4 -4
  235. data/spec/spec_helper.rb +7 -7
  236. data/spec/tags/default_factory_spec.rb +24 -16
  237. data/spec/tags/directives_spec.rb +422 -0
  238. data/spec/tags/library_spec.rb +15 -4
  239. data/spec/tags/overload_tag_spec.rb +6 -6
  240. data/spec/tags/ref_tag_list_spec.rb +8 -8
  241. data/spec/templates/class_spec.rb +7 -7
  242. data/spec/templates/constant_spec.rb +7 -7
  243. data/spec/templates/engine_spec.rb +28 -36
  244. data/spec/templates/examples/class001.html +108 -108
  245. data/spec/templates/examples/class002.html +17 -17
  246. data/spec/templates/examples/constant001.txt +1 -1
  247. data/spec/templates/examples/method001.html +45 -45
  248. data/spec/templates/examples/method002.html +25 -25
  249. data/spec/templates/examples/method003.html +60 -60
  250. data/spec/templates/examples/method004.html +7 -7
  251. data/spec/templates/examples/method005.html +28 -28
  252. data/spec/templates/examples/module001.html +321 -321
  253. data/spec/templates/examples/module001.txt +1 -1
  254. data/spec/templates/examples/module002.html +130 -130
  255. data/spec/templates/examples/module003.html +74 -74
  256. data/spec/templates/examples/module004.html +388 -0
  257. data/spec/templates/helpers/base_helper_spec.rb +32 -32
  258. data/spec/templates/helpers/html_helper_spec.rb +87 -68
  259. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +9 -9
  260. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +16 -16
  261. data/spec/templates/helpers/markup_helper_spec.rb +31 -28
  262. data/spec/templates/helpers/method_helper_spec.rb +7 -7
  263. data/spec/templates/helpers/shared_signature_examples.rb +9 -7
  264. data/spec/templates/helpers/text_helper_spec.rb +3 -3
  265. data/spec/templates/method_spec.rb +13 -13
  266. data/spec/templates/module_spec.rb +70 -24
  267. data/spec/templates/onefile_spec.rb +32 -15
  268. data/spec/templates/section_spec.rb +23 -23
  269. data/spec/templates/spec_helper.rb +31 -1
  270. data/spec/templates/tag_spec.rb +5 -5
  271. data/spec/templates/template_spec.rb +54 -46
  272. data/spec/verifier_spec.rb +5 -5
  273. data/templates/default/class/setup.rb +2 -2
  274. data/templates/default/docstring/html/abstract.erb +1 -1
  275. data/templates/default/docstring/html/note.erb +1 -1
  276. data/templates/default/docstring/html/private.erb +1 -1
  277. data/templates/default/docstring/html/todo.erb +1 -1
  278. data/templates/default/docstring/setup.rb +2 -2
  279. data/templates/default/fulldoc/html/css/full_list.css +4 -2
  280. data/templates/default/fulldoc/html/css/style.css +50 -44
  281. data/templates/default/fulldoc/html/frames.erb +21 -6
  282. data/templates/default/fulldoc/html/full_list.erb +5 -3
  283. data/templates/default/fulldoc/html/{full_list_files.erb → full_list_file.erb} +0 -0
  284. data/templates/default/fulldoc/html/js/app.js +29 -26
  285. data/templates/default/fulldoc/html/js/full_list.js +9 -9
  286. data/templates/default/fulldoc/html/js/jquery.js +4 -16
  287. data/templates/default/fulldoc/html/setup.rb +42 -38
  288. data/templates/default/layout/dot/header.erb +1 -1
  289. data/templates/default/layout/html/breadcrumb.erb +6 -6
  290. data/templates/default/layout/html/files.erb +1 -1
  291. data/templates/default/layout/html/footer.erb +1 -1
  292. data/templates/default/layout/html/headers.erb +3 -6
  293. data/templates/default/layout/html/index.erb +1 -1
  294. data/templates/default/layout/html/layout.erb +3 -7
  295. data/templates/default/layout/html/objects.erb +1 -1
  296. data/templates/default/layout/html/script_setup.erb +5 -0
  297. data/templates/default/layout/html/search.erb +4 -1
  298. data/templates/default/layout/html/setup.rb +8 -8
  299. data/templates/default/method_details/html/method_signature.erb +10 -3
  300. data/templates/default/method_details/setup.rb +1 -0
  301. data/templates/default/module/dot/info.erb +1 -1
  302. data/templates/default/module/dot/setup.rb +2 -2
  303. data/templates/default/module/html/attribute_details.erb +1 -1
  304. data/templates/default/module/html/children.erb +1 -1
  305. data/templates/default/module/html/defines.erb +1 -1
  306. data/templates/default/module/html/inherited_methods.erb +5 -4
  307. data/templates/default/module/html/item_summary.erb +15 -5
  308. data/templates/default/module/html/method_details_list.erb +2 -2
  309. data/templates/default/module/setup.rb +25 -12
  310. data/templates/default/module/text/setup.rb +1 -1
  311. data/templates/default/onefile/html/layout.erb +1 -1
  312. data/templates/default/onefile/html/setup.rb +2 -2
  313. data/templates/default/tags/html/example.erb +4 -2
  314. data/templates/default/tags/html/option.erb +1 -1
  315. data/templates/default/tags/html/overload.erb +1 -1
  316. data/templates/default/tags/html/see.erb +1 -1
  317. data/templates/default/tags/html/tag.erb +1 -1
  318. data/templates/default/tags/setup.rb +4 -3
  319. data/templates/guide/fulldoc/html/css/style.css +8 -8
  320. data/templates/guide/fulldoc/html/js/app.js +6 -6
  321. data/templates/guide/fulldoc/html/setup.rb +12 -12
  322. data/templates/guide/layout/html/layout.erb +11 -11
  323. data/templates/guide/layout/html/setup.rb +9 -9
  324. data/templates/guide/method/html/header.erb +2 -2
  325. data/templates/guide/method/html/setup.rb +1 -1
  326. metadata +68 -18
  327. data/bin/yard-graph +0 -4
  328. data/bin/yard-server +0 -4
  329. data/docs/Glossary.md +0 -12
  330. data/lib/yard/handlers/ruby/legacy/macro_handler.rb +0 -39
  331. data/lib/yard/handlers/ruby/macro_handler.rb +0 -40
  332. data/lib/yard/handlers/ruby/macro_handler_methods.rb +0 -131
  333. data/lib/yard/parser/c_parser.rb +0 -497
  334. data/lib/yard/server/templates/default/layout/html/headers.erb +0 -16
  335. data/lib/yard/server/templates/doc_server/frames/html/frames.erb +0 -13
  336. data/lib/yard/server/templates/doc_server/frames/html/setup.rb +0 -3
  337. data/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +0 -34
  338. data/lib/yard/server/templates/doc_server/full_list/html/setup.rb +0 -20
  339. data/spec/handlers/examples/macro_handler_001.rb.txt +0 -83
@@ -0,0 +1,388 @@
1
+ <h1>Class: A
2
+
3
+
4
+
5
+ </h1>
6
+
7
+ <dl class="box">
8
+
9
+ <dt class="r1">Inherits:</dt>
10
+ <dd class="r1">
11
+ <span class="inheritName">Object</span>
12
+
13
+ <ul class="fullTree">
14
+ <li>Object</li>
15
+
16
+ <li class="next">A</li>
17
+
18
+ </ul>
19
+ <a href="#" class="inheritanceTree">show all</a>
20
+
21
+ </dd>
22
+
23
+
24
+
25
+
26
+ <dt class="r2">Extended by:</dt>
27
+ <dd class="r2">Bar</dd>
28
+
29
+
30
+
31
+
32
+ <dt class="r1">Includes:</dt>
33
+ <dd class="r1">BarFooBar, Baz::ABC, Baz::XYZ, Foo</dd>
34
+
35
+
36
+
37
+
38
+
39
+ <dt class="r2 last">Defined in:</dt>
40
+ <dd class="r2 last">(stdin)</dd>
41
+
42
+ </dl>
43
+ <div class="clear"></div>
44
+
45
+
46
+
47
+
48
+
49
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
50
+ <ul class="summary">
51
+
52
+ <li class="public ">
53
+ <span class="summary_signature">
54
+
55
+ <a title="#bar_attr (instance method)">- <strong>bar_attr</strong> </a>
56
+
57
+
58
+
59
+ </span>
60
+
61
+ <span class="note title not_defined_here">
62
+ included
63
+ from Foo
64
+ </span>
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ <span class="summary_desc"><div class='inline'>Docs for bar_attr.</div></span>
78
+
79
+ </li>
80
+
81
+
82
+ </ul>
83
+
84
+
85
+
86
+
87
+
88
+ <h2>
89
+ Booya
90
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
91
+ </h2>
92
+
93
+ <ul class="summary">
94
+
95
+ <li class="public ">
96
+ <span class="summary_signature">
97
+
98
+ <a title="#baz (class method)">+ <strong>baz</strong> </a>
99
+
100
+
101
+
102
+ </span>
103
+
104
+ <span class="note title not_defined_here">
105
+ extended
106
+ from Bar
107
+ </span>
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ <span class="summary_desc"><div class='inline'>Docs for baz in Booya group.</div></span>
118
+
119
+ </li>
120
+
121
+
122
+ <li class="public ">
123
+ <span class="summary_signature">
124
+
125
+ <a title="#baz_abc (instance method)">- <strong>baz_abc</strong> </a>
126
+
127
+
128
+
129
+ </span>
130
+
131
+ <span class="note title not_defined_here">
132
+ included
133
+ from Baz::ABC
134
+ </span>
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ <span class="summary_desc"><div class='inline'></div></span>
145
+
146
+ </li>
147
+
148
+
149
+ </ul>
150
+
151
+ <h2>
152
+ Instance Method Summary
153
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
154
+ </h2>
155
+
156
+ <ul class="summary">
157
+
158
+ <li class="public ">
159
+ <span class="summary_signature">
160
+
161
+ <a title="#foo (instance method)">- <strong>foo</strong> </a>
162
+
163
+
164
+
165
+ </span>
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'>This method is in A.</div></span>
176
+
177
+ </li>
178
+
179
+
180
+ <li class="public ">
181
+ <span class="summary_signature">
182
+
183
+ <a title="#xyz (instance method)">- <strong>xyz</strong> </a>
184
+
185
+
186
+
187
+ </span>
188
+
189
+ <span class="note title not_defined_here">
190
+ included
191
+ from Foo
192
+ </span>
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <span class="summary_desc"><div class='inline'>Docs for xyz.</div></span>
203
+
204
+ </li>
205
+
206
+
207
+ </ul>
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+ <h3 class="inherited">Methods included from Baz::XYZ</h3>
224
+ <p class="inherited">#baz_xyz</p>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ <h3 class="inherited">Methods included from BarFooBar</h3>
235
+ <p class="inherited">#bar_foo_bar</p>
236
+
237
+
238
+
239
+ <div id="instance_attr_details" class="attr_details">
240
+ <h2>Instance Attribute Details</h2>
241
+
242
+
243
+ <span id="bar_attr=-instance_method"></span>
244
+ <span id="bar_attr-instance_method"></span>
245
+ <div class="method_details first">
246
+ <h3 class="signature first" id="bar_attr-instance_method">
247
+
248
+ - <strong>bar_attr</strong>
249
+
250
+
251
+
252
+
253
+
254
+ <span class="not_defined_here">
255
+ Originally defined in module
256
+ Foo
257
+ </span>
258
+
259
+ </h3><div class="docstring">
260
+ <div class="discussion">
261
+ Docs for bar_attr
262
+
263
+ </div>
264
+ </div>
265
+ <div class="tags">
266
+
267
+
268
+ </div>
269
+ </div>
270
+
271
+ </div>
272
+
273
+
274
+ <div id="class_method_details" class="method_details_list">
275
+ <h2>Class Method Details</h2>
276
+
277
+
278
+ <div class="method_details first">
279
+ <h3 class="signature first" id="baz-class_method">
280
+
281
+ + <strong>baz</strong>
282
+
283
+
284
+
285
+
286
+
287
+ <span class="not_defined_here">
288
+ Originally defined in module
289
+ Bar
290
+ </span>
291
+
292
+ </h3><div class="docstring">
293
+ <div class="discussion">
294
+ Docs for baz in Booya group
295
+
296
+ </div>
297
+ </div>
298
+ <div class="tags">
299
+
300
+
301
+ </div>
302
+ </div>
303
+
304
+ </div>
305
+
306
+ <div id="instance_method_details" class="method_details_list">
307
+ <h2>Instance Method Details</h2>
308
+
309
+
310
+ <div class="method_details first">
311
+ <h3 class="signature first" id="baz_abc-instance_method">
312
+
313
+ - <strong>baz_abc</strong>
314
+
315
+
316
+
317
+
318
+
319
+ <span class="not_defined_here">
320
+ Originally defined in module
321
+ Baz::ABC
322
+ </span>
323
+
324
+ </h3>
325
+ </div>
326
+
327
+ <div class="method_details ">
328
+ <h3 class="signature " id="foo-instance_method">
329
+
330
+ - <strong>foo</strong>
331
+
332
+
333
+
334
+
335
+
336
+ </h3><div class="docstring">
337
+ <div class="discussion">
338
+ This method is in A
339
+
340
+ </div>
341
+ </div>
342
+ <div class="tags">
343
+
344
+
345
+ </div><table class="source_code">
346
+ <tr>
347
+ <td>
348
+ <pre class="lines">
349
+
350
+
351
+ 3</pre>
352
+ </td>
353
+ <td>
354
+ <pre class="code"><span class="info file"># File '(stdin)', line 3</span>
355
+
356
+ def foo; end</pre>
357
+ </td>
358
+ </tr>
359
+ </table>
360
+ </div>
361
+
362
+ <div class="method_details ">
363
+ <h3 class="signature " id="xyz-instance_method">
364
+
365
+ - <strong>xyz</strong>
366
+
367
+
368
+
369
+
370
+
371
+ <span class="not_defined_here">
372
+ Originally defined in module
373
+ Foo
374
+ </span>
375
+
376
+ </h3><div class="docstring">
377
+ <div class="discussion">
378
+ Docs for xyz
379
+
380
+ </div>
381
+ </div>
382
+ <div class="tags">
383
+
384
+
385
+ </div>
386
+ </div>
387
+
388
+ </div>
@@ -2,142 +2,142 @@ require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
3
  describe YARD::Templates::Helpers::BaseHelper do
4
4
  include YARD::Templates::Helpers::BaseHelper
5
-
5
+
6
6
  describe '#run_verifier' do
7
7
  it "should run verifier proc against list if provided" do
8
8
  mock = Verifier.new
9
9
  mock.should_receive(:call).with(1)
10
10
  mock.should_receive(:call).with(2)
11
11
  mock.should_receive(:call).with(3)
12
- should_receive(:options).at_least(1).times.and_return(:verifier => mock)
13
- run_verifier [1, 2, 3]
12
+ should_receive(:options).at_least(1).times.and_return(Options.new.update(:verifier => mock))
13
+ run_verifier [1, 2, 3]
14
14
  end
15
-
15
+
16
16
  it "should prune list if lambda returns false and only false" do
17
17
  mock = Verifier.new
18
- should_receive(:options).at_least(1).times.and_return(:verifier => mock)
18
+ should_receive(:options).at_least(1).times.and_return(Options.new.update(:verifier => mock))
19
19
  mock.should_receive(:call).with(1).and_return(false)
20
20
  mock.should_receive(:call).with(2).and_return(true)
21
21
  mock.should_receive(:call).with(3).and_return(nil)
22
22
  mock.should_receive(:call).with(4).and_return("value")
23
23
  run_verifier([1, 2, 3, 4]).should == [2, 3, 4]
24
24
  end
25
-
25
+
26
26
  it "should return list if no verifier exists" do
27
- should_receive(:options).at_least(1).times.and_return({})
27
+ should_receive(:options).at_least(1).times.and_return(Options.new)
28
28
  run_verifier([1, 2, 3]).should == [1, 2, 3]
29
29
  end
30
30
  end
31
-
31
+
32
32
  describe '#h' do
33
33
  it "should return just the text" do
34
34
  h("hello world").should == "hello world"
35
35
  h(nil).should == nil
36
36
  end
37
37
  end
38
-
38
+
39
39
  describe '#link_object' do
40
40
  it "should return the title if provided" do
41
41
  link_object(1, "title").should == "title"
42
42
  link_object(Registry.root, "title").should == "title"
43
43
  end
44
-
44
+
45
45
  it "should return a path if argument is a Proxy or object" do
46
46
  link_object(Registry.root).should == ""
47
47
  link_object(P("Array")).should == "Array"
48
48
  end
49
-
49
+
50
50
  it "should should return path of Proxified object if argument is a String or Symbol" do
51
51
  link_object("Array").should == "Array"
52
52
  link_object(:"A::B").should == "A::B"
53
53
  end
54
-
54
+
55
55
  it "should return the argument if not an object, proxy, String or Symbol" do
56
56
  link_object(1).should == 1
57
57
  end
58
58
  end
59
-
59
+
60
60
  describe '#link_url' do
61
61
  it "should return the URL" do
62
62
  link_url("http://url").should == "http://url"
63
63
  end
64
64
  end
65
-
65
+
66
66
  describe '#linkify' do
67
67
  before do
68
68
  stub!(:object).and_return(Registry.root)
69
69
  end
70
-
70
+
71
71
  it "should call #link_url for mailto: links" do
72
72
  should_receive(:link_url)
73
73
  linkify("mailto:steve@example.com")
74
74
  end
75
-
75
+
76
76
  it "should call #link_url for URL schemes (http://)" do
77
77
  should_receive(:link_url)
78
78
  linkify("http://example.com")
79
79
  end
80
-
80
+
81
81
  it "should call #link_file for file: links" do
82
82
  should_receive(:link_file).with('Filename', nil, 'anchor')
83
83
  linkify("file:Filename#anchor")
84
84
  end
85
-
85
+
86
86
  it "should pass off to #link_object if argument is an object" do
87
87
  obj = CodeObjects::NamespaceObject.new(nil, :YARD)
88
88
  should_receive(:link_object).with(obj)
89
89
  linkify obj
90
90
  end
91
-
91
+
92
92
  it "should return empty string and warn if object does not exist" do
93
93
  log.should_receive(:warn).with(/Cannot find object .* for inclusion/)
94
94
  linkify('include:NotExist').should == ''
95
95
  end
96
-
96
+
97
97
  it "should pass off to #link_url if argument is recognized as a URL" do
98
98
  url = "http://yardoc.org/"
99
99
  should_receive(:link_url).with(url, nil, {:target => '_parent'})
100
100
  linkify url
101
101
  end
102
-
102
+
103
103
  it "should call #link_include_object for include:ObjectName" do
104
104
  obj = CodeObjects::NamespaceObject.new(:root, :Foo)
105
105
  should_receive(:link_include_object).with(obj)
106
106
  linkify 'include:Foo'
107
107
  end
108
-
108
+
109
109
  it "should call #link_include_file for include:file:path/to/file" do
110
110
  File.should_receive(:file?).with('path/to/file').and_return(true)
111
111
  File.should_receive(:read).with('path/to/file').and_return('FOO')
112
112
  linkify('include:file:path/to/file').should == 'FOO'
113
113
  end
114
-
114
+
115
115
  it "should not allow include:file for path above pwd" do
116
116
  log.should_receive(:warn).with("Cannot include file from path `a/b/../../../../file'")
117
117
  linkify('include:file:a/b/../../../../file').should == ''
118
118
  end
119
-
119
+
120
120
  it "should warn if include:file:path does not exist" do
121
121
  log.should_receive(:warn).with(/Cannot find file .+ for inclusion/)
122
122
  linkify('include:file:notexist').should == ''
123
123
  end
124
124
  end
125
-
125
+
126
126
  describe '#format_types' do
127
127
  it "should return the list of types separated by commas surrounded by brackets" do
128
128
  format_types(['a', 'b', 'c']).should == '(a, b, c)'
129
129
  end
130
-
130
+
131
131
  it "should return the list of types without brackets if brackets=false" do
132
132
  format_types(['a', 'b', 'c'], false).should == 'a, b, c'
133
133
  end
134
-
134
+
135
135
  it "should should return an empty string if list is empty or nil" do
136
136
  format_types(nil).should == ""
137
137
  format_types([]).should == ""
138
138
  end
139
139
  end
140
-
140
+
141
141
  describe '#format_object_type' do
142
142
  it "should return Exception if type is Exception" do
143
143
  obj = mock(:object)
@@ -145,26 +145,26 @@ describe YARD::Templates::Helpers::BaseHelper do
145
145
  obj.stub!(:is_exception?).and_return(true)
146
146
  format_object_type(obj).should == "Exception"
147
147
  end
148
-
148
+
149
149
  it "should return Class if type is Class" do
150
150
  obj = mock(:object)
151
151
  obj.stub!(:is_a?).with(YARD::CodeObjects::ClassObject).and_return(true)
152
152
  obj.stub!(:is_exception?).and_return(false)
153
153
  format_object_type(obj).should == "Class"
154
154
  end
155
-
155
+
156
156
  it "should return object type in other cases" do
157
157
  obj = mock(:object)
158
158
  obj.stub!(:type).and_return("value")
159
159
  format_object_type(obj).should == "Value"
160
160
  end
161
161
  end
162
-
162
+
163
163
  describe '#format_object_title' do
164
164
  it "should return Top Level Namespace for root object" do
165
165
  format_object_title(Registry.root).should == "Top Level Namespace"
166
166
  end
167
-
167
+
168
168
  it "should return 'type: path' in other cases" do
169
169
  obj = mock(:object)
170
170
  obj.stub!(:type).and_return(:class)