yard 0.2.3.5 → 0.4.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 (365) hide show
  1. data/.yardopts +12 -10
  2. data/ChangeLog +5686 -0
  3. data/{README.markdown → README.md} +65 -11
  4. data/Rakefile +25 -13
  5. data/benchmarks/concat_vs_join.rb +12 -0
  6. data/benchmarks/erb_vs_erubis.rb +14 -14
  7. data/benchmarks/marshal_vs_dbm.rb +1 -1
  8. data/benchmarks/pathname_vs_string.rb +50 -0
  9. data/benchmarks/template_erb.rb +22 -0
  10. data/benchmarks/template_format.rb +6 -0
  11. data/benchmarks/template_profile.rb +17 -0
  12. data/bin/yri +16 -7
  13. data/docs/{CODE_OBJECTS.markdown → CodeObjects.md} +0 -0
  14. data/docs/{GETTING_STARTED.markdown → GettingStarted.md} +49 -11
  15. data/docs/{GLOSSARY.markdown → Glossary.md} +0 -0
  16. data/docs/{HANDLERS.markdown → Handlers.md} +5 -5
  17. data/docs/{OVERVIEW.markdown → Overview.md} +9 -13
  18. data/docs/{PARSER.markdown → Parser.md} +1 -1
  19. data/docs/{TAGS.markdown → Tags.md} +1 -1
  20. data/docs/Templates.md +286 -0
  21. data/docs/{WHATSNEW.markdown → WhatsNew.md} +82 -2
  22. data/lib/rubygems_plugin.rb +17 -20
  23. data/lib/yard.rb +47 -1
  24. data/lib/yard/autoload.rb +38 -47
  25. data/lib/yard/cli/yard_graph.rb +36 -13
  26. data/lib/yard/cli/yardoc.rb +74 -12
  27. data/lib/yard/code_objects/base.rb +182 -14
  28. data/lib/yard/code_objects/class_object.rb +39 -2
  29. data/lib/yard/code_objects/class_variable_object.rb +4 -0
  30. data/lib/yard/code_objects/constant_object.rb +8 -0
  31. data/lib/yard/code_objects/extended_method_object.rb +14 -0
  32. data/lib/yard/code_objects/method_object.rb +60 -2
  33. data/lib/yard/code_objects/module_object.rb +6 -0
  34. data/lib/yard/code_objects/namespace_object.rb +99 -2
  35. data/lib/yard/code_objects/proxy.rb +53 -6
  36. data/lib/yard/code_objects/root_object.rb +2 -0
  37. data/lib/yard/core_ext/array.rb +61 -0
  38. data/lib/yard/core_ext/file.rb +21 -4
  39. data/lib/yard/core_ext/module.rb +11 -1
  40. data/lib/yard/core_ext/string.rb +13 -2
  41. data/lib/yard/core_ext/symbol_hash.rb +51 -3
  42. data/lib/yard/docstring.rb +68 -19
  43. data/lib/yard/globals.rb +5 -2
  44. data/lib/yard/handlers/base.rb +13 -3
  45. data/lib/yard/handlers/processor.rb +64 -2
  46. data/lib/yard/handlers/ruby/class_handler.rb +1 -1
  47. data/lib/yard/handlers/ruby/class_variable_handler.rb +5 -1
  48. data/lib/yard/handlers/ruby/constant_handler.rb +38 -4
  49. data/lib/yard/handlers/ruby/exception_handler.rb +1 -0
  50. data/lib/yard/handlers/ruby/legacy/base.rb +2 -2
  51. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +6 -3
  52. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +21 -2
  53. data/lib/yard/handlers/ruby/legacy/method_handler.rb +10 -0
  54. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +2 -1
  55. data/lib/yard/handlers/ruby/method_handler.rb +10 -0
  56. data/lib/yard/handlers/ruby/yield_handler.rb +2 -1
  57. data/lib/yard/logging.rb +17 -0
  58. data/lib/yard/parser/ruby/ast_node.rb +101 -0
  59. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +2 -2
  60. data/lib/yard/parser/ruby/legacy/statement_list.rb +10 -9
  61. data/lib/yard/parser/ruby/ruby_parser.rb +32 -3
  62. data/lib/yard/parser/source_parser.rb +82 -5
  63. data/lib/yard/rake/yardoc_task.rb +38 -3
  64. data/lib/yard/registry.rb +112 -2
  65. data/lib/yard/serializers/base.rb +48 -1
  66. data/lib/yard/serializers/file_system_serializer.rb +23 -2
  67. data/lib/yard/serializers/process_serializer.rb +10 -0
  68. data/lib/yard/serializers/stdout_serializer.rb +11 -0
  69. data/lib/yard/tags/library.rb +4 -1
  70. data/lib/yard/tags/overload_tag.rb +3 -12
  71. data/lib/yard/templates/engine.rb +162 -0
  72. data/lib/yard/{generators → templates}/helpers/base_helper.rb +14 -13
  73. data/lib/yard/{generators → templates}/helpers/filter_helper.rb +1 -1
  74. data/lib/yard/templates/helpers/html_helper.rb +287 -0
  75. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +29 -0
  76. data/lib/yard/templates/helpers/html_syntax_highlight_helper18.rb +27 -0
  77. data/lib/yard/{generators → templates}/helpers/markup_helper.rb +15 -11
  78. data/lib/yard/{generators → templates}/helpers/method_helper.rb +8 -1
  79. data/lib/yard/templates/helpers/module_helper.rb +15 -0
  80. data/lib/yard/templates/helpers/text_helper.rb +60 -0
  81. data/lib/yard/templates/helpers/uml_helper.rb +33 -0
  82. data/lib/yard/templates/template.rb +355 -0
  83. data/lib/yard/verifier.rb +110 -0
  84. data/spec/cli/yardoc_spec.rb +23 -1
  85. data/spec/code_objects/base_spec.rb +8 -0
  86. data/spec/code_objects/class_object_spec.rb +166 -156
  87. data/spec/code_objects/method_object_spec.rb +2 -2
  88. data/spec/code_objects/module_object_spec.rb +112 -110
  89. data/spec/code_objects/proxy_spec.rb +9 -0
  90. data/spec/core_ext/array_spec.rb +33 -0
  91. data/spec/core_ext/file_spec.rb +40 -12
  92. data/spec/core_ext/module_spec.rb +15 -0
  93. data/spec/core_ext/string_spec.rb +10 -2
  94. data/spec/docstring_spec.rb +157 -135
  95. data/spec/handlers/class_handler_spec.rb +3 -0
  96. data/spec/handlers/class_variable_handler_spec.rb +3 -1
  97. data/spec/handlers/constant_handler_spec.rb +38 -0
  98. data/spec/handlers/examples/class_handler_001.rb.txt +14 -1
  99. data/spec/handlers/examples/class_variable_handler_001.rb.txt +1 -0
  100. data/spec/handlers/examples/constant_handler_001.rb.txt +10 -1
  101. data/spec/handlers/examples/exception_handler_001.rb.txt +5 -0
  102. data/spec/handlers/examples/method_handler_001.rb.txt +15 -0
  103. data/spec/handlers/examples/mixin_handler_001.rb.txt +13 -0
  104. data/spec/handlers/exception_handler_spec.rb +4 -0
  105. data/spec/handlers/method_handler_spec.rb +22 -0
  106. data/spec/handlers/mixin_handler_spec.rb +5 -3
  107. data/spec/handlers/yield_handler_spec.rb +1 -1
  108. data/spec/parser/ruby/ast_node_spec.rb +16 -0
  109. data/spec/parser/ruby/legacy/statement_list_spec.rb +36 -0
  110. data/spec/parser/ruby/ruby_parser_spec.rb +80 -0
  111. data/spec/parser/source_parser_spec.rb +48 -2
  112. data/spec/rake/yardoc_task_spec.rb +62 -25
  113. data/spec/serializers/file_system_serializer_spec.rb +1 -1
  114. data/spec/templates/class_spec.rb +34 -0
  115. data/spec/templates/engine_spec.rb +121 -0
  116. data/spec/templates/examples/class001.html +271 -0
  117. data/spec/templates/examples/class001.txt +31 -0
  118. data/spec/templates/examples/method001.html +96 -0
  119. data/spec/templates/examples/method001.txt +28 -0
  120. data/spec/templates/examples/method002.html +81 -0
  121. data/spec/templates/examples/method002.txt +20 -0
  122. data/spec/templates/examples/method003.html +137 -0
  123. data/spec/templates/examples/method003.txt +45 -0
  124. data/spec/templates/examples/module001.dot +31 -0
  125. data/spec/templates/examples/module001.html +294 -0
  126. data/spec/templates/examples/module001.txt +33 -0
  127. data/spec/templates/examples/tag001.txt +82 -0
  128. data/spec/templates/helpers/base_helper_spec.rb +129 -0
  129. data/spec/{generators → templates}/helpers/html_helper_spec.rb +73 -16
  130. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +39 -0
  131. data/spec/{generators → templates}/helpers/markup_helper_spec.rb +6 -7
  132. data/spec/templates/method_spec.rb +75 -0
  133. data/spec/templates/module_spec.rb +50 -0
  134. data/spec/templates/spec_helper.rb +33 -0
  135. data/spec/templates/tag_spec.rb +39 -0
  136. data/spec/templates/template_spec.rb +398 -0
  137. data/spec/verifier_spec.rb +51 -0
  138. data/spec/yard_spec.rb +46 -0
  139. data/templates/default/class/dot/setup.rb +6 -0
  140. data/templates/default/class/dot/superklass.erb +3 -0
  141. data/templates/default/class/html/constructor_details.erb +8 -0
  142. data/templates/default/class/html/setup.rb +1 -0
  143. data/templates/default/class/html/subclasses.erb +4 -0
  144. data/templates/default/class/setup.rb +29 -0
  145. data/templates/default/class/text/setup.rb +11 -0
  146. data/templates/default/class/text/subclasses.erb +5 -0
  147. data/templates/default/docstring/html/abstract.erb +4 -0
  148. data/templates/default/docstring/html/deprecated.erb +1 -0
  149. data/templates/default/docstring/html/index.erb +5 -0
  150. data/templates/default/docstring/html/note.erb +6 -0
  151. data/templates/default/docstring/html/text.erb +1 -0
  152. data/templates/default/docstring/html/todo.erb +6 -0
  153. data/templates/default/docstring/setup.rb +39 -0
  154. data/templates/default/docstring/text/abstract.erb +2 -0
  155. data/templates/default/docstring/text/deprecated.erb +2 -0
  156. data/templates/default/docstring/text/index.erb +2 -0
  157. data/templates/default/docstring/text/note.erb +4 -0
  158. data/templates/default/docstring/text/text.erb +1 -0
  159. data/templates/default/docstring/text/todo.erb +4 -0
  160. data/templates/default/fulldoc/html/css/common.css +1 -0
  161. data/templates/default/fulldoc/html/css/full_list.css +23 -0
  162. data/templates/default/fulldoc/html/css/style.css +261 -0
  163. data/templates/default/fulldoc/html/full_list.erb +36 -0
  164. data/templates/default/fulldoc/html/js/app.js +91 -0
  165. data/templates/default/fulldoc/html/js/full_list.js +39 -0
  166. data/templates/default/fulldoc/html/js/jquery.js +19 -0
  167. data/templates/default/fulldoc/html/setup.rb +86 -0
  168. data/templates/default/{uml → layout}/dot/header.erb +2 -2
  169. data/templates/default/layout/dot/setup.rb +14 -0
  170. data/templates/default/layout/html/breadcrumb.erb +11 -0
  171. data/templates/default/layout/html/footer.erb +5 -0
  172. data/templates/default/layout/html/headers.erb +13 -0
  173. data/templates/default/layout/html/index.erb +49 -0
  174. data/templates/default/layout/html/layout.erb +20 -0
  175. data/templates/default/layout/html/search.erb +5 -0
  176. data/templates/default/layout/html/setup.rb +58 -0
  177. data/templates/default/method/html/header.erb +14 -3
  178. data/templates/default/method/setup.rb +3 -0
  179. data/templates/default/method/text/header.erb +1 -1
  180. data/templates/default/method_details/html/header.erb +3 -0
  181. data/templates/default/method_details/html/method_signature.erb +17 -0
  182. data/templates/default/method_details/html/source.erb +10 -0
  183. data/templates/default/method_details/setup.rb +8 -0
  184. data/templates/default/method_details/text/header.erb +10 -0
  185. data/templates/default/method_details/text/method_signature.erb +12 -0
  186. data/templates/default/method_details/text/setup.rb +10 -0
  187. data/templates/default/module/dot/child.erb +1 -0
  188. data/templates/default/module/dot/dependencies.erb +3 -0
  189. data/templates/default/{uml/dot/subgraph.erb → module/dot/header.erb} +3 -3
  190. data/templates/default/{uml → module}/dot/info.erb +4 -4
  191. data/templates/default/module/dot/setup.rb +14 -0
  192. data/templates/default/module/html/attribute_details.erb +11 -0
  193. data/templates/default/module/html/attribute_summary.erb +8 -0
  194. data/templates/default/module/html/box_info.erb +32 -0
  195. data/templates/default/module/html/children.erb +8 -0
  196. data/templates/default/module/html/constant_summary.erb +13 -0
  197. data/templates/default/module/html/defines.erb +3 -0
  198. data/templates/default/module/html/header.erb +4 -4
  199. data/templates/default/module/html/inherited_constants.erb +8 -0
  200. data/templates/default/module/html/inherited_methods.erb +9 -0
  201. data/templates/default/module/html/item_summary.erb +20 -0
  202. data/templates/default/module/html/method_details_list.erb +8 -0
  203. data/templates/default/module/html/method_summary.erb +8 -0
  204. data/templates/default/module/html/methodmissing.erb +12 -0
  205. data/templates/default/module/html/pre_docstring.erb +1 -0
  206. data/templates/default/module/setup.rb +83 -0
  207. data/templates/default/module/text/children.erb +10 -0
  208. data/templates/default/module/text/class_meths_list.erb +8 -0
  209. data/templates/default/module/text/extends.erb +8 -0
  210. data/templates/default/module/text/header.erb +7 -0
  211. data/templates/default/module/text/includes.erb +8 -0
  212. data/templates/default/module/text/instance_meths_list.erb +8 -0
  213. data/templates/default/module/text/setup.rb +12 -0
  214. data/templates/default/root/dot/child.erb +3 -0
  215. data/templates/default/root/dot/setup.rb +5 -0
  216. data/templates/default/tags/html/example.erb +5 -16
  217. data/templates/default/tags/html/index.erb +3 -0
  218. data/templates/default/tags/html/option.erb +17 -20
  219. data/templates/default/tags/html/overload.erb +13 -0
  220. data/templates/default/tags/html/see.erb +5 -10
  221. data/templates/default/tags/html/tag.erb +20 -0
  222. data/templates/default/tags/setup.rb +50 -0
  223. data/templates/default/tags/text/example.erb +8 -10
  224. data/templates/default/tags/text/index.erb +1 -0
  225. data/templates/default/tags/text/option.erb +18 -3
  226. data/templates/default/tags/text/overload.erb +19 -0
  227. data/templates/default/tags/text/see.erb +8 -2
  228. data/templates/default/tags/text/tag.erb +13 -0
  229. metadata +142 -158
  230. data/bin/view_generator +0 -17
  231. data/docs/FAQ.markdown +0 -34
  232. data/docs/GENERATORS.markdown +0 -211
  233. data/lib/yard/generators/attributes_generator.rb +0 -22
  234. data/lib/yard/generators/base.rb +0 -305
  235. data/lib/yard/generators/class_generator.rb +0 -27
  236. data/lib/yard/generators/constants_generator.rb +0 -74
  237. data/lib/yard/generators/constructor_generator.rb +0 -25
  238. data/lib/yard/generators/deprecated_generator.rb +0 -15
  239. data/lib/yard/generators/docstring_generator.rb +0 -15
  240. data/lib/yard/generators/full_doc_generator.rb +0 -127
  241. data/lib/yard/generators/helpers/html_helper.rb +0 -196
  242. data/lib/yard/generators/helpers/html_syntax_highlight_helper.rb +0 -49
  243. data/lib/yard/generators/helpers/uml_helper.rb +0 -16
  244. data/lib/yard/generators/inheritance_generator.rb +0 -16
  245. data/lib/yard/generators/method_details_generator.rb +0 -18
  246. data/lib/yard/generators/method_generator.rb +0 -43
  247. data/lib/yard/generators/method_listing_generator.rb +0 -105
  248. data/lib/yard/generators/method_missing_generator.rb +0 -25
  249. data/lib/yard/generators/method_signature_generator.rb +0 -19
  250. data/lib/yard/generators/method_summary_generator.rb +0 -21
  251. data/lib/yard/generators/mixins_generator.rb +0 -21
  252. data/lib/yard/generators/module_generator.rb +0 -23
  253. data/lib/yard/generators/overloads_generator.rb +0 -20
  254. data/lib/yard/generators/quick_doc_generator.rb +0 -25
  255. data/lib/yard/generators/root_generator.rb +0 -32
  256. data/lib/yard/generators/source_generator.rb +0 -11
  257. data/lib/yard/generators/tags_generator.rb +0 -99
  258. data/lib/yard/generators/uml_generator.rb +0 -102
  259. data/lib/yard/generators/visibility_group_generator.rb +0 -26
  260. data/spec/generators/base_spec.rb +0 -64
  261. data/spec/generators/full_doc_generator_spec.rb +0 -29
  262. data/spec/generators/helpers/base_helper_spec.rb +0 -15
  263. data/spec/generators/quick_doc_generator_spec.rb +0 -13
  264. data/templates/default/attributes/html/header.erb +0 -47
  265. data/templates/default/attributes/text/header.erb +0 -10
  266. data/templates/default/class/html/header.erb +0 -4
  267. data/templates/default/constants/html/constants.erb +0 -9
  268. data/templates/default/constants/html/header.erb +0 -3
  269. data/templates/default/constants/html/included.erb +0 -9
  270. data/templates/default/constants/html/inherited.erb +0 -9
  271. data/templates/default/constructor/html/header.erb +0 -10
  272. data/templates/default/deprecated/html/main.erb +0 -6
  273. data/templates/default/deprecated/text/main.erb +0 -3
  274. data/templates/default/docstring/html/main.erb +0 -3
  275. data/templates/default/docstring/text/main.erb +0 -3
  276. data/templates/default/fulldoc/html/all_files.erb +0 -19
  277. data/templates/default/fulldoc/html/all_methods.erb +0 -26
  278. data/templates/default/fulldoc/html/all_namespaces.erb +0 -22
  279. data/templates/default/fulldoc/html/app.js +0 -18
  280. data/templates/default/fulldoc/html/custom.css +0 -1
  281. data/templates/default/fulldoc/html/file.erb +0 -16
  282. data/templates/default/fulldoc/html/footer.erb +0 -5
  283. data/templates/default/fulldoc/html/header.erb +0 -16
  284. data/templates/default/fulldoc/html/html_head.erb +0 -4
  285. data/templates/default/fulldoc/html/index.erb +0 -19
  286. data/templates/default/fulldoc/html/jquery.js +0 -11
  287. data/templates/default/fulldoc/html/style.css +0 -81
  288. data/templates/default/fulldoc/html/syntax_highlight.css +0 -24
  289. data/templates/default/inheritance/html/header.erb +0 -8
  290. data/templates/default/inheritance/text/header.erb +0 -3
  291. data/templates/default/method/html/aliases.erb +0 -6
  292. data/templates/default/method/html/title.erb +0 -3
  293. data/templates/default/method/text/title.erb +0 -1
  294. data/templates/default/methoddetails/html/header.erb +0 -8
  295. data/templates/default/methoddetails/html/method_header.erb +0 -3
  296. data/templates/default/methodmissing/html/header.erb +0 -12
  297. data/templates/default/methodsignature/html/main.erb +0 -10
  298. data/templates/default/methodsignature/text/main.erb +0 -8
  299. data/templates/default/methodsummary/html/header.erb +0 -5
  300. data/templates/default/methodsummary/html/included.erb +0 -9
  301. data/templates/default/methodsummary/html/inherited.erb +0 -9
  302. data/templates/default/methodsummary/html/summary.erb +0 -29
  303. data/templates/default/methodsummary/text/header.erb +0 -5
  304. data/templates/default/methodsummary/text/included.erb +0 -0
  305. data/templates/default/methodsummary/text/inherited.erb +0 -0
  306. data/templates/default/methodsummary/text/summary.erb +0 -6
  307. data/templates/default/mixins/html/header.erb +0 -4
  308. data/templates/default/overloads/html/header.erb +0 -8
  309. data/templates/default/overloads/text/header.erb +0 -8
  310. data/templates/default/quickdoc/html/header.erb +0 -15
  311. data/templates/default/quickdoc/text/header.erb +0 -12
  312. data/templates/default/root/html/header.erb +0 -4
  313. data/templates/default/source/html/main.erb +0 -15
  314. data/templates/default/source/text/main.erb +0 -4
  315. data/templates/default/tags/html/header.erb +0 -4
  316. data/templates/default/tags/html/param.erb +0 -21
  317. data/templates/default/tags/html/tags.erb +0 -23
  318. data/templates/default/tags/html/todo.erb +0 -8
  319. data/templates/default/tags/text/header.erb +0 -3
  320. data/templates/default/tags/text/param.erb +0 -9
  321. data/templates/default/tags/text/tags.erb +0 -7
  322. data/templates/default/uml/dot/child.erb +0 -1
  323. data/templates/default/uml/dot/dependencies.erb +0 -10
  324. data/templates/default/uml/dot/superclasses.erb +0 -9
  325. data/templates/default/uml/dot/unknown.erb +0 -3
  326. data/templates/default/uml/dot/unknown_child.erb +0 -1
  327. data/templates/default/visibilitygroup/html/header.erb +0 -6
  328. data/templates/javadoc/attributes/html/header.erb +0 -16
  329. data/templates/javadoc/class/html/header.erb +0 -4
  330. data/templates/javadoc/constants/html/constants.erb +0 -9
  331. data/templates/javadoc/constants/html/header.erb +0 -3
  332. data/templates/javadoc/constants/html/included.erb +0 -12
  333. data/templates/javadoc/constants/html/inherited.erb +0 -12
  334. data/templates/javadoc/constructor/html/header.erb +0 -10
  335. data/templates/javadoc/deprecated/html/main.erb +0 -0
  336. data/templates/javadoc/docstring/html/main.erb +0 -6
  337. data/templates/javadoc/fulldoc/html/all_methods.erb +0 -25
  338. data/templates/javadoc/fulldoc/html/all_namespaces.erb +0 -19
  339. data/templates/javadoc/fulldoc/html/app.js +0 -18
  340. data/templates/javadoc/fulldoc/html/header.erb +0 -15
  341. data/templates/javadoc/fulldoc/html/html_head.erb +0 -3
  342. data/templates/javadoc/fulldoc/html/index.erb +0 -18
  343. data/templates/javadoc/fulldoc/html/jquery.js +0 -11
  344. data/templates/javadoc/fulldoc/html/readme.erb +0 -15
  345. data/templates/javadoc/fulldoc/html/style.css +0 -22
  346. data/templates/javadoc/fulldoc/html/syntax_highlight.css +0 -21
  347. data/templates/javadoc/inheritance/html/header.erb +0 -6
  348. data/templates/javadoc/method/html/aliases.erb +0 -6
  349. data/templates/javadoc/method/html/header.erb +0 -4
  350. data/templates/javadoc/method/html/title.erb +0 -4
  351. data/templates/javadoc/methoddetails/html/header.erb +0 -8
  352. data/templates/javadoc/methoddetails/html/method_header.erb +0 -0
  353. data/templates/javadoc/methodmissing/html/header.erb +0 -12
  354. data/templates/javadoc/methodsignature/html/main.erb +0 -8
  355. data/templates/javadoc/methodsummary/html/header.erb +0 -5
  356. data/templates/javadoc/methodsummary/html/included.erb +0 -12
  357. data/templates/javadoc/methodsummary/html/inherited.erb +0 -12
  358. data/templates/javadoc/methodsummary/html/summary.erb +0 -25
  359. data/templates/javadoc/mixins/html/header.erb +0 -5
  360. data/templates/javadoc/module/html/header.erb +0 -4
  361. data/templates/javadoc/source/html/main.erb +0 -15
  362. data/templates/javadoc/tags/html/header.erb +0 -5
  363. data/templates/javadoc/tags/html/see.erb +0 -8
  364. data/templates/javadoc/tags/html/tags.erb +0 -19
  365. data/templates/javadoc/visibilitygroup/html/header.erb +0 -5
@@ -1,11 +0,0 @@
1
- module YARD
2
- module Generators
3
- class SourceGenerator < Base
4
- include Helpers::MethodHelper
5
-
6
- def sections_for(object)
7
- [:main] if object.source
8
- end
9
- end
10
- end
11
- end
@@ -1,99 +0,0 @@
1
- module YARD
2
- module Generators
3
- class TagsGenerator < Base
4
- before_section :header, :has_tags?
5
- before_section :option, :has_options?
6
- before_section :param, :has_params?
7
- before_section :todo, :has_todo?
8
-
9
- def sections_for(object)
10
- sections = [
11
- :header, [ :example, :param, :yield, :yieldparam, :yieldreturn,
12
- :return, :raise, :todo, :author, :version, :since, :see ]
13
- ]
14
- if object.tags(:overload).size == 1
15
- size = sections.last.size
16
- sections.last.reverse.each_with_index do |item, index|
17
- sections.last[size - index - 1, 1] = [:with_overload, [item]]
18
- end
19
- end
20
- sections
21
- end
22
-
23
- def with_overload(object)
24
- yield(object.tag(:overload)) + yield(object)
25
- end
26
-
27
- def yield(object)
28
- render_tags :yield
29
- end
30
-
31
- def yieldparam(object)
32
- render_tags :yieldparam
33
- end
34
-
35
- def yieldreturn(object)
36
- render_tags :yieldreturn
37
- end
38
-
39
- def return(object)
40
- render_tags :return
41
- end
42
-
43
- def raise(object)
44
- render_tags :raise, :no_names => true
45
- end
46
-
47
- def author(object)
48
- render_tags :author, :no_types => true, :no_names => true
49
- end
50
-
51
- def version(object)
52
- render_tags :version, :no_types => true, :no_names => true
53
- end
54
-
55
- def since(object)
56
- render_tags :since, :no_types => true, :no_names => true
57
- end
58
-
59
- protected
60
-
61
- def has_params?(object)
62
- (object.is_a?(Tags::OverloadTag) ||
63
- object.is_a?(CodeObjects::MethodObject)) &&
64
- tags_by_param(object).size > 0
65
- end
66
-
67
- def has_tags?(object)
68
- object.tags.size > 0
69
- end
70
-
71
- def has_todo?(object)
72
- object.has_tag?(:todo)
73
- end
74
-
75
- def has_options?(object)
76
- object.has_tag?(:option)
77
- end
78
-
79
- def render_tags(name, opts = {})
80
- opts = { :name => name }.update(opts)
81
- render(current_object, 'tags', opts)
82
- end
83
-
84
- def tags_by_param(object)
85
- cache = {}
86
- [:param, :option].each do |sym|
87
- object.tags(sym).each do |t|
88
- cache[t.name.to_s] = t
89
- end
90
- end
91
-
92
- object.parameters.map do |p|
93
- name = p.first.to_s
94
- cache[name] || cache[name[/^[*&](\w+)$/, 1]]
95
- end.compact
96
- end
97
- end
98
- end
99
- end
@@ -1,102 +0,0 @@
1
- module YARD
2
- module Generators
3
- class UMLGenerator < Base
4
- include Helpers::UMLHelper
5
-
6
- before_generate :init
7
- before_section :dependencies, :show_dependencies?
8
-
9
- def sections_for(object)
10
- [
11
- :header,
12
- [
13
- :unknown, [:unresolved, [:unknown_child]],
14
- :subgraph, [:info],
15
- :superclasses,
16
- :dependencies
17
- ]
18
- ]
19
- end
20
-
21
- def header(object, &block)
22
- tidy render(object, :header, &block)
23
- end
24
-
25
- def subgraph(object, &block)
26
- name = namespaces(object).empty? ? :child : :subgraph
27
- render(object, name, &block)
28
- end
29
-
30
- def unresolved(object, &block)
31
- @objects.select {|o| o.is_a?(CodeObjects::Proxy) }.map {|o| yield(o) }.join("\n")
32
- end
33
-
34
- protected
35
-
36
- def show_full_info?; options.has_key? :full end
37
- def show_dependencies?; options.has_key? :dependencies end
38
-
39
- def init(object)
40
- @objects = {}
41
- process_objects(object)
42
- @objects = @objects.values
43
- end
44
-
45
- def namespaces(object)
46
- object.children.select {|o| o.is_a?(CodeObjects::NamespaceObject) }
47
- end
48
-
49
- def unresolved_objects
50
- @direction_paths.values.flatten.select {|o| o.is_a?(CodeObjects::Proxy) }.uniq
51
- end
52
-
53
- def format_path(object)
54
- object.path.gsub('::', '_')
55
- end
56
-
57
- def h(text)
58
- text.to_s.gsub(/(\W)/, '\\\\\1')
59
- end
60
-
61
- def process_objects(object)
62
- @objects[object.path] = object
63
- @objects[object.superclass.path] = object.superclass if object.is_a?(CodeObjects::ClassObject) && object.superclass
64
- object.mixins.each {|o| @objects[o.path] = o }
65
-
66
- namespaces(object).each {|o| process_objects(o) }
67
- end
68
-
69
- def method_list(object, attributes = false)
70
- vissort = lambda {|vis| vis == :public ? 'a' : (vis == :protected ? 'b' : 'c') }
71
-
72
- meths = object.meths(:inherited => false, :included => false, :visibility => options[:visibility])
73
- meths = remove_overriden_meths(object, meths)
74
- meths = meths.select {|o| attributes ? o.is_attribute? : !o.is_attribute? }
75
- meths = meths.reject {|o| o.is_alias? }
76
- meths = meths.sort_by {|o| "#{o.scope}#{vissort.call(o.visibility)}#{o.name}" }
77
- end
78
-
79
- private
80
-
81
- def remove_overriden_meths(object, meth_list)
82
- object.inheritance_tree(true)[1..-1].each do |sclass|
83
- next if CodeObjects::Proxy === sclass
84
- meth_list.reject! {|o| sclass.child(:scope => o.scope, :name => o.name) }
85
- end
86
- meth_list
87
- end
88
-
89
- def tidy(data)
90
- indent = 0
91
- data.split(/\n/).map do |line|
92
- line.gsub!(/^\s*/, '')
93
- next if line.empty?
94
- indent -= 1 if line =~ /^\s*\}\s*$/
95
- line = (' ' * (indent * 2)) + line
96
- indent += 1 if line =~ /\{\s*$/
97
- line
98
- end.compact.join("\n") + "\n"
99
- end
100
- end
101
- end
102
- end
@@ -1,26 +0,0 @@
1
- module YARD
2
- module Generators
3
- class VisibilityGroupGenerator < Base
4
- attr_reader :visibility
5
-
6
- def initialize(*args)
7
- super
8
- @visibility = options[:visibility]
9
- end
10
-
11
- before_generate :is_namespace?
12
-
13
- def sections_for(object)
14
- [
15
- :header,
16
- [
17
- G(MethodSummaryGenerator, :visibility => visibility, :scope => :class),
18
- G(MethodSummaryGenerator, :visibility => visibility, :scope => :instance),
19
- G(MethodDetailsGenerator, :visibility => visibility, :scope => :class),
20
- G(MethodDetailsGenerator, :visibility => visibility, :scope => :instance)
21
- ]
22
- ]
23
- end
24
- end
25
- end
26
- end
@@ -1,64 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
- require 'stringio'
3
-
4
- include YARD::Generators
5
-
6
- describe YARD::Generators::Base, 'Section handling' do
7
- before { Registry.clear }
8
-
9
- it "should allow a list of sections to be returned by sections_for" do
10
- base = Generators::Base.new
11
- base.stub!(:sections_for).and_return [:meth1, :meth2, :meth3]
12
- base.should_receive(:meth1).and_return('a')
13
- base.should_receive(:meth2).and_return('b')
14
- base.should_receive(:meth3).and_return('c')
15
- base.generate(Registry.root).should == 'abc'
16
- end
17
-
18
- it "should allow a heirarchical list of sections to be returned by sections_for" do
19
- base = Generators::Base.new
20
- base.stub!(:sections_for).and_return [:meth1, [:meth2, :meth3]]
21
- base.should_receive(:meth1).and_return('a')
22
- base.should_not_receive(:meth2)
23
- base.should_not_receive(:meth3)
24
- base.generate(Registry.root).should == 'a'
25
- base.current_object.should == Registry.root
26
- end
27
-
28
- it "should yield sub section lists to the parent section" do
29
- class XYZ < Generators::Base
30
- def sections_for(object) [:meth1, [:submeth1, :submeth2, [:submeth1]]] end
31
- def meth1(object) object.name.to_s + yield(object) end
32
- def submeth1(object) object.name.to_s end
33
- def submeth2(object) object.name.to_s + yield(P(:YARD)) end
34
- end
35
-
36
- CodeObjects::Base.new(:root, :YARD)
37
- XYZ.new.generate(Registry.root).should == "rootrootrootYARD"
38
- end
39
- end
40
-
41
- describe YARD::Generators::Base, 'Rendering' do
42
- it "should have a default template path" do
43
- Generators::Base.template_paths.should == [YARD::TEMPLATE_ROOT]
44
- end
45
-
46
- it "should find the right erb file to render given a template, format and name" do
47
- base = Generators::Base.new
48
- file = File.join(YARD::TEMPLATE_ROOT, 'default', 'base', 'html', 'name.erb')
49
- File.should_receive(:file?).with(file).and_return(true)
50
- File.should_receive(:read).with(file).and_return("output")
51
- base.stub!(:sections_for).and_return([:name])
52
- base.generate(Registry.root).should == "output"
53
- end
54
-
55
- it "should allow the user to add extra search paths to find a custom template" do
56
- Generators::Base.register_template_path 'doc'
57
- base = Generators::Base.new
58
- file = File.join('doc', 'default', 'base', 'html', 'name.erb')
59
- File.should_receive(:file?).with(file).and_return(true)
60
- File.should_receive(:read).with(file).and_return("output")
61
- base.stub!(:sections_for).and_return([:name])
62
- base.generate(Registry.root).should == "output"
63
- end
64
- end
@@ -1,29 +0,0 @@
1
- require File.join(File.dirname(__FILE__), *%w|.. spec_helper|)
2
-
3
- class YARD::Generators::FullDocGenerator
4
- public :generate_files, :readme_file_exists? # public for test
5
- end
6
-
7
- describe YARD::Generators::FullDocGenerator do
8
- it "should know about absence of 'readme' file" do
9
- generator = Generators::FullDocGenerator.new(:readme => nil)
10
- generator.readme_file_exists?.should == false
11
- end
12
-
13
- it "should know about existence of 'readme' file" do
14
- generator = Generators::FullDocGenerator.new(:readme => __FILE__)
15
- generator.readme_file_exists?.should == true
16
- end
17
-
18
- it "should allow absence of 'readme' file" do
19
- serializer = mock('serializer')
20
- generator_options = {
21
- :format => :html,
22
- :serializer => serializer,
23
- :readme => nil
24
- }
25
- generator = Generators::FullDocGenerator.new(generator_options)
26
- serializer.should_not_receive(:serialize)
27
- lambda { generator.generate_files }.should_not raise_error(Errno::ENOENT)
28
- end
29
- end
@@ -1,15 +0,0 @@
1
- describe YARD::Generators::Helpers::BaseHelper, "#linkify" do
2
- include YARD::Generators::Helpers::BaseHelper
3
-
4
- it "should pass off to #link_object if argument is an object" do
5
- obj = CodeObjects::NamespaceObject.new(nil, :YARD)
6
- should_receive(:link_object).with(obj)
7
- linkify obj
8
- end
9
-
10
- it "should pass off to #link_url if argument is recognized as a URL" do
11
- url = "http://yard.soen.ca/"
12
- should_receive(:link_url).with(url)
13
- linkify url
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- describe YARD::Generators::QuickDocGenerator do
2
- before { Registry.clear }
3
-
4
- it "should call all sections" do
5
- Parser::SourceParser.parse_string(<<-eof)
6
- class A
7
- # Docstring
8
- def method1; end
9
- end
10
- eof
11
- g = Generators::QuickDocGenerator.new
12
- end
13
- end
@@ -1,47 +0,0 @@
1
- <div class="section <%= generator_name %>">
2
- <h1>Attributes</h1>
3
-
4
- <% ['class', 'instance'].select {|s| object.attributes[s].length > 0 }.each do |scope| %>
5
- <div class="<%= scope %>">
6
- <h2><%= scope.capitalize %> Attributes</h2>
7
- <table>
8
- <% object.attributes[scope].sort_by {|o| o.to_s.downcase }.each do |name, rw| %>
9
- <% aliases = (rw[:read] || rw[:write]).aliases %>
10
- <tr class="<%= 'hasaliases' if aliases.length > 0 %>">
11
- <th class='signature'>
12
- <span class='name'><%= h name %></span>
13
- </td>
14
- <td class="readwrite">
15
- [<%= ['read', 'write'].map {|t|
16
- rw[t] && (rw[t].is_explicit? ? t[0,1].upcase : "<span id='#{anchor_for rw[t]}'>#{t[0,1].upcase}</span>")
17
- }.compact.join %>]
18
- </td>
19
- <td class="visibility">
20
- <%= rw.values.compact.first.visibility %>
21
- </td>
22
- <td class="docstring">
23
- <%= htmlify rw.values.compact.first.docstring.summary %>
24
- <% if rw[:read] && rw[:read].tag(:return) && rw[:read].tag(:return).types %>
25
- <p class='returns'>
26
- Returns:
27
- <span class='return_types'>
28
- <%= format_return_types rw[:read] %>
29
- </span>
30
- </p>
31
- <% end %>
32
- </td>
33
- </tr>
34
- <% if aliases.length > 0 %>
35
- <tr>
36
- <td colspan='4' class='aliases'><span class='text'>Also known as:</span>
37
- <% aliases.each_with_index do |obj, i| %>
38
- <span class='alias'><%= h obj.name.to_s.sub(/=$/, '') %></span><%= "," if i < aliases.length - 1 %>
39
- <% end %>
40
- </td>
41
- </tr>
42
- <% end %>
43
- <% end %>
44
- </table>
45
- </div>
46
- <% end %>
47
- </div>
@@ -1,10 +0,0 @@
1
-
2
-
3
- > Attributes:
4
- -------------
5
- <% ['class', 'instance'].select {|s| object.attributes[s].length > 0 }.each do |scope| %>
6
- <% object.attributes[scope].sort_by {|o| o.to_s.downcase }.each do |name, rw| %>
7
- <%= uml_visibility rw.values.compact.first %> <%= name %><%= " " if scope == 'class' %> [<%= ['read', 'write'].map {|t| rw[t] ? t[0,1].upcase : ' ' }.compact.join %>] (<%= rw.values.compact.first.visibility %>)
8
- <% end %>
9
- <% end %>
10
-
@@ -1,4 +0,0 @@
1
- <div class="section class <%= object.path.gsub(/::|\.|#/, '_') %>">
2
- <h1 class="title"><%= h format_object_type(object) %>: <%= h object.path %></h1>
3
- <%= yield object %>
4
- </div>
@@ -1,9 +0,0 @@
1
- <div class="thisclass">
2
- <h1>Constants</h1>
3
- <dl>
4
- <% object.constants(:included => false, :inherited => false).sort_by {|c| c.name.to_s.downcase }.each do |const| %>
5
- <dt id="<%= anchor_for(const) %>"><%= h const.name %></dt>
6
- <dd><%= h const.source.gsub(/\A.+?\=\s*/, '') %></dd>
7
- <% end %>
8
- </dl>
9
- </div>
@@ -1,3 +0,0 @@
1
- <div class="section <%= generator_name %>">
2
- <%= yield object %>
3
- </div>