yard 0.9.16 → 0.9.17

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 (566) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +26 -26
  3. data/CHANGELOG.md +728 -728
  4. data/LEGAL +66 -66
  5. data/LICENSE +22 -22
  6. data/README.md +328 -328
  7. data/Rakefile +53 -47
  8. data/benchmarks/builtins_vs_eval.rb +24 -24
  9. data/benchmarks/concat_vs_join.rb +13 -13
  10. data/benchmarks/erb_vs_erubis.rb +54 -54
  11. data/benchmarks/format_args.rb +47 -47
  12. data/benchmarks/generation.rb +38 -38
  13. data/benchmarks/marshal_vs_dbm.rb +64 -64
  14. data/benchmarks/parsing.rb +46 -46
  15. data/benchmarks/pathname_vs_string.rb +50 -50
  16. data/benchmarks/rdoc_vs_yardoc.rb +11 -11
  17. data/benchmarks/registry_store_types.rb +49 -49
  18. data/benchmarks/ri_vs_yri.rb +19 -19
  19. data/benchmarks/ripper_parser.rb +13 -13
  20. data/benchmarks/splat_vs_flatten.rb +13 -13
  21. data/benchmarks/template_erb.rb +23 -23
  22. data/benchmarks/template_format.rb +7 -7
  23. data/benchmarks/template_profile.rb +18 -18
  24. data/benchmarks/yri_cache.rb +20 -20
  25. data/bin/yard +13 -13
  26. data/bin/yardoc +13 -13
  27. data/bin/yri +13 -13
  28. data/docs/CodeObjects.md +115 -115
  29. data/docs/GettingStarted.md +679 -679
  30. data/docs/Handlers.md +152 -152
  31. data/docs/Overview.md +61 -61
  32. data/docs/Parser.md +191 -191
  33. data/docs/Tags.md +283 -283
  34. data/docs/TagsArch.md +123 -123
  35. data/docs/Templates.md +496 -496
  36. data/docs/WhatsNew.md +1245 -1245
  37. data/docs/templates/default/fulldoc/html/full_list_tag.erb +8 -8
  38. data/docs/templates/default/fulldoc/html/setup.rb +6 -6
  39. data/docs/templates/default/layout/html/setup.rb +9 -9
  40. data/docs/templates/default/layout/html/tag_list.erb +11 -11
  41. data/docs/templates/default/yard_tags/html/list.erb +18 -18
  42. data/docs/templates/default/yard_tags/html/setup.rb +26 -26
  43. data/docs/templates/plugin.rb +70 -70
  44. data/lib/rubygems_plugin.rb +9 -9
  45. data/lib/yard.rb +69 -69
  46. data/lib/yard/autoload.rb +303 -303
  47. data/lib/yard/cli/command.rb +85 -85
  48. data/lib/yard/cli/command_parser.rb +93 -93
  49. data/lib/yard/cli/config.rb +198 -198
  50. data/lib/yard/cli/diff.rb +270 -270
  51. data/lib/yard/cli/display.rb +69 -69
  52. data/lib/yard/cli/gems.rb +84 -84
  53. data/lib/yard/cli/graph.rb +125 -125
  54. data/lib/yard/cli/help.rb +20 -20
  55. data/lib/yard/cli/i18n.rb +70 -70
  56. data/lib/yard/cli/list.rb +23 -23
  57. data/lib/yard/cli/markup_types.rb +32 -32
  58. data/lib/yard/cli/server.rb +257 -257
  59. data/lib/yard/cli/stats.rb +231 -231
  60. data/lib/yard/cli/yardoc.rb +788 -788
  61. data/lib/yard/cli/yardopts_command.rb +110 -110
  62. data/lib/yard/cli/yri.rb +215 -215
  63. data/lib/yard/code_objects/base.rb +615 -610
  64. data/lib/yard/code_objects/class_object.rb +146 -146
  65. data/lib/yard/code_objects/class_variable_object.rb +11 -11
  66. data/lib/yard/code_objects/constant_object.rb +16 -16
  67. data/lib/yard/code_objects/extended_method_object.rb +24 -24
  68. data/lib/yard/code_objects/extra_file_object.rb +131 -131
  69. data/lib/yard/code_objects/macro_object.rb +172 -172
  70. data/lib/yard/code_objects/method_object.rb +196 -196
  71. data/lib/yard/code_objects/module_object.rb +21 -21
  72. data/lib/yard/code_objects/namespace_mapper.rb +114 -114
  73. data/lib/yard/code_objects/namespace_object.rb +200 -200
  74. data/lib/yard/code_objects/proxy.rb +240 -240
  75. data/lib/yard/code_objects/root_object.rb +19 -19
  76. data/lib/yard/config.rb +270 -270
  77. data/lib/yard/core_ext/array.rb +16 -16
  78. data/lib/yard/core_ext/file.rb +69 -69
  79. data/lib/yard/core_ext/hash.rb +16 -16
  80. data/lib/yard/core_ext/insertion.rb +63 -63
  81. data/lib/yard/core_ext/module.rb +20 -20
  82. data/lib/yard/core_ext/string.rb +68 -68
  83. data/lib/yard/core_ext/symbol_hash.rb +75 -75
  84. data/lib/yard/docstring.rb +386 -378
  85. data/lib/yard/docstring_parser.rb +345 -345
  86. data/lib/yard/gem_index.rb +29 -29
  87. data/lib/yard/globals.rb +22 -22
  88. data/lib/yard/handlers/base.rb +595 -595
  89. data/lib/yard/handlers/c/alias_handler.rb +16 -16
  90. data/lib/yard/handlers/c/attribute_handler.rb +13 -13
  91. data/lib/yard/handlers/c/base.rb +129 -129
  92. data/lib/yard/handlers/c/class_handler.rb +27 -27
  93. data/lib/yard/handlers/c/constant_handler.rb +13 -13
  94. data/lib/yard/handlers/c/handler_methods.rb +211 -211
  95. data/lib/yard/handlers/c/init_handler.rb +20 -20
  96. data/lib/yard/handlers/c/method_handler.rb +45 -36
  97. data/lib/yard/handlers/c/mixin_handler.rb +21 -21
  98. data/lib/yard/handlers/c/module_handler.rb +17 -17
  99. data/lib/yard/handlers/c/override_comment_handler.rb +31 -31
  100. data/lib/yard/handlers/c/path_handler.rb +11 -11
  101. data/lib/yard/handlers/c/struct_handler.rb +13 -13
  102. data/lib/yard/handlers/c/symbol_handler.rb +8 -8
  103. data/lib/yard/handlers/processor.rb +200 -200
  104. data/lib/yard/handlers/ruby/alias_handler.rb +44 -44
  105. data/lib/yard/handlers/ruby/attribute_handler.rb +87 -87
  106. data/lib/yard/handlers/ruby/base.rb +165 -165
  107. data/lib/yard/handlers/ruby/class_condition_handler.rb +92 -92
  108. data/lib/yard/handlers/ruby/class_handler.rb +119 -119
  109. data/lib/yard/handlers/ruby/class_variable_handler.rb +17 -17
  110. data/lib/yard/handlers/ruby/comment_handler.rb +10 -10
  111. data/lib/yard/handlers/ruby/constant_handler.rb +59 -59
  112. data/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -123
  113. data/lib/yard/handlers/ruby/dsl_handler.rb +15 -15
  114. data/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -95
  115. data/lib/yard/handlers/ruby/exception_handler.rb +27 -27
  116. data/lib/yard/handlers/ruby/extend_handler.rb +22 -22
  117. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -37
  118. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -65
  119. data/lib/yard/handlers/ruby/legacy/base.rb +245 -245
  120. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -83
  121. data/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -113
  122. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -15
  123. data/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -10
  124. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -29
  125. data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -17
  126. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -13
  127. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -21
  128. data/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -90
  129. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -39
  130. data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -19
  131. data/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -12
  132. data/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -22
  133. data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -22
  134. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +17 -17
  135. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -29
  136. data/lib/yard/handlers/ruby/method_condition_handler.rb +9 -9
  137. data/lib/yard/handlers/ruby/method_handler.rb +118 -118
  138. data/lib/yard/handlers/ruby/mixin_handler.rb +37 -37
  139. data/lib/yard/handlers/ruby/module_function_handler.rb +27 -27
  140. data/lib/yard/handlers/ruby/module_handler.rb +12 -12
  141. data/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -14
  142. data/lib/yard/handlers/ruby/private_constant_handler.rb +43 -43
  143. data/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -14
  144. data/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -143
  145. data/lib/yard/handlers/ruby/visibility_handler.rb +22 -22
  146. data/lib/yard/handlers/ruby/yield_handler.rb +31 -31
  147. data/lib/yard/i18n/locale.rb +67 -67
  148. data/lib/yard/i18n/message.rb +57 -57
  149. data/lib/yard/i18n/messages.rb +56 -56
  150. data/lib/yard/i18n/po_parser.rb +61 -61
  151. data/lib/yard/i18n/pot_generator.rb +290 -290
  152. data/lib/yard/i18n/text.rb +173 -173
  153. data/lib/yard/logging.rb +205 -205
  154. data/lib/yard/options.rb +217 -217
  155. data/lib/yard/parser/base.rb +57 -57
  156. data/lib/yard/parser/c/c_parser.rb +235 -235
  157. data/lib/yard/parser/c/comment_parser.rb +134 -134
  158. data/lib/yard/parser/c/statement.rb +64 -64
  159. data/lib/yard/parser/ruby/ast_node.rb +540 -540
  160. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +1354 -1354
  161. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -32
  162. data/lib/yard/parser/ruby/legacy/statement.rb +66 -66
  163. data/lib/yard/parser/ruby/legacy/statement_list.rb +394 -394
  164. data/lib/yard/parser/ruby/legacy/token_list.rb +74 -74
  165. data/lib/yard/parser/ruby/ruby_parser.rb +687 -687
  166. data/lib/yard/parser/ruby/token_resolver.rb +156 -156
  167. data/lib/yard/parser/source_parser.rb +526 -526
  168. data/lib/yard/rake/yardoc_task.rb +81 -81
  169. data/lib/yard/registry.rb +439 -439
  170. data/lib/yard/registry_resolver.rb +189 -189
  171. data/lib/yard/registry_store.rb +337 -337
  172. data/lib/yard/rubygems/backports.rb +10 -10
  173. data/lib/yard/rubygems/backports/LICENSE.txt +57 -57
  174. data/lib/yard/rubygems/backports/MIT.txt +20 -20
  175. data/lib/yard/rubygems/backports/gem.rb +10 -10
  176. data/lib/yard/rubygems/backports/source_index.rb +365 -365
  177. data/lib/yard/rubygems/doc_manager.rb +90 -90
  178. data/lib/yard/rubygems/hook.rb +197 -197
  179. data/lib/yard/rubygems/specification.rb +50 -50
  180. data/lib/yard/serializers/base.rb +83 -83
  181. data/lib/yard/serializers/file_system_serializer.rb +123 -123
  182. data/lib/yard/serializers/process_serializer.rb +24 -24
  183. data/lib/yard/serializers/stdout_serializer.rb +34 -34
  184. data/lib/yard/serializers/yardoc_serializer.rb +152 -152
  185. data/lib/yard/server.rb +13 -13
  186. data/lib/yard/server/adapter.rb +100 -100
  187. data/lib/yard/server/commands/base.rb +209 -209
  188. data/lib/yard/server/commands/display_file_command.rb +29 -29
  189. data/lib/yard/server/commands/display_object_command.rb +65 -65
  190. data/lib/yard/server/commands/frames_command.rb +16 -16
  191. data/lib/yard/server/commands/library_command.rb +187 -187
  192. data/lib/yard/server/commands/library_index_command.rb +28 -28
  193. data/lib/yard/server/commands/list_command.rb +25 -25
  194. data/lib/yard/server/commands/root_request_command.rb +15 -15
  195. data/lib/yard/server/commands/search_command.rb +79 -79
  196. data/lib/yard/server/commands/static_file_command.rb +23 -23
  197. data/lib/yard/server/commands/static_file_helpers.rb +62 -62
  198. data/lib/yard/server/doc_server_helper.rb +91 -91
  199. data/lib/yard/server/doc_server_serializer.rb +39 -39
  200. data/lib/yard/server/library_version.rb +277 -277
  201. data/lib/yard/server/rack_adapter.rb +89 -89
  202. data/lib/yard/server/router.rb +187 -187
  203. data/lib/yard/server/static_caching.rb +46 -46
  204. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +127 -127
  205. data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +11 -11
  206. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +37 -37
  207. data/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -7
  208. data/lib/yard/server/templates/default/layout/html/setup.rb +8 -8
  209. data/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -4
  210. data/lib/yard/server/templates/default/method_details/html/setup.rb +5 -5
  211. data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -8
  212. data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +14 -14
  213. data/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -13
  214. data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -6
  215. data/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -2
  216. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +52 -52
  217. data/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -4
  218. data/lib/yard/server/templates/doc_server/search/html/search.erb +18 -18
  219. data/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -9
  220. data/lib/yard/server/webrick_adapter.rb +45 -45
  221. data/lib/yard/tags/default_factory.rb +191 -191
  222. data/lib/yard/tags/default_tag.rb +13 -13
  223. data/lib/yard/tags/directives.rb +616 -616
  224. data/lib/yard/tags/library.rb +633 -633
  225. data/lib/yard/tags/option_tag.rb +13 -13
  226. data/lib/yard/tags/overload_tag.rb +71 -71
  227. data/lib/yard/tags/ref_tag.rb +8 -8
  228. data/lib/yard/tags/ref_tag_list.rb +28 -28
  229. data/lib/yard/tags/tag.rb +71 -71
  230. data/lib/yard/tags/tag_format_error.rb +7 -7
  231. data/lib/yard/tags/types_explainer.rb +162 -162
  232. data/lib/yard/templates/engine.rb +186 -186
  233. data/lib/yard/templates/erb_cache.rb +23 -23
  234. data/lib/yard/templates/helpers/base_helper.rb +215 -215
  235. data/lib/yard/templates/helpers/filter_helper.rb +27 -27
  236. data/lib/yard/templates/helpers/html_helper.rb +646 -642
  237. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +78 -78
  238. data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -23
  239. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +109 -109
  240. data/lib/yard/templates/helpers/markup_helper.rb +172 -172
  241. data/lib/yard/templates/helpers/method_helper.rb +75 -75
  242. data/lib/yard/templates/helpers/module_helper.rb +21 -21
  243. data/lib/yard/templates/helpers/text_helper.rb +112 -112
  244. data/lib/yard/templates/helpers/uml_helper.rb +47 -47
  245. data/lib/yard/templates/section.rb +105 -105
  246. data/lib/yard/templates/template.rb +418 -418
  247. data/lib/yard/templates/template_options.rb +92 -92
  248. data/lib/yard/verifier.rb +151 -151
  249. data/lib/yard/version.rb +3 -1
  250. data/spec/cli/command_parser_spec.rb +43 -43
  251. data/spec/cli/command_spec.rb +36 -36
  252. data/spec/cli/config_spec.rb +148 -148
  253. data/spec/cli/diff_spec.rb +254 -254
  254. data/spec/cli/display_spec.rb +30 -30
  255. data/spec/cli/gems_spec.rb +81 -81
  256. data/spec/cli/graph_spec.rb +18 -18
  257. data/spec/cli/help_spec.rb +22 -22
  258. data/spec/cli/i18n_spec.rb +107 -107
  259. data/spec/cli/list_spec.rb +8 -8
  260. data/spec/cli/markup_types_spec.rb +22 -22
  261. data/spec/cli/server_spec.rb +324 -324
  262. data/spec/cli/stats_spec.rb +96 -96
  263. data/spec/cli/yard_on_yard_spec.rb +38 -38
  264. data/spec/cli/yardoc_spec.rb +862 -849
  265. data/spec/cli/yri_spec.rb +101 -101
  266. data/spec/code_objects/base_spec.rb +470 -460
  267. data/spec/code_objects/class_object_spec.rb +226 -226
  268. data/spec/code_objects/code_object_list_spec.rb +36 -36
  269. data/spec/code_objects/constants_spec.rb +116 -116
  270. data/spec/code_objects/extra_file_object_spec.rb +160 -160
  271. data/spec/code_objects/macro_object_spec.rb +150 -150
  272. data/spec/code_objects/method_object_spec.rb +184 -184
  273. data/spec/code_objects/module_object_spec.rb +142 -142
  274. data/spec/code_objects/namespace_object_spec.rb +171 -171
  275. data/spec/code_objects/proxy_spec.rb +141 -141
  276. data/spec/code_objects/spec_helper.rb +3 -3
  277. data/spec/config_spec.rb +171 -171
  278. data/spec/core_ext/array_spec.rb +13 -13
  279. data/spec/core_ext/file_spec.rb +72 -72
  280. data/spec/core_ext/hash_spec.rb +14 -14
  281. data/spec/core_ext/insertion_spec.rb +37 -37
  282. data/spec/core_ext/module_spec.rb +15 -15
  283. data/spec/core_ext/string_spec.rb +42 -42
  284. data/spec/core_ext/symbol_hash_spec.rb +89 -89
  285. data/spec/docstring_parser_spec.rb +280 -262
  286. data/spec/docstring_spec.rb +373 -364
  287. data/spec/examples.txt +1875 -1871
  288. data/spec/handlers/alias_handler_spec.rb +82 -82
  289. data/spec/handlers/attribute_handler_spec.rb +96 -96
  290. data/spec/handlers/base_spec.rb +216 -216
  291. data/spec/handlers/c/alias_handler_spec.rb +34 -34
  292. data/spec/handlers/c/attribute_handler_spec.rb +41 -41
  293. data/spec/handlers/c/class_handler_spec.rb +78 -78
  294. data/spec/handlers/c/constant_handler_spec.rb +71 -71
  295. data/spec/handlers/c/init_handler_spec.rb +48 -48
  296. data/spec/handlers/c/method_handler_spec.rb +325 -325
  297. data/spec/handlers/c/mixin_handler_spec.rb +44 -44
  298. data/spec/handlers/c/module_handler_spec.rb +71 -71
  299. data/spec/handlers/c/override_comment_handler_spec.rb +47 -47
  300. data/spec/handlers/c/path_handler_spec.rb +36 -36
  301. data/spec/handlers/c/spec_helper.rb +23 -23
  302. data/spec/handlers/c/struct_handler_spec.rb +16 -16
  303. data/spec/handlers/class_condition_handler_spec.rb +87 -87
  304. data/spec/handlers/class_handler_spec.rb +247 -247
  305. data/spec/handlers/class_method_handler_shared_examples.rb +133 -133
  306. data/spec/handlers/class_variable_handler_spec.rb +12 -12
  307. data/spec/handlers/constant_handler_spec.rb +112 -112
  308. data/spec/handlers/decorator_handler_methods_spec.rb +393 -393
  309. data/spec/handlers/dsl_handler_spec.rb +219 -219
  310. data/spec/handlers/examples/alias_handler_001.rb.txt +45 -45
  311. data/spec/handlers/examples/attribute_handler_001.rb.txt +31 -31
  312. data/spec/handlers/examples/class_condition_handler_001.rb.txt +68 -68
  313. data/spec/handlers/examples/class_handler_001.rb.txt +120 -120
  314. data/spec/handlers/examples/class_variable_handler_001.rb.txt +9 -9
  315. data/spec/handlers/examples/constant_handler_001.rb.txt +35 -35
  316. data/spec/handlers/examples/dsl_handler_001.rb.txt +154 -154
  317. data/spec/handlers/examples/exception_handler_001.rb.txt +58 -58
  318. data/spec/handlers/examples/extend_handler_001.rb.txt +15 -15
  319. data/spec/handlers/examples/method_condition_handler_001.rb.txt +9 -9
  320. data/spec/handlers/examples/method_handler_001.rb.txt +128 -128
  321. data/spec/handlers/examples/mixin_handler_001.rb.txt +37 -37
  322. data/spec/handlers/examples/module_handler_001.rb.txt +29 -29
  323. data/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -8
  324. data/spec/handlers/examples/process_handler_001.rb.txt +11 -11
  325. data/spec/handlers/examples/visibility_handler_001.rb.txt +35 -35
  326. data/spec/handlers/examples/yield_handler_001.rb.txt +54 -54
  327. data/spec/handlers/exception_handler_spec.rb +49 -49
  328. data/spec/handlers/extend_handler_spec.rb +24 -24
  329. data/spec/handlers/legacy_base_spec.rb +128 -128
  330. data/spec/handlers/method_condition_handler_spec.rb +15 -15
  331. data/spec/handlers/method_handler_spec.rb +190 -190
  332. data/spec/handlers/mixin_handler_spec.rb +56 -56
  333. data/spec/handlers/module_function_handler_spec.rb +106 -106
  334. data/spec/handlers/module_handler_spec.rb +35 -35
  335. data/spec/handlers/private_class_method_handler_spec.rb +11 -11
  336. data/spec/handlers/private_constant_handler_spec.rb +25 -25
  337. data/spec/handlers/processor_spec.rb +35 -35
  338. data/spec/handlers/public_class_method_handler_spec.rb +11 -11
  339. data/spec/handlers/ruby/base_spec.rb +95 -95
  340. data/spec/handlers/ruby/legacy/base_spec.rb +84 -84
  341. data/spec/handlers/spec_helper.rb +33 -33
  342. data/spec/handlers/visibility_handler_spec.rb +44 -44
  343. data/spec/handlers/yield_handler_spec.rb +52 -52
  344. data/spec/i18n/locale_spec.rb +81 -81
  345. data/spec/i18n/message_spec.rb +52 -52
  346. data/spec/i18n/messages_spec.rb +67 -67
  347. data/spec/i18n/pot_generator_spec.rb +295 -295
  348. data/spec/i18n/text_spec.rb +184 -184
  349. data/spec/logging_spec.rb +44 -44
  350. data/spec/options_spec.rb +171 -171
  351. data/spec/parser/base_spec.rb +24 -24
  352. data/spec/parser/c_parser_spec.rb +236 -223
  353. data/spec/parser/examples/array.c.txt +6267 -6267
  354. data/spec/parser/examples/example1.rb.txt +7 -7
  355. data/spec/parser/examples/extrafile.c.txt +8 -8
  356. data/spec/parser/examples/file.c.txt +28 -0
  357. data/spec/parser/examples/multifile.c.txt +22 -22
  358. data/spec/parser/examples/namespace.cpp.txt +68 -68
  359. data/spec/parser/examples/override.c.txt +424 -424
  360. data/spec/parser/examples/parse_in_order_001.rb.txt +2 -2
  361. data/spec/parser/examples/parse_in_order_002.rb.txt +1 -1
  362. data/spec/parser/examples/tag_handler_001.rb.txt +7 -7
  363. data/spec/parser/ruby/ast_node_spec.rb +33 -33
  364. data/spec/parser/ruby/legacy/statement_list_spec.rb +299 -299
  365. data/spec/parser/ruby/legacy/token_list_spec.rb +79 -79
  366. data/spec/parser/ruby/ruby_parser_spec.rb +508 -508
  367. data/spec/parser/ruby/token_resolver_spec.rb +165 -165
  368. data/spec/parser/source_parser_spec.rb +727 -727
  369. data/spec/parser/tag_parsing_spec.rb +17 -17
  370. data/spec/rake/yardoc_task_spec.rb +118 -118
  371. data/spec/registry_spec.rb +463 -463
  372. data/spec/registry_store_spec.rb +316 -316
  373. data/spec/rubygems/doc_manager_spec.rb +112 -112
  374. data/spec/serializers/data/serialized_yardoc/checksums +1 -1
  375. data/spec/serializers/file_system_serializer_spec.rb +145 -145
  376. data/spec/serializers/spec_helper.rb +2 -2
  377. data/spec/serializers/yardoc_serializer_spec.rb +78 -78
  378. data/spec/server/adapter_spec.rb +39 -39
  379. data/spec/server/commands/base_spec.rb +91 -91
  380. data/spec/server/commands/library_command_spec.rb +39 -39
  381. data/spec/server/doc_server_helper_spec.rb +72 -72
  382. data/spec/server/doc_server_serializer_spec.rb +60 -60
  383. data/spec/server/rack_adapter_spec.rb +21 -21
  384. data/spec/server/router_spec.rb +123 -123
  385. data/spec/server/spec_helper.rb +22 -22
  386. data/spec/server/static_caching_spec.rb +47 -47
  387. data/spec/server/webrick_servlet_spec.rb +20 -20
  388. data/spec/server_spec.rb +19 -19
  389. data/spec/spec_helper.rb +212 -212
  390. data/spec/tags/default_factory_spec.rb +168 -168
  391. data/spec/tags/default_tag_spec.rb +11 -11
  392. data/spec/tags/directives_spec.rb +463 -463
  393. data/spec/tags/library_spec.rb +48 -48
  394. data/spec/tags/overload_tag_spec.rb +53 -53
  395. data/spec/tags/ref_tag_list_spec.rb +53 -53
  396. data/spec/tags/types_explainer_spec.rb +203 -203
  397. data/spec/templates/class_spec.rb +45 -45
  398. data/spec/templates/constant_spec.rb +41 -41
  399. data/spec/templates/engine_spec.rb +131 -131
  400. data/spec/templates/examples/class001.html +308 -308
  401. data/spec/templates/examples/class001.txt +36 -36
  402. data/spec/templates/examples/class002.html +39 -39
  403. data/spec/templates/examples/constant001.txt +24 -24
  404. data/spec/templates/examples/constant002.txt +6 -6
  405. data/spec/templates/examples/constant003.txt +10 -10
  406. data/spec/templates/examples/method001.html +137 -137
  407. data/spec/templates/examples/method001.txt +35 -35
  408. data/spec/templates/examples/method002.html +91 -91
  409. data/spec/templates/examples/method002.txt +20 -20
  410. data/spec/templates/examples/method003.html +165 -165
  411. data/spec/templates/examples/method003.txt +45 -45
  412. data/spec/templates/examples/method004.html +48 -48
  413. data/spec/templates/examples/method004.txt +10 -10
  414. data/spec/templates/examples/method005.html +105 -105
  415. data/spec/templates/examples/method005.txt +33 -33
  416. data/spec/templates/examples/method006.html +107 -107
  417. data/spec/templates/examples/method006.txt +20 -20
  418. data/spec/templates/examples/module001.dot +33 -33
  419. data/spec/templates/examples/module001.html +833 -833
  420. data/spec/templates/examples/module001.txt +33 -33
  421. data/spec/templates/examples/module002.html +341 -341
  422. data/spec/templates/examples/module003.html +202 -202
  423. data/spec/templates/examples/module004.html +394 -394
  424. data/spec/templates/examples/module005.html +81 -81
  425. data/spec/templates/examples/tag001.txt +82 -82
  426. data/spec/templates/helpers/base_helper_spec.rb +171 -171
  427. data/spec/templates/helpers/html_helper_spec.rb +668 -653
  428. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +65 -65
  429. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -84
  430. data/spec/templates/helpers/markup_helper_spec.rb +136 -136
  431. data/spec/templates/helpers/method_helper_spec.rb +107 -107
  432. data/spec/templates/helpers/module_helper_spec.rb +35 -35
  433. data/spec/templates/helpers/shared_signature_examples.rb +126 -126
  434. data/spec/templates/helpers/text_helper_spec.rb +65 -65
  435. data/spec/templates/method_spec.rb +118 -118
  436. data/spec/templates/module_spec.rb +203 -203
  437. data/spec/templates/onefile_spec.rb +66 -66
  438. data/spec/templates/section_spec.rb +144 -144
  439. data/spec/templates/spec_helper.rb +76 -76
  440. data/spec/templates/tag_spec.rb +52 -52
  441. data/spec/templates/template_spec.rb +410 -410
  442. data/spec/verifier_spec.rb +106 -106
  443. data/templates/default/class/dot/setup.rb +7 -7
  444. data/templates/default/class/dot/superklass.erb +2 -2
  445. data/templates/default/class/html/constructor_details.erb +8 -8
  446. data/templates/default/class/html/setup.rb +2 -2
  447. data/templates/default/class/html/subclasses.erb +4 -4
  448. data/templates/default/class/setup.rb +36 -36
  449. data/templates/default/class/text/setup.rb +12 -12
  450. data/templates/default/class/text/subclasses.erb +5 -5
  451. data/templates/default/constant/text/header.erb +11 -11
  452. data/templates/default/constant/text/setup.rb +4 -4
  453. data/templates/default/docstring/html/abstract.erb +4 -4
  454. data/templates/default/docstring/html/deprecated.erb +1 -1
  455. data/templates/default/docstring/html/index.erb +5 -5
  456. data/templates/default/docstring/html/note.erb +6 -6
  457. data/templates/default/docstring/html/private.erb +4 -4
  458. data/templates/default/docstring/html/text.erb +1 -1
  459. data/templates/default/docstring/html/todo.erb +6 -6
  460. data/templates/default/docstring/setup.rb +52 -52
  461. data/templates/default/docstring/text/abstract.erb +2 -2
  462. data/templates/default/docstring/text/deprecated.erb +2 -2
  463. data/templates/default/docstring/text/index.erb +2 -2
  464. data/templates/default/docstring/text/note.erb +3 -3
  465. data/templates/default/docstring/text/private.erb +2 -2
  466. data/templates/default/docstring/text/text.erb +1 -1
  467. data/templates/default/docstring/text/todo.erb +3 -3
  468. data/templates/default/fulldoc/html/css/full_list.css +58 -58
  469. data/templates/default/fulldoc/html/css/style.css +496 -496
  470. data/templates/default/fulldoc/html/frames.erb +17 -17
  471. data/templates/default/fulldoc/html/full_list.erb +37 -37
  472. data/templates/default/fulldoc/html/full_list_class.erb +2 -2
  473. data/templates/default/fulldoc/html/full_list_file.erb +7 -7
  474. data/templates/default/fulldoc/html/full_list_method.erb +10 -10
  475. data/templates/default/fulldoc/html/js/app.js +292 -292
  476. data/templates/default/fulldoc/html/js/full_list.js +216 -216
  477. data/templates/default/fulldoc/html/js/jquery.js +3 -3
  478. data/templates/default/fulldoc/html/setup.rb +241 -241
  479. data/templates/default/layout/dot/header.erb +5 -5
  480. data/templates/default/layout/dot/setup.rb +15 -15
  481. data/templates/default/layout/html/breadcrumb.erb +11 -11
  482. data/templates/default/layout/html/files.erb +11 -11
  483. data/templates/default/layout/html/footer.erb +5 -5
  484. data/templates/default/layout/html/headers.erb +15 -15
  485. data/templates/default/layout/html/index.erb +2 -2
  486. data/templates/default/layout/html/layout.erb +23 -23
  487. data/templates/default/layout/html/listing.erb +4 -4
  488. data/templates/default/layout/html/objects.erb +32 -32
  489. data/templates/default/layout/html/script_setup.erb +4 -4
  490. data/templates/default/layout/html/search.erb +12 -12
  491. data/templates/default/layout/html/setup.rb +89 -89
  492. data/templates/default/method/html/header.erb +16 -16
  493. data/templates/default/method/setup.rb +4 -4
  494. data/templates/default/method_details/html/header.erb +2 -2
  495. data/templates/default/method_details/html/method_signature.erb +24 -24
  496. data/templates/default/method_details/html/source.erb +9 -9
  497. data/templates/default/method_details/setup.rb +11 -11
  498. data/templates/default/method_details/text/header.erb +10 -10
  499. data/templates/default/method_details/text/method_signature.erb +12 -12
  500. data/templates/default/method_details/text/setup.rb +11 -11
  501. data/templates/default/module/dot/child.erb +1 -1
  502. data/templates/default/module/dot/dependencies.erb +2 -2
  503. data/templates/default/module/dot/header.erb +6 -6
  504. data/templates/default/module/dot/info.erb +13 -13
  505. data/templates/default/module/dot/setup.rb +15 -15
  506. data/templates/default/module/html/attribute_details.erb +10 -10
  507. data/templates/default/module/html/attribute_summary.erb +8 -8
  508. data/templates/default/module/html/box_info.erb +43 -43
  509. data/templates/default/module/html/children.erb +8 -8
  510. data/templates/default/module/html/constant_summary.erb +17 -17
  511. data/templates/default/module/html/defines.erb +2 -2
  512. data/templates/default/module/html/header.erb +5 -5
  513. data/templates/default/module/html/inherited_attributes.erb +14 -14
  514. data/templates/default/module/html/inherited_constants.erb +8 -8
  515. data/templates/default/module/html/inherited_methods.erb +18 -18
  516. data/templates/default/module/html/item_summary.erb +40 -40
  517. data/templates/default/module/html/method_details_list.erb +9 -9
  518. data/templates/default/module/html/method_summary.erb +13 -13
  519. data/templates/default/module/html/methodmissing.erb +12 -12
  520. data/templates/default/module/setup.rb +167 -167
  521. data/templates/default/module/text/children.erb +9 -9
  522. data/templates/default/module/text/class_meths_list.erb +7 -7
  523. data/templates/default/module/text/extends.erb +7 -7
  524. data/templates/default/module/text/header.erb +7 -7
  525. data/templates/default/module/text/includes.erb +7 -7
  526. data/templates/default/module/text/instance_meths_list.erb +7 -7
  527. data/templates/default/module/text/setup.rb +13 -13
  528. data/templates/default/onefile/html/files.erb +4 -4
  529. data/templates/default/onefile/html/headers.erb +6 -6
  530. data/templates/default/onefile/html/layout.erb +17 -17
  531. data/templates/default/onefile/html/readme.erb +2 -2
  532. data/templates/default/onefile/html/setup.rb +62 -62
  533. data/templates/default/root/dot/child.erb +2 -2
  534. data/templates/default/root/dot/setup.rb +6 -6
  535. data/templates/default/root/html/setup.rb +2 -2
  536. data/templates/default/tags/html/example.erb +10 -10
  537. data/templates/default/tags/html/index.erb +2 -2
  538. data/templates/default/tags/html/option.erb +24 -24
  539. data/templates/default/tags/html/overload.erb +13 -13
  540. data/templates/default/tags/html/see.erb +7 -7
  541. data/templates/default/tags/html/tag.erb +20 -20
  542. data/templates/default/tags/setup.rb +57 -57
  543. data/templates/default/tags/text/example.erb +12 -12
  544. data/templates/default/tags/text/index.erb +1 -1
  545. data/templates/default/tags/text/option.erb +20 -20
  546. data/templates/default/tags/text/overload.erb +19 -19
  547. data/templates/default/tags/text/see.erb +11 -11
  548. data/templates/default/tags/text/tag.erb +13 -13
  549. data/templates/guide/class/html/setup.rb +2 -2
  550. data/templates/guide/docstring/html/setup.rb +2 -2
  551. data/templates/guide/fulldoc/html/css/style.css +108 -108
  552. data/templates/guide/fulldoc/html/js/app.js +33 -33
  553. data/templates/guide/fulldoc/html/setup.rb +74 -74
  554. data/templates/guide/layout/html/layout.erb +81 -81
  555. data/templates/guide/layout/html/setup.rb +25 -25
  556. data/templates/guide/method/html/header.erb +17 -17
  557. data/templates/guide/method/html/setup.rb +22 -22
  558. data/templates/guide/module/html/header.erb +6 -6
  559. data/templates/guide/module/html/method_list.erb +4 -4
  560. data/templates/guide/module/html/setup.rb +27 -27
  561. data/templates/guide/onefile/html/files.erb +4 -4
  562. data/templates/guide/onefile/html/setup.rb +6 -6
  563. data/templates/guide/onefile/html/toc.erb +3 -3
  564. data/templates/guide/tags/html/setup.rb +9 -9
  565. data/yard.gemspec +43 -43
  566. metadata +4 -4
@@ -1,64 +1,64 @@
1
- # frozen_string_literal: true
2
- require 'benchmark'
3
- require 'dbm'
4
-
5
- MARSHAL_FILE = "marshal_test.db"
6
- DBM_FILE = "dbm_test"
7
- WRITE_TIMES = 1
8
- READ_TIMES = 100
9
- NUM_INDICES = 10_000
10
- INDICES = ['33', '857', '5022', '8555']
11
-
12
- def generate_index
13
- '0' * (rand * 4096).floor
14
- end
15
-
16
- def write_dbm
17
- File.unlink(DBM_FILE + ".db") if File.exist?(DBM_FILE + ".db")
18
- handle = DBM.new(DBM_FILE)
19
- NUM_INDICES.times {|t| handle[t.to_s] = Marshal.dump(generate_index) }
20
- handle.close
21
- end
22
-
23
- def read_dbm
24
- db = DBM.open(DBM_FILE)
25
- INDICES.each {|index| Marshal.load(db[index]) }
26
- db.close
27
- end
28
-
29
- def write_marshal
30
- File.unlink(MARSHAL_FILE) if File.exist?(MARSHAL_FILE)
31
- handle = {}
32
- NUM_INDICES.times {|t| handle[t.to_s] = generate_index }
33
- File.open(MARSHAL_FILE, "wb") {|f| f.write(Marshal.dump(handle)) }
34
- end
35
-
36
- def read_marshal
37
- db = Marshal.load(File.read(MARSHAL_FILE))
38
- INDICES.each {|index| db[index] }
39
- end
40
-
41
- Benchmark.bmbm do |x|
42
- x.report("marshal-write") { WRITE_TIMES.times { write_marshal } }
43
- x.report("dbm-write") { WRITE_TIMES.times { write_dbm } }
44
- x.report("marshal-read ") { READ_TIMES.times { read_marshal } }
45
- x.report("dbm-read ") { READ_TIMES.times { read_dbm } }
46
- end
47
-
48
- File.unlink(MARSHAL_FILE)
49
- File.unlink(DBM_FILE + ".db")
50
-
51
- __END__
52
-
53
- Rehearsal -------------------------------------------------
54
- marshal-write 0.090000 0.070000 0.160000 ( 0.465820)
55
- dbm-write 0.560000 0.570000 1.130000 ( 3.045556)
56
- marshal-read 4.640000 3.180000 7.820000 ( 7.821978)
57
- dbm-read 0.020000 0.020000 0.040000 ( 0.070920)
58
- ---------------------------------------- total: 9.150000sec
59
-
60
- user system total real
61
- marshal-write 0.080000 0.050000 0.130000 ( 0.436561)
62
- dbm-write 0.560000 0.550000 1.110000 ( 2.030530)
63
- marshal-read 4.670000 3.180000 7.850000 ( 7.842232)
64
- dbm-read 0.010000 0.020000 0.030000 ( 0.053928)
1
+ # frozen_string_literal: true
2
+ require 'benchmark'
3
+ require 'dbm'
4
+
5
+ MARSHAL_FILE = "marshal_test.db"
6
+ DBM_FILE = "dbm_test"
7
+ WRITE_TIMES = 1
8
+ READ_TIMES = 100
9
+ NUM_INDICES = 10_000
10
+ INDICES = ['33', '857', '5022', '8555']
11
+
12
+ def generate_index
13
+ '0' * (rand * 4096).floor
14
+ end
15
+
16
+ def write_dbm
17
+ File.unlink(DBM_FILE + ".db") if File.exist?(DBM_FILE + ".db")
18
+ handle = DBM.new(DBM_FILE)
19
+ NUM_INDICES.times {|t| handle[t.to_s] = Marshal.dump(generate_index) }
20
+ handle.close
21
+ end
22
+
23
+ def read_dbm
24
+ db = DBM.open(DBM_FILE)
25
+ INDICES.each {|index| Marshal.load(db[index]) }
26
+ db.close
27
+ end
28
+
29
+ def write_marshal
30
+ File.unlink(MARSHAL_FILE) if File.exist?(MARSHAL_FILE)
31
+ handle = {}
32
+ NUM_INDICES.times {|t| handle[t.to_s] = generate_index }
33
+ File.open(MARSHAL_FILE, "wb") {|f| f.write(Marshal.dump(handle)) }
34
+ end
35
+
36
+ def read_marshal
37
+ db = Marshal.load(File.read(MARSHAL_FILE))
38
+ INDICES.each {|index| db[index] }
39
+ end
40
+
41
+ Benchmark.bmbm do |x|
42
+ x.report("marshal-write") { WRITE_TIMES.times { write_marshal } }
43
+ x.report("dbm-write") { WRITE_TIMES.times { write_dbm } }
44
+ x.report("marshal-read ") { READ_TIMES.times { read_marshal } }
45
+ x.report("dbm-read ") { READ_TIMES.times { read_dbm } }
46
+ end
47
+
48
+ File.unlink(MARSHAL_FILE)
49
+ File.unlink(DBM_FILE + ".db")
50
+
51
+ __END__
52
+
53
+ Rehearsal -------------------------------------------------
54
+ marshal-write 0.090000 0.070000 0.160000 ( 0.465820)
55
+ dbm-write 0.560000 0.570000 1.130000 ( 3.045556)
56
+ marshal-read 4.640000 3.180000 7.820000 ( 7.821978)
57
+ dbm-read 0.020000 0.020000 0.040000 ( 0.070920)
58
+ ---------------------------------------- total: 9.150000sec
59
+
60
+ user system total real
61
+ marshal-write 0.080000 0.050000 0.130000 ( 0.436561)
62
+ dbm-write 0.560000 0.550000 1.110000 ( 2.030530)
63
+ marshal-read 4.670000 3.180000 7.850000 ( 7.842232)
64
+ dbm-read 0.010000 0.020000 0.030000 ( 0.053928)
@@ -1,46 +1,46 @@
1
- # frozen_string_literal: true
2
- require "benchmark"
3
- require 'yard'
4
- require 'logger'
5
-
6
- PATH_ORDER = [
7
- 'lib/yard/autoload.rb',
8
- 'lib/yard/code_objects/base.rb',
9
- 'lib/yard/code_objects/namespace_object.rb',
10
- 'lib/yard/handlers/base.rb',
11
- 'lib/yard/generators/helpers/*.rb',
12
- 'lib/yard/generators/base.rb',
13
- 'lib/yard/generators/method_listing_generator.rb',
14
- 'lib/yard/serializers/base.rb',
15
- 'lib/**/*.rb'
16
- ]
17
-
18
- Benchmark.bmbm do |x|
19
- x.report("parse in order") { YARD::Registry.clear; YARD.parse PATH_ORDER, [], Logger::ERROR }
20
- x.report("parse") { YARD::Registry.clear; YARD.parse 'lib/**/*.rb', [], Logger::ERROR }
21
- end
22
-
23
- =begin
24
- load_order branch (2008-06-07):
25
-
26
- Rehearsal --------------------------------------------------
27
- parse in order 6.510000 0.050000 6.560000 ( 6.563223)
28
- parse 6.300000 0.040000 6.340000 ( 6.362272)
29
- ---------------------------------------- total: 12.900000sec
30
-
31
- user system total real
32
- parse in order 6.310000 0.060000 6.370000 ( 6.390945)
33
- parse 6.300000 0.050000 6.350000 ( 6.366709)
34
-
35
-
36
- api_changes branch before merge (2008-06-07)
37
-
38
- Rehearsal --------------------------------------------------
39
- parse in order 6.330000 0.050000 6.380000 ( 6.397552)
40
- parse 6.380000 0.050000 6.430000 ( 6.446954)
41
- ---------------------------------------- total: 12.810000sec
42
-
43
- user system total real
44
- parse in order 6.320000 0.040000 6.360000 ( 6.394460)
45
- parse 6.040000 0.040000 6.080000 ( 6.099738)
46
- =end
1
+ # frozen_string_literal: true
2
+ require "benchmark"
3
+ require 'yard'
4
+ require 'logger'
5
+
6
+ PATH_ORDER = [
7
+ 'lib/yard/autoload.rb',
8
+ 'lib/yard/code_objects/base.rb',
9
+ 'lib/yard/code_objects/namespace_object.rb',
10
+ 'lib/yard/handlers/base.rb',
11
+ 'lib/yard/generators/helpers/*.rb',
12
+ 'lib/yard/generators/base.rb',
13
+ 'lib/yard/generators/method_listing_generator.rb',
14
+ 'lib/yard/serializers/base.rb',
15
+ 'lib/**/*.rb'
16
+ ]
17
+
18
+ Benchmark.bmbm do |x|
19
+ x.report("parse in order") { YARD::Registry.clear; YARD.parse PATH_ORDER, [], Logger::ERROR }
20
+ x.report("parse") { YARD::Registry.clear; YARD.parse 'lib/**/*.rb', [], Logger::ERROR }
21
+ end
22
+
23
+ =begin
24
+ load_order branch (2008-06-07):
25
+
26
+ Rehearsal --------------------------------------------------
27
+ parse in order 6.510000 0.050000 6.560000 ( 6.563223)
28
+ parse 6.300000 0.040000 6.340000 ( 6.362272)
29
+ ---------------------------------------- total: 12.900000sec
30
+
31
+ user system total real
32
+ parse in order 6.310000 0.060000 6.370000 ( 6.390945)
33
+ parse 6.300000 0.050000 6.350000 ( 6.366709)
34
+
35
+
36
+ api_changes branch before merge (2008-06-07)
37
+
38
+ Rehearsal --------------------------------------------------
39
+ parse in order 6.330000 0.050000 6.380000 ( 6.397552)
40
+ parse 6.380000 0.050000 6.430000 ( 6.446954)
41
+ ---------------------------------------- total: 12.810000sec
42
+
43
+ user system total real
44
+ parse in order 6.320000 0.040000 6.360000 ( 6.394460)
45
+ parse 6.040000 0.040000 6.080000 ( 6.099738)
46
+ =end
@@ -1,51 +1,51 @@
1
- # frozen_string_literal: true
2
- require 'pathname'
3
- require "benchmark"
4
- require File.dirname(__FILE__) + '/../lib/yard'
5
-
6
- pathobj = Pathname.new("a/b/c")
7
- strobj = "a/b/c"
8
-
9
- TIMES = 1_000
10
-
11
- log.puts "join:"
12
- Benchmark.bmbm do |x|
13
- x.report("pathname") { TIMES.times { Pathname.new("a/b/c").join("d", "e", "f") } }
14
- x.report("string ") { TIMES.times { File.join("a/b/c", "d", "e", "f") } }
15
- x.report("pathname-sameobject") { TIMES.times { pathobj.join("d", "e", "f") } }
16
- x.report("string-sameobject ") { TIMES.times { File.join(strobj, "d", "e", "f") } }
17
- end
18
-
19
- log.puts
20
- log.puts
21
- log.puts "cleanpath:"
22
- Benchmark.bmbm do |x|
23
- x.report("pathname") { TIMES.times { Pathname.new("a/b//.././c").cleanpath } }
24
- x.report("string ") { TIMES.times { File.cleanpath("a/b//.././c") } }
25
- end
26
-
27
- __END__
28
- join:
29
- Rehearsal -------------------------------------------------------
30
- pathname 0.330000 0.020000 0.350000 ( 0.353481)
31
- string 0.010000 0.000000 0.010000 ( 0.001390)
32
- pathname-sameobject 0.360000 0.020000 0.380000 ( 0.384473)
33
- string-sameobject 0.000000 0.000000 0.000000 ( 0.001187)
34
- ---------------------------------------------- total: 0.740000sec
35
-
36
- user system total real
37
- pathname 0.330000 0.020000 0.350000 ( 0.350820)
38
- string 0.000000 0.000000 0.000000 ( 0.001055)
39
- pathname-sameobject 0.330000 0.010000 0.340000 ( 0.346949)
40
- string-sameobject 0.000000 0.000000 0.000000 ( 0.001141)
41
-
42
-
43
- cleanpath:
44
- Rehearsal --------------------------------------------
45
- pathname 0.060000 0.000000 0.060000 ( 0.059767)
46
- string 0.010000 0.000000 0.010000 ( 0.013775)
47
- ----------------------------------- total: 0.070000sec
48
-
49
- user system total real
50
- pathname 0.060000 0.000000 0.060000 ( 0.059697)
1
+ # frozen_string_literal: true
2
+ require 'pathname'
3
+ require "benchmark"
4
+ require File.dirname(__FILE__) + '/../lib/yard'
5
+
6
+ pathobj = Pathname.new("a/b/c")
7
+ strobj = "a/b/c"
8
+
9
+ TIMES = 1_000
10
+
11
+ log.puts "join:"
12
+ Benchmark.bmbm do |x|
13
+ x.report("pathname") { TIMES.times { Pathname.new("a/b/c").join("d", "e", "f") } }
14
+ x.report("string ") { TIMES.times { File.join("a/b/c", "d", "e", "f") } }
15
+ x.report("pathname-sameobject") { TIMES.times { pathobj.join("d", "e", "f") } }
16
+ x.report("string-sameobject ") { TIMES.times { File.join(strobj, "d", "e", "f") } }
17
+ end
18
+
19
+ log.puts
20
+ log.puts
21
+ log.puts "cleanpath:"
22
+ Benchmark.bmbm do |x|
23
+ x.report("pathname") { TIMES.times { Pathname.new("a/b//.././c").cleanpath } }
24
+ x.report("string ") { TIMES.times { File.cleanpath("a/b//.././c") } }
25
+ end
26
+
27
+ __END__
28
+ join:
29
+ Rehearsal -------------------------------------------------------
30
+ pathname 0.330000 0.020000 0.350000 ( 0.353481)
31
+ string 0.010000 0.000000 0.010000 ( 0.001390)
32
+ pathname-sameobject 0.360000 0.020000 0.380000 ( 0.384473)
33
+ string-sameobject 0.000000 0.000000 0.000000 ( 0.001187)
34
+ ---------------------------------------------- total: 0.740000sec
35
+
36
+ user system total real
37
+ pathname 0.330000 0.020000 0.350000 ( 0.350820)
38
+ string 0.000000 0.000000 0.000000 ( 0.001055)
39
+ pathname-sameobject 0.330000 0.010000 0.340000 ( 0.346949)
40
+ string-sameobject 0.000000 0.000000 0.000000 ( 0.001141)
41
+
42
+
43
+ cleanpath:
44
+ Rehearsal --------------------------------------------
45
+ pathname 0.060000 0.000000 0.060000 ( 0.059767)
46
+ string 0.010000 0.000000 0.010000 ( 0.013775)
47
+ ----------------------------------- total: 0.070000sec
48
+
49
+ user system total real
50
+ pathname 0.060000 0.000000 0.060000 ( 0.059697)
51
51
  string 0.020000 0.000000 0.020000 ( 0.013624)
@@ -1,11 +1,11 @@
1
- # frozen_string_literal: true
2
- require "benchmark"
3
-
4
- files = Dir.glob(File.dirname(__FILE__) + '/../lib/**/*.rb').join(" ")
5
- Benchmark.bmbm do |x|
6
- x.report("rdoc") { `rm -rf rdoc && rdoc -q -o rdoc #{files} && rm -rf rdoc` }
7
- x.report("yardoc") { `rm -rf yard && ./bin/yardoc -q -o yard #{files} && rm -rf yard` }
8
- x.report("yardoc-cached") { `rm -rf yard && ./bin/yardoc -c -q -o yard #{files} && rm -rf yard` }
9
- x.report("yardoc-legacy") { `rm -rf yard && ./bin/yardoc --legacy -q -o yard #{files} && rm -rf yard` }
10
- x.report("yardoc-legacy-cached") { `rm -rf yard && ./bin/yardoc --legacy -c -q -o yard #{files} && rm -rf yard` }
11
- end
1
+ # frozen_string_literal: true
2
+ require "benchmark"
3
+
4
+ files = Dir.glob(File.dirname(__FILE__) + '/../lib/**/*.rb').join(" ")
5
+ Benchmark.bmbm do |x|
6
+ x.report("rdoc") { `rm -rf rdoc && rdoc -q -o rdoc #{files} && rm -rf rdoc` }
7
+ x.report("yardoc") { `rm -rf yard && ./bin/yardoc -q -o yard #{files} && rm -rf yard` }
8
+ x.report("yardoc-cached") { `rm -rf yard && ./bin/yardoc -c -q -o yard #{files} && rm -rf yard` }
9
+ x.report("yardoc-legacy") { `rm -rf yard && ./bin/yardoc --legacy -q -o yard #{files} && rm -rf yard` }
10
+ x.report("yardoc-legacy-cached") { `rm -rf yard && ./bin/yardoc --legacy -c -q -o yard #{files} && rm -rf yard` }
11
+ end
@@ -1,49 +1,49 @@
1
- # frozen_string_literal: true
2
- require 'benchmark'
3
- require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')
4
-
5
- def parse_and_select_objects
6
- YARD::Registry.load_yardoc(File.join(File.dirname(__FILE__), '..', '.yardoc'))
7
- YARD::Registry.load_all
8
- $paths = []
9
- 4.times { $paths << YARD::Registry.paths[rand(YARD::Registry.paths.size)] }
10
-
11
- $regular_registry = {}
12
- $types_registry = {}
13
- YARD::Registry.all.each do |object|
14
- $regular_registry[object.path] = object
15
- ($types_registry[object.type] ||= {})[object.path] = object
16
- end
17
- end
18
-
19
- def run_lookup
20
- $paths.select {|path| $regular_registry[path] }
21
- end
22
-
23
- def run_lookup_with_types
24
- $paths.select {|path| $types_registry.values.find {|list| list[path] } }
25
- end
26
-
27
- TIMES = 100_000
28
-
29
- parse_and_select_objects
30
- p $paths
31
- Benchmark.bmbm do |x|
32
- x.report("normal") { TIMES.times { run_lookup } }
33
- x.report("types") { TIMES.times { run_lookup_with_types } }
34
- end
35
-
36
- __END__
37
- # Run on March 22 2012
38
- ["YARD::Parser::Ruby::Legacy::RubyToken::TkUnknownChar#initialize",
39
- "YARD::Parser::C::CParser#enumerator",
40
- "YARD::CodeObjects::ClassObject#inherited_meths",
41
- "YARD::Parser::C::Statement#source="]
42
- Rehearsal ----------------------------------------------
43
- normal 0.180000 0.000000 0.180000 ( 0.182640)
44
- types 1.150000 0.010000 1.160000 ( 1.160219)
45
- ------------------------------------- total: 1.340000sec
46
-
47
- user system total real
48
- normal 0.170000 0.000000 0.170000 ( 0.165621)
49
- types 1.140000 0.000000 1.140000 ( 1.142269)
1
+ # frozen_string_literal: true
2
+ require 'benchmark'
3
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')
4
+
5
+ def parse_and_select_objects
6
+ YARD::Registry.load_yardoc(File.join(File.dirname(__FILE__), '..', '.yardoc'))
7
+ YARD::Registry.load_all
8
+ $paths = []
9
+ 4.times { $paths << YARD::Registry.paths[rand(YARD::Registry.paths.size)] }
10
+
11
+ $regular_registry = {}
12
+ $types_registry = {}
13
+ YARD::Registry.all.each do |object|
14
+ $regular_registry[object.path] = object
15
+ ($types_registry[object.type] ||= {})[object.path] = object
16
+ end
17
+ end
18
+
19
+ def run_lookup
20
+ $paths.select {|path| $regular_registry[path] }
21
+ end
22
+
23
+ def run_lookup_with_types
24
+ $paths.select {|path| $types_registry.values.find {|list| list[path] } }
25
+ end
26
+
27
+ TIMES = 100_000
28
+
29
+ parse_and_select_objects
30
+ p $paths
31
+ Benchmark.bmbm do |x|
32
+ x.report("normal") { TIMES.times { run_lookup } }
33
+ x.report("types") { TIMES.times { run_lookup_with_types } }
34
+ end
35
+
36
+ __END__
37
+ # Run on March 22 2012
38
+ ["YARD::Parser::Ruby::Legacy::RubyToken::TkUnknownChar#initialize",
39
+ "YARD::Parser::C::CParser#enumerator",
40
+ "YARD::CodeObjects::ClassObject#inherited_meths",
41
+ "YARD::Parser::C::Statement#source="]
42
+ Rehearsal ----------------------------------------------
43
+ normal 0.180000 0.000000 0.180000 ( 0.182640)
44
+ types 1.150000 0.010000 1.160000 ( 1.160219)
45
+ ------------------------------------- total: 1.340000sec
46
+
47
+ user system total real
48
+ normal 0.170000 0.000000 0.170000 ( 0.165621)
49
+ types 1.140000 0.000000 1.140000 ( 1.142269)
@@ -1,19 +1,19 @@
1
- # frozen_string_literal: true
2
- require "benchmark"
3
-
4
- TIMES = 10
5
- Benchmark.bmbm do |x|
6
- x.report("ri") { TIMES.times { `ri -T YARD::Tags::Library` } }
7
- x.report("yri") { TIMES.times { `./bin/yri -T YARD::Tags::Library` } }
8
- end
9
-
10
- __END__
11
-
12
- Rehearsal ---------------------------------------
13
- ri 0.000000 0.020000 6.880000 ( 6.929591)
14
- yri 0.000000 0.000000 1.060000 ( 1.074840)
15
- ------------------------------ total: 7.940000sec
16
-
17
- user system total real
18
- ri 0.000000 0.020000 6.850000 ( 6.871660)
19
- yri 0.000000 0.010000 1.060000 ( 1.067585)
1
+ # frozen_string_literal: true
2
+ require "benchmark"
3
+
4
+ TIMES = 10
5
+ Benchmark.bmbm do |x|
6
+ x.report("ri") { TIMES.times { `ri -T YARD::Tags::Library` } }
7
+ x.report("yri") { TIMES.times { `./bin/yri -T YARD::Tags::Library` } }
8
+ end
9
+
10
+ __END__
11
+
12
+ Rehearsal ---------------------------------------
13
+ ri 0.000000 0.020000 6.880000 ( 6.929591)
14
+ yri 0.000000 0.000000 1.060000 ( 1.074840)
15
+ ------------------------------ total: 7.940000sec
16
+
17
+ user system total real
18
+ ri 0.000000 0.020000 6.850000 ( 6.871660)
19
+ yri 0.000000 0.010000 1.060000 ( 1.067585)