yard 0.9.5 → 0.9.6

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 (575) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -0
  3. data/CHANGELOG.md +20 -0
  4. data/LEGAL +0 -0
  5. data/LICENSE +0 -0
  6. data/README.md +70 -35
  7. data/Rakefile +10 -39
  8. data/benchmarks/builtins_vs_eval.rb +9 -8
  9. data/benchmarks/concat_vs_join.rb +1 -0
  10. data/benchmarks/erb_vs_erubis.rb +3 -2
  11. data/benchmarks/format_args.rb +1 -0
  12. data/benchmarks/generation.rb +2 -1
  13. data/benchmarks/marshal_vs_dbm.rb +2 -1
  14. data/benchmarks/parsing.rb +1 -1
  15. data/benchmarks/pathname_vs_string.rb +1 -0
  16. data/benchmarks/rdoc_vs_yardoc.rb +2 -1
  17. data/benchmarks/registry_store_types.rb +1 -0
  18. data/benchmarks/ri_vs_yri.rb +1 -0
  19. data/benchmarks/ripper_parser.rb +2 -1
  20. data/benchmarks/splat_vs_flatten.rb +4 -3
  21. data/benchmarks/template_erb.rb +2 -1
  22. data/benchmarks/template_format.rb +1 -0
  23. data/benchmarks/template_profile.rb +4 -3
  24. data/benchmarks/yri_cache.rb +2 -1
  25. data/bin/yard +2 -1
  26. data/bin/yardoc +2 -1
  27. data/bin/yri +2 -1
  28. data/docs/CodeObjects.md +0 -0
  29. data/docs/GettingStarted.md +0 -0
  30. data/docs/Handlers.md +0 -0
  31. data/docs/Overview.md +0 -0
  32. data/docs/Parser.md +0 -0
  33. data/docs/Tags.md +0 -0
  34. data/docs/TagsArch.md +0 -0
  35. data/docs/Templates.md +0 -0
  36. data/docs/WhatsNew.md +0 -0
  37. data/docs/images/code-objects-class-diagram.png +0 -0
  38. data/docs/images/tags-class-diagram.png +0 -0
  39. data/docs/templates/default/fulldoc/html/full_list_tag.erb +0 -0
  40. data/docs/templates/default/fulldoc/html/setup.rb +1 -1
  41. data/docs/templates/default/layout/html/setup.rb +1 -0
  42. data/docs/templates/default/layout/html/tag_list.erb +0 -0
  43. data/docs/templates/default/yard_tags/html/list.erb +0 -0
  44. data/docs/templates/default/yard_tags/html/setup.rb +18 -19
  45. data/docs/templates/plugin.rb +18 -13
  46. data/lib/rubygems_plugin.rb +1 -0
  47. data/lib/yard.rb +5 -6
  48. data/lib/yard/autoload.rb +4 -0
  49. data/lib/yard/cli/command.rb +3 -2
  50. data/lib/yard/cli/command_parser.rb +4 -3
  51. data/lib/yard/cli/config.rb +5 -4
  52. data/lib/yard/cli/diff.rb +39 -39
  53. data/lib/yard/cli/display.rb +2 -1
  54. data/lib/yard/cli/gems.rb +6 -5
  55. data/lib/yard/cli/graph.rb +4 -5
  56. data/lib/yard/cli/help.rb +4 -2
  57. data/lib/yard/cli/i18n.rb +2 -1
  58. data/lib/yard/cli/list.rb +2 -1
  59. data/lib/yard/cli/markup_types.rb +4 -5
  60. data/lib/yard/cli/server.rb +27 -24
  61. data/lib/yard/cli/stats.rb +20 -16
  62. data/lib/yard/cli/yardoc.rb +22 -19
  63. data/lib/yard/cli/yardopts_command.rb +3 -2
  64. data/lib/yard/cli/yri.rb +26 -25
  65. data/lib/yard/code_objects/base.rb +41 -37
  66. data/lib/yard/code_objects/class_object.rb +3 -2
  67. data/lib/yard/code_objects/class_variable_object.rb +2 -1
  68. data/lib/yard/code_objects/constant_object.rb +2 -1
  69. data/lib/yard/code_objects/extended_method_object.rb +2 -1
  70. data/lib/yard/code_objects/extra_file_object.rb +1 -0
  71. data/lib/yard/code_objects/macro_object.rb +10 -10
  72. data/lib/yard/code_objects/method_object.rb +15 -13
  73. data/lib/yard/code_objects/module_object.rb +1 -0
  74. data/lib/yard/code_objects/namespace_mapper.rb +1 -0
  75. data/lib/yard/code_objects/namespace_object.rb +2 -5
  76. data/lib/yard/code_objects/proxy.rb +35 -53
  77. data/lib/yard/code_objects/root_object.rb +3 -1
  78. data/lib/yard/config.rb +8 -9
  79. data/lib/yard/core_ext/array.rb +1 -0
  80. data/lib/yard/core_ext/file.rb +4 -3
  81. data/lib/yard/core_ext/hash.rb +3 -2
  82. data/lib/yard/core_ext/insertion.rb +7 -4
  83. data/lib/yard/core_ext/module.rb +2 -1
  84. data/lib/yard/core_ext/string.rb +5 -4
  85. data/lib/yard/core_ext/symbol_hash.rb +8 -6
  86. data/lib/yard/docstring.rb +26 -15
  87. data/lib/yard/docstring_parser.rb +61 -61
  88. data/lib/yard/gem_index.rb +17 -0
  89. data/lib/yard/globals.rb +6 -2
  90. data/lib/yard/handlers/base.rb +22 -23
  91. data/lib/yard/handlers/c/alias_handler.rb +3 -2
  92. data/lib/yard/handlers/c/attribute_handler.rb +2 -2
  93. data/lib/yard/handlers/c/base.rb +13 -13
  94. data/lib/yard/handlers/c/class_handler.rb +1 -0
  95. data/lib/yard/handlers/c/constant_handler.rb +3 -2
  96. data/lib/yard/handlers/c/handler_methods.rb +24 -25
  97. data/lib/yard/handlers/c/init_handler.rb +4 -2
  98. data/lib/yard/handlers/c/method_handler.rb +7 -6
  99. data/lib/yard/handlers/c/mixin_handler.rb +3 -1
  100. data/lib/yard/handlers/c/module_handler.rb +1 -0
  101. data/lib/yard/handlers/c/override_comment_handler.rb +2 -1
  102. data/lib/yard/handlers/c/path_handler.rb +1 -0
  103. data/lib/yard/handlers/c/struct_handler.rb +1 -0
  104. data/lib/yard/handlers/c/symbol_handler.rb +2 -1
  105. data/lib/yard/handlers/processor.rb +14 -15
  106. data/lib/yard/handlers/ruby/alias_handler.rb +4 -2
  107. data/lib/yard/handlers/ruby/attribute_handler.rb +11 -6
  108. data/lib/yard/handlers/ruby/base.rb +5 -4
  109. data/lib/yard/handlers/ruby/class_condition_handler.rb +4 -3
  110. data/lib/yard/handlers/ruby/class_handler.rb +7 -9
  111. data/lib/yard/handlers/ruby/class_variable_handler.rb +2 -1
  112. data/lib/yard/handlers/ruby/comment_handler.rb +1 -0
  113. data/lib/yard/handlers/ruby/constant_handler.rb +9 -5
  114. data/lib/yard/handlers/ruby/decorator_handler_methods.rb +15 -28
  115. data/lib/yard/handlers/ruby/dsl_handler.rb +1 -0
  116. data/lib/yard/handlers/ruby/dsl_handler_methods.rb +7 -6
  117. data/lib/yard/handlers/ruby/exception_handler.rb +1 -0
  118. data/lib/yard/handlers/ruby/extend_handler.rb +1 -0
  119. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +6 -4
  120. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +12 -7
  121. data/lib/yard/handlers/ruby/legacy/base.rb +21 -26
  122. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +7 -7
  123. data/lib/yard/handlers/ruby/legacy/class_handler.rb +7 -5
  124. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +2 -1
  125. data/lib/yard/handlers/ruby/legacy/comment_handler.rb +1 -0
  126. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +2 -1
  127. data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +1 -0
  128. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +2 -1
  129. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +2 -1
  130. data/lib/yard/handlers/ruby/legacy/method_handler.rb +11 -6
  131. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +5 -5
  132. data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +2 -1
  133. data/lib/yard/handlers/ruby/legacy/module_handler.rb +2 -1
  134. data/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +2 -1
  135. data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +2 -1
  136. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +3 -2
  137. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +1 -0
  138. data/lib/yard/handlers/ruby/method_condition_handler.rb +2 -1
  139. data/lib/yard/handlers/ruby/method_handler.rb +9 -11
  140. data/lib/yard/handlers/ruby/mixin_handler.rb +2 -1
  141. data/lib/yard/handlers/ruby/module_function_handler.rb +2 -1
  142. data/lib/yard/handlers/ruby/module_handler.rb +2 -1
  143. data/lib/yard/handlers/ruby/private_class_method_handler.rb +1 -0
  144. data/lib/yard/handlers/ruby/private_constant_handler.rb +2 -2
  145. data/lib/yard/handlers/ruby/public_class_method_handler.rb +1 -0
  146. data/lib/yard/handlers/ruby/struct_handler_methods.rb +5 -4
  147. data/lib/yard/handlers/ruby/visibility_handler.rb +1 -0
  148. data/lib/yard/handlers/ruby/yield_handler.rb +1 -0
  149. data/lib/yard/i18n/locale.rb +1 -0
  150. data/lib/yard/i18n/message.rb +5 -4
  151. data/lib/yard/i18n/messages.rb +2 -1
  152. data/lib/yard/i18n/po_parser.rb +5 -4
  153. data/lib/yard/i18n/pot_generator.rb +8 -8
  154. data/lib/yard/i18n/text.rb +9 -9
  155. data/lib/yard/logging.rb +9 -6
  156. data/lib/yard/options.rb +8 -7
  157. data/lib/yard/parser/base.rb +3 -2
  158. data/lib/yard/parser/c/c_parser.rb +22 -21
  159. data/lib/yard/parser/c/comment_parser.rb +9 -6
  160. data/lib/yard/parser/c/statement.rb +1 -0
  161. data/lib/yard/parser/ruby/ast_node.rb +20 -18
  162. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +99 -122
  163. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +3 -2
  164. data/lib/yard/parser/ruby/legacy/statement.rb +4 -3
  165. data/lib/yard/parser/ruby/legacy/statement_list.rb +52 -42
  166. data/lib/yard/parser/ruby/legacy/token_list.rb +16 -13
  167. data/lib/yard/parser/ruby/ruby_parser.rb +87 -63
  168. data/lib/yard/parser/ruby/token_resolver.rb +156 -0
  169. data/lib/yard/parser/source_parser.rb +28 -20
  170. data/lib/yard/rake/yardoc_task.rb +3 -3
  171. data/lib/yard/registry.rb +14 -16
  172. data/lib/yard/registry_resolver.rb +36 -20
  173. data/lib/yard/registry_store.rb +19 -15
  174. data/lib/yard/rubygems/backports.rb +2 -0
  175. data/lib/yard/rubygems/backports/LICENSE.txt +0 -0
  176. data/lib/yard/rubygems/backports/MIT.txt +0 -0
  177. data/lib/yard/rubygems/backports/gem.rb +1 -0
  178. data/lib/yard/rubygems/backports/source_index.rb +25 -30
  179. data/lib/yard/rubygems/doc_manager.rb +10 -8
  180. data/lib/yard/rubygems/hook.rb +11 -18
  181. data/lib/yard/rubygems/specification.rb +1 -0
  182. data/lib/yard/serializers/base.rb +5 -2
  183. data/lib/yard/serializers/file_system_serializer.rb +7 -6
  184. data/lib/yard/serializers/process_serializer.rb +2 -2
  185. data/lib/yard/serializers/stdout_serializer.rb +8 -6
  186. data/lib/yard/serializers/yardoc_serializer.rb +31 -26
  187. data/lib/yard/server.rb +2 -1
  188. data/lib/yard/server/adapter.rb +1 -1
  189. data/lib/yard/server/commands/base.rb +15 -2
  190. data/lib/yard/server/commands/display_file_command.rb +2 -2
  191. data/lib/yard/server/commands/display_object_command.rb +6 -3
  192. data/lib/yard/server/commands/frames_command.rb +1 -0
  193. data/lib/yard/server/commands/library_command.rb +50 -14
  194. data/lib/yard/server/commands/library_index_command.rb +5 -4
  195. data/lib/yard/server/commands/list_command.rb +1 -0
  196. data/lib/yard/server/commands/root_request_command.rb +1 -0
  197. data/lib/yard/server/commands/search_command.rb +17 -16
  198. data/lib/yard/server/commands/static_file_command.rb +2 -1
  199. data/lib/yard/server/commands/static_file_helpers.rb +23 -14
  200. data/lib/yard/server/doc_server_helper.rb +15 -1
  201. data/lib/yard/server/doc_server_serializer.rb +3 -5
  202. data/lib/yard/server/library_version.rb +44 -22
  203. data/lib/yard/server/rack_adapter.rb +2 -1
  204. data/lib/yard/server/router.rb +15 -14
  205. data/lib/yard/server/static_caching.rb +1 -0
  206. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +0 -0
  207. data/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  208. data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +0 -0
  209. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +0 -0
  210. data/lib/yard/server/templates/default/layout/html/script_setup.erb +0 -0
  211. data/lib/yard/server/templates/default/layout/html/setup.rb +2 -1
  212. data/lib/yard/server/templates/default/method_details/html/permalink.erb +0 -0
  213. data/lib/yard/server/templates/default/method_details/html/setup.rb +1 -0
  214. data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +2 -2
  215. data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +0 -0
  216. data/lib/yard/server/templates/doc_server/library_list/html/listing.erb +1 -1
  217. data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +2 -1
  218. data/lib/yard/server/templates/doc_server/library_list/html/title.erb +0 -0
  219. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +4 -4
  220. data/lib/yard/server/templates/doc_server/processing/html/setup.rb +2 -1
  221. data/lib/yard/server/templates/doc_server/search/html/search.erb +0 -0
  222. data/lib/yard/server/templates/doc_server/search/html/setup.rb +2 -1
  223. data/lib/yard/server/webrick_adapter.rb +4 -2
  224. data/lib/yard/tags/default_factory.rb +19 -13
  225. data/lib/yard/tags/default_tag.rb +2 -1
  226. data/lib/yard/tags/directives.rb +17 -19
  227. data/lib/yard/tags/library.rb +9 -6
  228. data/lib/yard/tags/option_tag.rb +1 -0
  229. data/lib/yard/tags/overload_tag.rb +6 -4
  230. data/lib/yard/tags/ref_tag.rb +1 -0
  231. data/lib/yard/tags/ref_tag_list.rb +2 -1
  232. data/lib/yard/tags/tag.rb +16 -2
  233. data/lib/yard/tags/tag_format_error.rb +3 -2
  234. data/lib/yard/tags/types_explainer.rb +160 -0
  235. data/lib/yard/templates/engine.rb +3 -2
  236. data/lib/yard/templates/erb_cache.rb +3 -2
  237. data/lib/yard/templates/helpers/base_helper.rb +9 -6
  238. data/lib/yard/templates/helpers/filter_helper.rb +1 -0
  239. data/lib/yard/templates/helpers/html_helper.rb +65 -37
  240. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +25 -7
  241. data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +2 -1
  242. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +10 -7
  243. data/lib/yard/templates/helpers/markup_helper.rb +12 -13
  244. data/lib/yard/templates/helpers/method_helper.rb +8 -7
  245. data/lib/yard/templates/helpers/module_helper.rb +1 -0
  246. data/lib/yard/templates/helpers/text_helper.rb +16 -11
  247. data/lib/yard/templates/helpers/uml_helper.rb +2 -1
  248. data/lib/yard/templates/section.rb +3 -4
  249. data/lib/yard/templates/template.rb +18 -11
  250. data/lib/yard/templates/template_options.rb +1 -0
  251. data/lib/yard/verifier.rb +2 -0
  252. data/lib/yard/version.rb +2 -1
  253. data/spec/cli/command_parser_spec.rb +7 -7
  254. data/spec/cli/command_spec.rb +2 -2
  255. data/spec/cli/config_spec.rb +3 -4
  256. data/spec/cli/diff_spec.rb +7 -9
  257. data/spec/cli/display_spec.rb +2 -2
  258. data/spec/cli/gems_spec.rb +11 -11
  259. data/spec/cli/graph_spec.rb +4 -3
  260. data/spec/cli/help_spec.rb +3 -3
  261. data/spec/cli/i18n_spec.rb +3 -3
  262. data/spec/cli/list_spec.rb +2 -2
  263. data/spec/cli/markup_types_spec.rb +2 -2
  264. data/spec/cli/server_spec.rb +21 -18
  265. data/spec/cli/stats_spec.rb +23 -22
  266. data/spec/cli/yardoc_spec.rb +49 -47
  267. data/spec/cli/yri_spec.rb +6 -6
  268. data/spec/code_objects/base_spec.rb +6 -4
  269. data/spec/code_objects/class_object_spec.rb +10 -9
  270. data/spec/code_objects/code_object_list_spec.rb +3 -2
  271. data/spec/code_objects/constants_spec.rb +17 -6
  272. data/spec/code_objects/extra_file_object_spec.rb +6 -5
  273. data/spec/code_objects/macro_object_spec.rb +5 -3
  274. data/spec/code_objects/method_object_spec.rb +6 -5
  275. data/spec/code_objects/module_object_spec.rb +3 -2
  276. data/spec/code_objects/namespace_object_spec.rb +10 -9
  277. data/spec/code_objects/proxy_spec.rb +9 -8
  278. data/spec/code_objects/spec_helper.rb +2 -2
  279. data/spec/config_spec.rb +9 -14
  280. data/spec/core_ext/array_spec.rb +2 -3
  281. data/spec/core_ext/file_spec.rb +3 -3
  282. data/spec/core_ext/hash_spec.rb +5 -5
  283. data/spec/core_ext/insertion_spec.rb +2 -2
  284. data/spec/core_ext/module_spec.rb +3 -3
  285. data/spec/core_ext/string_spec.rb +5 -5
  286. data/spec/core_ext/symbol_hash_spec.rb +8 -8
  287. data/spec/docstring_parser_spec.rb +6 -7
  288. data/spec/docstring_spec.rb +30 -3
  289. data/spec/examples.txt +1848 -0
  290. data/spec/handlers/alias_handler_spec.rb +2 -1
  291. data/spec/handlers/attribute_handler_spec.rb +7 -5
  292. data/spec/handlers/base_spec.rb +9 -8
  293. data/spec/handlers/c/alias_handler_spec.rb +2 -1
  294. data/spec/handlers/c/attribute_handler_spec.rb +2 -1
  295. data/spec/handlers/c/class_handler_spec.rb +2 -1
  296. data/spec/handlers/c/constant_handler_spec.rb +5 -4
  297. data/spec/handlers/c/init_handler_spec.rb +2 -1
  298. data/spec/handlers/c/method_handler_spec.rb +2 -1
  299. data/spec/handlers/c/mixin_handler_spec.rb +2 -1
  300. data/spec/handlers/c/module_handler_spec.rb +2 -1
  301. data/spec/handlers/c/override_comment_handler_spec.rb +2 -1
  302. data/spec/handlers/c/path_handler_spec.rb +2 -1
  303. data/spec/handlers/c/spec_helper.rb +1 -1
  304. data/spec/handlers/c/struct_handler_spec.rb +3 -2
  305. data/spec/handlers/class_condition_handler_spec.rb +3 -2
  306. data/spec/handlers/class_handler_spec.rb +3 -2
  307. data/spec/handlers/class_method_handler_shared_examples.rb +9 -8
  308. data/spec/handlers/class_variable_handler_spec.rb +3 -2
  309. data/spec/handlers/constant_handler_spec.rb +28 -3
  310. data/spec/handlers/decorator_handler_methods_spec.rb +47 -59
  311. data/spec/handlers/dsl_handler_spec.rb +3 -2
  312. data/spec/handlers/examples/alias_handler_001.rb.txt +0 -0
  313. data/spec/handlers/examples/attribute_handler_001.rb.txt +0 -0
  314. data/spec/handlers/examples/class_condition_handler_001.rb.txt +0 -0
  315. data/spec/handlers/examples/class_handler_001.rb.txt +0 -0
  316. data/spec/handlers/examples/class_variable_handler_001.rb.txt +0 -0
  317. data/spec/handlers/examples/constant_handler_001.rb.txt +0 -0
  318. data/spec/handlers/examples/dsl_handler_001.rb.txt +0 -0
  319. data/spec/handlers/examples/exception_handler_001.rb.txt +0 -0
  320. data/spec/handlers/examples/extend_handler_001.rb.txt +0 -0
  321. data/spec/handlers/examples/method_condition_handler_001.rb.txt +0 -0
  322. data/spec/handlers/examples/method_handler_001.rb.txt +2 -0
  323. data/spec/handlers/examples/mixin_handler_001.rb.txt +0 -0
  324. data/spec/handlers/examples/module_handler_001.rb.txt +0 -0
  325. data/spec/handlers/examples/private_constant_handler_001.rb.txt +0 -0
  326. data/spec/handlers/examples/process_handler_001.rb.txt +0 -0
  327. data/spec/handlers/examples/visibility_handler_001.rb.txt +0 -0
  328. data/spec/handlers/examples/yield_handler_001.rb.txt +0 -0
  329. data/spec/handlers/exception_handler_spec.rb +3 -2
  330. data/spec/handlers/extend_handler_spec.rb +2 -1
  331. data/spec/handlers/legacy_base_spec.rb +5 -5
  332. data/spec/handlers/method_condition_handler_spec.rb +3 -2
  333. data/spec/handlers/method_handler_spec.rb +7 -1
  334. data/spec/handlers/mixin_handler_spec.rb +3 -2
  335. data/spec/handlers/module_function_handler_spec.rb +2 -1
  336. data/spec/handlers/module_handler_spec.rb +3 -2
  337. data/spec/handlers/private_class_method_handler_spec.rb +2 -1
  338. data/spec/handlers/private_constant_handler_spec.rb +2 -1
  339. data/spec/handlers/processor_spec.rb +2 -1
  340. data/spec/handlers/public_class_method_handler_spec.rb +2 -1
  341. data/spec/handlers/ruby/base_spec.rb +6 -5
  342. data/spec/handlers/ruby/legacy/base_spec.rb +4 -4
  343. data/spec/handlers/spec_helper.rb +3 -3
  344. data/spec/handlers/visibility_handler_spec.rb +3 -2
  345. data/spec/handlers/yield_handler_spec.rb +3 -2
  346. data/spec/i18n/locale_spec.rb +3 -3
  347. data/spec/i18n/message_spec.rb +2 -2
  348. data/spec/i18n/messages_spec.rb +3 -3
  349. data/spec/i18n/pot_generator_spec.rb +34 -34
  350. data/spec/i18n/text_spec.rb +16 -12
  351. data/spec/logging_spec.rb +2 -2
  352. data/spec/options_spec.rb +9 -9
  353. data/spec/parser/base_spec.rb +2 -2
  354. data/spec/parser/c_parser_spec.rb +5 -4
  355. data/spec/parser/examples/array.c.txt +0 -0
  356. data/spec/parser/examples/example1.rb.txt +0 -0
  357. data/spec/parser/examples/extrafile.c.txt +0 -0
  358. data/spec/parser/examples/multifile.c.txt +0 -0
  359. data/spec/parser/examples/override.c.txt +0 -0
  360. data/spec/parser/examples/parse_in_order_001.rb.txt +0 -0
  361. data/spec/parser/examples/parse_in_order_002.rb.txt +0 -0
  362. data/spec/parser/examples/tag_handler_001.rb.txt +0 -0
  363. data/spec/parser/ruby/ast_node_spec.rb +7 -7
  364. data/spec/parser/ruby/legacy/statement_list_spec.rb +7 -7
  365. data/spec/parser/ruby/legacy/token_list_spec.rb +4 -4
  366. data/spec/parser/ruby/ruby_parser_spec.rb +42 -20
  367. data/spec/parser/ruby/token_resolver_spec.rb +165 -0
  368. data/spec/parser/source_parser_spec.rb +18 -18
  369. data/spec/parser/tag_parsing_spec.rb +2 -2
  370. data/spec/rake/yardoc_task_spec.rb +4 -4
  371. data/spec/registry_spec.rb +62 -56
  372. data/spec/registry_store_spec.rb +7 -7
  373. data/spec/rubygems/doc_manager_spec.rb +2 -2
  374. data/spec/serializers/data/serialized_yardoc/checksums +0 -0
  375. data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  376. data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  377. data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  378. data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  379. data/spec/serializers/data/serialized_yardoc/proxy_types +0 -0
  380. data/spec/serializers/file_system_serializer_spec.rb +8 -7
  381. data/spec/serializers/spec_helper.rb +2 -2
  382. data/spec/serializers/yardoc_serializer_spec.rb +5 -4
  383. data/spec/server/adapter_spec.rb +3 -2
  384. data/spec/server/commands/base_spec.rb +15 -11
  385. data/spec/server/commands/library_command_spec.rb +2 -2
  386. data/spec/server/doc_server_helper_spec.rb +4 -3
  387. data/spec/server/doc_server_serializer_spec.rb +3 -2
  388. data/spec/server/rack_adapter_spec.rb +3 -2
  389. data/spec/server/router_spec.rb +3 -2
  390. data/spec/server/spec_helper.rb +2 -2
  391. data/spec/server/static_caching_spec.rb +4 -3
  392. data/spec/server/webrick_servlet_spec.rb +5 -4
  393. data/spec/server_spec.rb +3 -3
  394. data/spec/spec_helper.rb +94 -21
  395. data/spec/tags/default_factory_spec.rb +10 -4
  396. data/spec/tags/default_tag_spec.rb +3 -3
  397. data/spec/tags/directives_spec.rb +12 -12
  398. data/spec/tags/library_spec.rb +16 -2
  399. data/spec/tags/overload_tag_spec.rb +4 -4
  400. data/spec/tags/ref_tag_list_spec.rb +3 -3
  401. data/spec/tags/types_explainer_spec.rb +200 -0
  402. data/spec/templates/class_spec.rb +2 -1
  403. data/spec/templates/constant_spec.rb +3 -2
  404. data/spec/templates/engine_spec.rb +4 -3
  405. data/spec/templates/examples/class001.html +0 -0
  406. data/spec/templates/examples/class001.txt +0 -0
  407. data/spec/templates/examples/class002.html +0 -0
  408. data/spec/templates/examples/constant001.txt +0 -0
  409. data/spec/templates/examples/constant002.txt +0 -0
  410. data/spec/templates/examples/constant003.txt +0 -0
  411. data/spec/templates/examples/method001.html +0 -0
  412. data/spec/templates/examples/method001.txt +0 -0
  413. data/spec/templates/examples/method002.html +0 -0
  414. data/spec/templates/examples/method002.txt +0 -0
  415. data/spec/templates/examples/method003.html +0 -0
  416. data/spec/templates/examples/method003.txt +0 -0
  417. data/spec/templates/examples/method004.html +0 -0
  418. data/spec/templates/examples/method004.txt +0 -0
  419. data/spec/templates/examples/method005.html +0 -0
  420. data/spec/templates/examples/method005.txt +0 -0
  421. data/spec/templates/examples/method006.html +108 -0
  422. data/spec/templates/examples/method006.txt +20 -0
  423. data/spec/templates/examples/module001.dot +0 -0
  424. data/spec/templates/examples/module001.html +0 -0
  425. data/spec/templates/examples/module001.txt +0 -0
  426. data/spec/templates/examples/module002.html +0 -0
  427. data/spec/templates/examples/module003.html +0 -0
  428. data/spec/templates/examples/module004.html +0 -0
  429. data/spec/templates/examples/tag001.txt +0 -0
  430. data/spec/templates/helpers/base_helper_spec.rb +5 -5
  431. data/spec/templates/helpers/html_helper_spec.rb +64 -60
  432. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +17 -6
  433. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +11 -13
  434. data/spec/templates/helpers/markup_helper_spec.rb +2 -2
  435. data/spec/templates/helpers/method_helper_spec.rb +3 -3
  436. data/spec/templates/helpers/module_helper_spec.rb +2 -2
  437. data/spec/templates/helpers/shared_signature_examples.rb +2 -1
  438. data/spec/templates/helpers/text_helper_spec.rb +7 -6
  439. data/spec/templates/method_spec.rb +18 -2
  440. data/spec/templates/module_spec.rb +4 -3
  441. data/spec/templates/onefile_spec.rb +8 -6
  442. data/spec/templates/section_spec.rb +3 -2
  443. data/spec/templates/spec_helper.rb +5 -2
  444. data/spec/templates/tag_spec.rb +3 -2
  445. data/spec/templates/template_spec.rb +15 -14
  446. data/spec/verifier_spec.rb +3 -3
  447. data/templates/default/class/dot/setup.rb +2 -1
  448. data/templates/default/class/dot/superklass.erb +0 -0
  449. data/templates/default/class/html/constructor_details.erb +0 -0
  450. data/templates/default/class/html/setup.rb +2 -1
  451. data/templates/default/class/html/subclasses.erb +0 -0
  452. data/templates/default/class/setup.rb +6 -6
  453. data/templates/default/class/text/setup.rb +2 -1
  454. data/templates/default/class/text/subclasses.erb +0 -0
  455. data/templates/default/constant/text/header.erb +0 -0
  456. data/templates/default/constant/text/setup.rb +1 -0
  457. data/templates/default/docstring/html/abstract.erb +0 -0
  458. data/templates/default/docstring/html/deprecated.erb +0 -0
  459. data/templates/default/docstring/html/index.erb +0 -0
  460. data/templates/default/docstring/html/note.erb +0 -0
  461. data/templates/default/docstring/html/private.erb +0 -0
  462. data/templates/default/docstring/html/returns_void.erb +0 -0
  463. data/templates/default/docstring/html/text.erb +0 -0
  464. data/templates/default/docstring/html/todo.erb +0 -0
  465. data/templates/default/docstring/setup.rb +4 -3
  466. data/templates/default/docstring/text/abstract.erb +0 -0
  467. data/templates/default/docstring/text/deprecated.erb +0 -0
  468. data/templates/default/docstring/text/index.erb +0 -0
  469. data/templates/default/docstring/text/note.erb +0 -0
  470. data/templates/default/docstring/text/private.erb +0 -0
  471. data/templates/default/docstring/text/returns_void.erb +0 -0
  472. data/templates/default/docstring/text/text.erb +0 -0
  473. data/templates/default/docstring/text/todo.erb +0 -0
  474. data/templates/default/fulldoc/html/css/common.css +0 -0
  475. data/templates/default/fulldoc/html/css/full_list.css +0 -0
  476. data/templates/default/fulldoc/html/css/style.css +31 -20
  477. data/templates/default/fulldoc/html/frames.erb +0 -0
  478. data/templates/default/fulldoc/html/full_list.erb +2 -2
  479. data/templates/default/fulldoc/html/full_list_class.erb +0 -0
  480. data/templates/default/fulldoc/html/full_list_file.erb +0 -0
  481. data/templates/default/fulldoc/html/full_list_method.erb +0 -0
  482. data/templates/default/fulldoc/html/js/app.js +3 -3
  483. data/templates/default/fulldoc/html/js/full_list.js +0 -0
  484. data/templates/default/fulldoc/html/js/jquery.js +0 -0
  485. data/templates/default/fulldoc/html/setup.rb +22 -23
  486. data/templates/default/layout/dot/header.erb +0 -0
  487. data/templates/default/layout/dot/setup.rb +1 -0
  488. data/templates/default/layout/html/breadcrumb.erb +0 -0
  489. data/templates/default/layout/html/files.erb +0 -0
  490. data/templates/default/layout/html/footer.erb +0 -0
  491. data/templates/default/layout/html/headers.erb +2 -2
  492. data/templates/default/layout/html/index.erb +0 -0
  493. data/templates/default/layout/html/layout.erb +1 -3
  494. data/templates/default/layout/html/listing.erb +0 -0
  495. data/templates/default/layout/html/objects.erb +0 -0
  496. data/templates/default/layout/html/script_setup.erb +0 -0
  497. data/templates/default/layout/html/search.erb +0 -0
  498. data/templates/default/layout/html/setup.rb +21 -19
  499. data/templates/default/method/html/header.erb +0 -0
  500. data/templates/default/method/setup.rb +2 -1
  501. data/templates/default/method/text/header.erb +0 -0
  502. data/templates/default/method_details/html/header.erb +0 -0
  503. data/templates/default/method_details/html/method_signature.erb +0 -0
  504. data/templates/default/method_details/html/source.erb +0 -0
  505. data/templates/default/method_details/setup.rb +1 -0
  506. data/templates/default/method_details/text/header.erb +0 -0
  507. data/templates/default/method_details/text/method_signature.erb +0 -0
  508. data/templates/default/method_details/text/setup.rb +3 -2
  509. data/templates/default/module/dot/child.erb +0 -0
  510. data/templates/default/module/dot/dependencies.erb +0 -0
  511. data/templates/default/module/dot/header.erb +0 -0
  512. data/templates/default/module/dot/info.erb +0 -0
  513. data/templates/default/module/dot/setup.rb +2 -1
  514. data/templates/default/module/html/attribute_details.erb +0 -0
  515. data/templates/default/module/html/attribute_summary.erb +0 -0
  516. data/templates/default/module/html/box_info.erb +0 -0
  517. data/templates/default/module/html/children.erb +0 -0
  518. data/templates/default/module/html/constant_summary.erb +0 -0
  519. data/templates/default/module/html/defines.erb +0 -0
  520. data/templates/default/module/html/header.erb +0 -0
  521. data/templates/default/module/html/inherited_attributes.erb +0 -0
  522. data/templates/default/module/html/inherited_constants.erb +0 -0
  523. data/templates/default/module/html/inherited_methods.erb +0 -0
  524. data/templates/default/module/html/item_summary.erb +0 -0
  525. data/templates/default/module/html/method_details_list.erb +0 -0
  526. data/templates/default/module/html/method_summary.erb +0 -0
  527. data/templates/default/module/html/methodmissing.erb +0 -0
  528. data/templates/default/module/html/pre_docstring.erb +0 -0
  529. data/templates/default/module/setup.rb +24 -26
  530. data/templates/default/module/text/children.erb +0 -0
  531. data/templates/default/module/text/class_meths_list.erb +0 -0
  532. data/templates/default/module/text/extends.erb +0 -0
  533. data/templates/default/module/text/header.erb +0 -0
  534. data/templates/default/module/text/includes.erb +0 -0
  535. data/templates/default/module/text/instance_meths_list.erb +0 -0
  536. data/templates/default/module/text/setup.rb +2 -1
  537. data/templates/default/onefile/html/files.erb +0 -0
  538. data/templates/default/onefile/html/headers.erb +0 -0
  539. data/templates/default/onefile/html/layout.erb +3 -3
  540. data/templates/default/onefile/html/readme.erb +0 -0
  541. data/templates/default/onefile/html/setup.rb +9 -8
  542. data/templates/default/root/dot/child.erb +0 -0
  543. data/templates/default/root/dot/setup.rb +3 -2
  544. data/templates/default/root/html/setup.rb +2 -1
  545. data/templates/default/tags/html/example.erb +0 -0
  546. data/templates/default/tags/html/index.erb +0 -0
  547. data/templates/default/tags/html/option.erb +1 -1
  548. data/templates/default/tags/html/overload.erb +0 -0
  549. data/templates/default/tags/html/see.erb +0 -0
  550. data/templates/default/tags/html/tag.erb +1 -1
  551. data/templates/default/tags/setup.rb +7 -5
  552. data/templates/default/tags/text/example.erb +0 -0
  553. data/templates/default/tags/text/index.erb +0 -0
  554. data/templates/default/tags/text/option.erb +1 -1
  555. data/templates/default/tags/text/overload.erb +0 -0
  556. data/templates/default/tags/text/see.erb +0 -0
  557. data/templates/default/tags/text/tag.erb +2 -2
  558. data/templates/guide/class/html/setup.rb +1 -0
  559. data/templates/guide/docstring/html/setup.rb +1 -0
  560. data/templates/guide/fulldoc/html/css/style.css +0 -0
  561. data/templates/guide/fulldoc/html/js/app.js +0 -0
  562. data/templates/guide/fulldoc/html/setup.rb +7 -6
  563. data/templates/guide/layout/html/layout.erb +0 -0
  564. data/templates/guide/layout/html/setup.rb +2 -5
  565. data/templates/guide/method/html/header.erb +0 -0
  566. data/templates/guide/method/html/setup.rb +5 -4
  567. data/templates/guide/module/html/header.erb +0 -0
  568. data/templates/guide/module/html/method_list.erb +0 -0
  569. data/templates/guide/module/html/setup.rb +2 -1
  570. data/templates/guide/onefile/html/files.erb +0 -0
  571. data/templates/guide/onefile/html/setup.rb +1 -0
  572. data/templates/guide/onefile/html/toc.erb +0 -0
  573. data/templates/guide/tags/html/setup.rb +1 -0
  574. data/yard.gemspec +2 -1
  575. metadata +10 -2
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::CLI::Yardoc do
3
+ RSpec.describe YARD::CLI::Yardoc do
4
4
  before do
5
5
  @yardoc = YARD::CLI::Yardoc.new
6
6
  @yardoc.statistics = false
@@ -89,8 +89,8 @@ describe YARD::CLI::Yardoc do
89
89
  @counter ||= 0
90
90
  @counter += 1
91
91
  counter = @counter
92
+ define_method("test_options_#{@counter}", &block)
92
93
  args.each do |arg|
93
- define_method("test_options_#{@counter}", &block)
94
94
  it("accepts #{arg}") { send("test_options_#{counter}", arg) }
95
95
  end
96
96
  end
@@ -127,7 +127,7 @@ describe YARD::CLI::Yardoc do
127
127
  expect(@yardoc.use_yardopts_file).to be true
128
128
  end
129
129
 
130
- should_accept('--yardopts with filename') do |arg|
130
+ should_accept('--yardopts with filename') do |_arg|
131
131
  @yardoc = CLI::Yardoc.new
132
132
  expect(File).to receive(:read_binary).with('.foobar').and_return('')
133
133
  @yardoc.use_document_file = false
@@ -200,7 +200,7 @@ describe YARD::CLI::Yardoc do
200
200
  end
201
201
 
202
202
  it "aliases --main to the --readme flag" do
203
- readme = File.join(File.dirname(__FILE__),'..','..','README.md')
203
+ readme = File.join(File.dirname(__FILE__), '..', '..', 'README.md')
204
204
 
205
205
  @yardoc.parse_arguments('--main', readme)
206
206
  expect(@yardoc.options.readme).to eq CodeObjects::ExtraFileObject.new(readme, '')
@@ -221,22 +221,22 @@ describe YARD::CLI::Yardoc do
221
221
  end
222
222
 
223
223
  it "accepts --default-return" do
224
- @yardoc.parse_arguments *%w( --default-return XYZ )
224
+ @yardoc.parse_arguments(*%w(--default-return XYZ))
225
225
  expect(@yardoc.options.default_return).to eq "XYZ"
226
226
  end
227
227
 
228
228
  it "allows --hide-void-return to be set" do
229
- @yardoc.parse_arguments *%w( --hide-void-return )
229
+ @yardoc.parse_arguments(*%w(--hide-void-return))
230
230
  expect(@yardoc.options.hide_void_return).to be true
231
231
  end
232
232
 
233
233
  it "accepts --embed-mixins" do
234
- @yardoc.parse_arguments *%w( --embed-mixins )
234
+ @yardoc.parse_arguments(*%w(--embed-mixins))
235
235
  expect(@yardoc.options.embed_mixins).to eq ['*']
236
236
  end
237
237
 
238
238
  it "accepts --embed-mixin MODULE" do
239
- @yardoc.parse_arguments *%w( --embed-mixin MyModule )
239
+ @yardoc.parse_arguments(*%w(--embed-mixin MyModule))
240
240
  expect(@yardoc.options.embed_mixins).to eq ['MyModule']
241
241
  end
242
242
 
@@ -245,19 +245,19 @@ describe YARD::CLI::Yardoc do
245
245
  expect(Registry).to receive(:load)
246
246
  expect(Registry).to receive(:load_all)
247
247
  allow(@yardoc).to receive(:generate).and_return(true)
248
- @yardoc.run *%w( --use-cache )
248
+ @yardoc.run(*%w(--use-cache))
249
249
  end
250
250
 
251
251
  it "does not print statistics with --no-stats" do
252
252
  allow(@yardoc).to receive(:statistics).and_return(false)
253
253
  expect(CLI::Stats).not_to receive(:new)
254
- @yardoc.run *%w( --no-stats )
254
+ @yardoc.run(*%w(--no-stats))
255
255
  end
256
256
 
257
257
  it "disables progress bar with --no-progress" do
258
258
  old = log.show_progress
259
259
  log.show_progress = true
260
- @yardoc.run *%w( --no-progress )
260
+ @yardoc.run(*%w(--no-progress))
261
261
  expect(log.show_progress).to eq false
262
262
  log.show_progress = old
263
263
  end
@@ -270,33 +270,33 @@ describe YARD::CLI::Yardoc do
270
270
 
271
271
  it "copies assets to output directory" do
272
272
  expect(FileUtils).to receive(:cp_r).with('a', 'doc/a')
273
- @yardoc.run *%w( --asset a )
274
- expect(@yardoc.assets).to eq({'a' => 'a'})
273
+ @yardoc.run(*%w(--asset a))
274
+ expect(@yardoc.assets).to eq('a' => 'a')
275
275
  end
276
276
 
277
277
  it "allows multiple --asset options" do
278
278
  expect(FileUtils).to receive(:cp_r).with('a', 'doc/a')
279
279
  expect(FileUtils).to receive(:cp_r).with('b', 'doc/b')
280
- @yardoc.run *%w( --asset a --asset b )
281
- expect(@yardoc.assets).to eq({'a' => 'a', 'b' => 'b'})
280
+ @yardoc.run(*%w(--asset a --asset b))
281
+ expect(@yardoc.assets).to eq('a' => 'a', 'b' => 'b')
282
282
  end
283
283
 
284
284
  it "does not allow from or to to refer to a path above current path" do
285
285
  expect(log).to receive(:warn).exactly(4).times.with(/invalid/i)
286
- @yardoc.run *%w( --asset ../../../etc/passwd )
286
+ @yardoc.run(*%w(--asset ../../../etc/passwd))
287
287
  expect(@yardoc.assets).to be_empty
288
- @yardoc.run *%w( --asset a/b/c/d/../../../../../../etc/passwd )
288
+ @yardoc.run(*%w(--asset a/b/c/d/../../../../../../etc/passwd))
289
289
  expect(@yardoc.assets).to be_empty
290
- @yardoc.run *%w( --asset /etc/passwd )
290
+ @yardoc.run(*%w(--asset /etc/passwd))
291
291
  expect(@yardoc.assets).to be_empty
292
- @yardoc.run *%w( --asset normal:/etc/passwd )
292
+ @yardoc.run(*%w(--asset normal:/etc/passwd))
293
293
  expect(@yardoc.assets).to be_empty
294
294
  end
295
295
 
296
296
  it "allows from:to syntax" do
297
297
  expect(FileUtils).to receive(:cp_r).with('foo', 'doc/bar')
298
- @yardoc.run *%w( --asset foo:bar )
299
- expect(@yardoc.assets).to eq({'foo' => 'bar'})
298
+ @yardoc.run(*%w(--asset foo:bar))
299
+ expect(@yardoc.assets).to eq('foo' => 'bar')
300
300
  end
301
301
 
302
302
  it "does not put from inside of to/ if from is a directory" do
@@ -369,7 +369,7 @@ describe YARD::CLI::Yardoc do
369
369
  eof
370
370
  @yardoc.run('--api', 'private', '--api', 'public')
371
371
  expect(@yardoc.options.verifier.run(Registry.all).
372
- sort_by {|o| o.path }).to eq [P('Bar'), P('Foo')]
372
+ sort_by(&:path)).to eq [P('Bar'), P('Foo')]
373
373
  end
374
374
 
375
375
  it "allows --no-api to specify objects with no @api tag" do
@@ -397,7 +397,7 @@ describe YARD::CLI::Yardoc do
397
397
  eof
398
398
  @yardoc.run('--no-api', '--api', 'public')
399
399
  expect(@yardoc.options.verifier.run(Registry.all).
400
- sort_by {|o| o.path }).to eq [P('Bar'), P('Baz')]
400
+ sort_by(&:path)).to eq [P('Bar'), P('Baz')]
401
401
  end
402
402
 
403
403
  it "ensures Ruby code cannot be used" do
@@ -419,7 +419,7 @@ describe YARD::CLI::Yardoc do
419
419
  eof
420
420
  @yardoc.run('--hide-api', 'private')
421
421
  expect(@yardoc.options.verifier.run(Registry.all).
422
- sort_by {|o| o.path }).to eq [P('Bar'), P('Baz')]
422
+ sort_by(&:path)).to eq [P('Bar'), P('Baz')]
423
423
  end
424
424
 
425
425
  it "allows --hide-api to work with --api" do
@@ -432,7 +432,7 @@ describe YARD::CLI::Yardoc do
432
432
  eof
433
433
  @yardoc.run('--api', 'public', '--hide-api', 'private')
434
434
  expect(@yardoc.options.verifier.run(Registry.all).
435
- sort_by {|o| o.path }).to eq [P('Bar')]
435
+ sort_by(&:path)).to eq [P('Bar')]
436
436
  end
437
437
  end
438
438
 
@@ -440,7 +440,7 @@ describe YARD::CLI::Yardoc do
440
440
  it "accepts --no-private" do
441
441
  obj = double(:object)
442
442
  expect(obj).to receive(:tag).ordered.with(:private).and_return(true)
443
- @yardoc.parse_arguments *%w( --no-private )
443
+ @yardoc.parse_arguments(*%w(--no-private))
444
444
  expect(@yardoc.options.verifier.call(obj)).to be false
445
445
  end
446
446
 
@@ -449,7 +449,7 @@ describe YARD::CLI::Yardoc do
449
449
  expect(ns).to receive(:tag).with(:private).and_return(true)
450
450
  obj = double(:object, :namespace => ns)
451
451
  expect(obj).to receive(:tag).with(:private).and_return(false)
452
- @yardoc.parse_arguments *%w( --no-private )
452
+ @yardoc.parse_arguments(*%w(--no-private))
453
453
  expect(@yardoc.options.verifier.call(obj)).to be false
454
454
  end
455
455
 
@@ -459,7 +459,7 @@ describe YARD::CLI::Yardoc do
459
459
  expect(ns).not_to receive(:tag)
460
460
  obj = double(:object, :type => :class, :namespace => ns, :visibility => :public)
461
461
  expect(obj).to receive(:tag).ordered.with(:private).and_return(false)
462
- @yardoc.parse_arguments *%w( --no-private )
462
+ @yardoc.parse_arguments(*%w(--no-private))
463
463
  expect(@yardoc.options.verifier.call(obj)).to be true
464
464
  end
465
465
 
@@ -469,12 +469,12 @@ describe YARD::CLI::Yardoc do
469
469
  YARD.parse_string "module Qux; class Foo::Bar; end; end"
470
470
  foobar = Registry.at('Foo::Bar')
471
471
  foobar.namespace.type = :module
472
- @yardoc.parse_arguments *%w( --no-private )
472
+ @yardoc.parse_arguments(*%w(--no-private))
473
473
  expect(@yardoc.options.verifier.call(foobar)).to be true
474
474
  end
475
475
 
476
476
  it "does not call #tag on proxy object" do # @bug gh-197
477
- @yardoc.parse_arguments *%w( --no-private )
477
+ @yardoc.parse_arguments(*%w(--no-private))
478
478
  expect(@yardoc.options.verifier.call(P('ProxyClass'))).to be true
479
479
  end
480
480
 
@@ -486,7 +486,7 @@ describe YARD::CLI::Yardoc do
486
486
  def foo; end
487
487
  end
488
488
  eof
489
- @yardoc.parse_arguments *%w( --no-private )
489
+ @yardoc.parse_arguments(*%w(--no-private))
490
490
  expect(@yardoc.options.verifier.call(Registry.at('ABC'))).to be false
491
491
  expect(@yardoc.options.verifier.call(Registry.at('ABC#foo'))).to be false
492
492
  end
@@ -507,7 +507,7 @@ describe YARD::CLI::Yardoc do
507
507
  end
508
508
 
509
509
  it "uses String#shell_split to split .yardopts tokens" do
510
- optsdata = "foo bar"
510
+ optsdata = String.new("foo bar")
511
511
  expect(optsdata).to receive(:shell_split)
512
512
  expect(File).to receive(:read_binary).with("test").and_return(optsdata)
513
513
  @yardoc.options_file = "test"
@@ -550,7 +550,7 @@ describe YARD::CLI::Yardoc do
550
550
  end
551
551
 
552
552
  it "accepts a --query" do
553
- @yardoc.parse_arguments *%w( --query @return )
553
+ @yardoc.parse_arguments(*%w(--query @return))
554
554
  expect(@yardoc.options.verifier).to be_a(Verifier)
555
555
  end
556
556
 
@@ -558,7 +558,7 @@ describe YARD::CLI::Yardoc do
558
558
  obj = double(:object)
559
559
  expect(obj).to receive(:tag).ordered.with('return').and_return(true)
560
560
  expect(obj).to receive(:tag).ordered.with('tag').and_return(false)
561
- @yardoc.parse_arguments *%w( --query @return --query @tag )
561
+ @yardoc.parse_arguments(*%w(--query @return --query @tag))
562
562
  expect(@yardoc.options.verifier).to be_a(Verifier)
563
563
  expect(@yardoc.options.verifier.call(obj)).to be false
564
564
  end
@@ -571,16 +571,17 @@ describe YARD::CLI::Yardoc do
571
571
  expect(File).to receive(:file?).with('extra_file2').and_return(true)
572
572
  expect(File).to receive(:read).with('extra_file1').and_return('')
573
573
  expect(File).to receive(:read).with('extra_file2').and_return('')
574
- @yardoc.parse_arguments *%w( file1 file2 - extra_file1 extra_file2 )
575
- expect(@yardoc.files).to eq %w( file1 file2 )
574
+ @yardoc.parse_arguments(*%w(file1 file2 - extra_file1 extra_file2))
575
+ expect(@yardoc.files).to eq %w(file1 file2)
576
576
  expect(@yardoc.options.files).to eq(
577
577
  [CodeObjects::ExtraFileObject.new('extra_file1', ''),
578
- CodeObjects::ExtraFileObject.new('extra_file2', '')])
578
+ CodeObjects::ExtraFileObject.new('extra_file2', '')]
579
+ )
579
580
  end
580
581
 
581
582
  it "accepts files section only containing extra files" do
582
583
  expect(Dir).to receive(:glob).with('README{,*[^~]}').and_return([])
583
- @yardoc.parse_arguments *%w( - LICENSE )
584
+ @yardoc.parse_arguments(*%w(- LICENSE))
584
585
  expect(@yardoc.files).to eq Parser::SourceParser::DEFAULT_PATH_GLOB
585
586
  expect(@yardoc.options.files).to eq [CodeObjects::ExtraFileObject.new('LICENSE', '')]
586
587
  end
@@ -592,35 +593,36 @@ describe YARD::CLI::Yardoc do
592
593
  expect(File).to receive(:read).with('b.txt').and_return('')
593
594
  expect(File).to receive(:file?).with('a.txt').and_return(true)
594
595
  expect(File).to receive(:file?).with('b.txt').and_return(true)
595
- @yardoc.parse_arguments *%w( file1 file2 - *.txt )
596
- expect(@yardoc.files).to eq %w( file1 file2 )
596
+ @yardoc.parse_arguments(*%w(file1 file2 - *.txt))
597
+ expect(@yardoc.files).to eq %w(file1 file2)
597
598
  expect(@yardoc.options.files).to eq(
598
599
  [CodeObjects::ExtraFileObject.new('a.txt', ''),
599
- CodeObjects::ExtraFileObject.new('b.txt', '')])
600
+ CodeObjects::ExtraFileObject.new('b.txt', '')]
601
+ )
600
602
  end
601
603
 
602
604
  it "warns if extra file is not found" do
603
605
  expect(log).to receive(:warn).with(/Could not find extra file: UNKNOWN/)
604
- @yardoc.parse_arguments *%w( - UNKNOWN )
606
+ @yardoc.parse_arguments(*%w(- UNKNOWN))
605
607
  end
606
608
 
607
609
  it "warns if readme file is not found" do
608
610
  expect(log).to receive(:warn).with(/Could not find readme file: UNKNOWN/)
609
- @yardoc.parse_arguments *%w( -r UNKNOWN )
611
+ @yardoc.parse_arguments(*%w(-r UNKNOWN))
610
612
  end
611
613
 
612
614
  it "uses first file as readme if no readme is specified when using --one-file" do
613
615
  expect(Dir).to receive(:glob).with('README{,*[^~]}').and_return []
614
616
  expect(Dir).to receive(:glob).with('lib/*.rb').and_return(['lib/foo.rb'])
615
617
  expect(File).to receive(:read).with('lib/foo.rb').and_return('')
616
- @yardoc.parse_arguments *%w( --one-file lib/*.rb )
618
+ @yardoc.parse_arguments(*%w(--one-file lib/*.rb))
617
619
  expect(@yardoc.options.readme).to eq CodeObjects::ExtraFileObject.new('lib/foo.rb', '')
618
620
  end
619
621
 
620
622
  it "uses readme it exists when using --one-file" do
621
623
  expect(Dir).to receive(:glob).with('README{,*[^~]}').and_return ['README']
622
624
  expect(File).to receive(:read).with('README').and_return('')
623
- @yardoc.parse_arguments *%w( --one-file lib/*.rb )
625
+ @yardoc.parse_arguments(*%w(--one-file lib/*.rb))
624
626
  expect(@yardoc.options.readme).to eq CodeObjects::ExtraFileObject.new('README', '')
625
627
  end
626
628
 
@@ -628,7 +630,7 @@ describe YARD::CLI::Yardoc do
628
630
  ienc = Encoding.default_internal
629
631
  eenc = Encoding.default_external
630
632
  expect(log).to receive(:warn).with(/not compatible with US-ASCII.*using ASCII-8BIT/)
631
- @yardoc.parse_arguments *%w( --one-file --charset us-ascii )
633
+ @yardoc.parse_arguments(*%w(--one-file --charset us-ascii))
632
634
  expect(Encoding.default_internal.name).to eq 'ASCII-8BIT'
633
635
  expect(Encoding.default_external.name).to eq 'ASCII-8BIT'
634
636
  Encoding.default_internal = ienc
data/spec/cli/yri_spec.rb CHANGED
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  class TestYRI < YARD::CLI::YRI
4
4
  public :optparse, :find_object, :cache_object
@@ -6,7 +6,7 @@ class TestYRI < YARD::CLI::YRI
6
6
  def print_object(*args) test_stub; super end
7
7
  end
8
8
 
9
- describe YARD::CLI::YRI do
9
+ RSpec.describe YARD::CLI::YRI do
10
10
  before do
11
11
  @yri = TestYRI.new
12
12
  allow(Registry).to receive(:load)
@@ -20,7 +20,7 @@ describe YARD::CLI::YRI do
20
20
  expect(Registry).to receive(:load).with('bar.yardoc')
21
21
  expect(Registry).to receive(:at).ordered.with('Foo').and_return(nil)
22
22
  expect(Registry).to receive(:at).ordered.with('Foo').and_return('OBJ')
23
- @yri.instance_variable_set("@cache", {'Foo' => 'bar.yardoc'})
23
+ @yri.instance_variable_set("@cache", 'Foo' => 'bar.yardoc')
24
24
  expect(@yri.find_object('Foo')).to eq 'OBJ'
25
25
  end
26
26
 
@@ -30,7 +30,7 @@ describe YARD::CLI::YRI do
30
30
  expect(Registry).to receive(:load).with('.yardoc')
31
31
  expect(Registry).to receive(:at).ordered.with('Foo').and_return(nil)
32
32
  expect(Registry).to receive(:at).ordered.with('Foo').and_return('OBJ')
33
- @yri.instance_variable_set("@cache", {'Foo' => 'bar.yardoc'})
33
+ @yri.instance_variable_set("@cache", 'Foo' => 'bar.yardoc')
34
34
  expect(@yri.find_object('Foo')).to eq 'OBJ'
35
35
  expect(@yri.instance_variable_get("@search_paths")[0]).to eq '.yardoc'
36
36
  end
@@ -63,7 +63,7 @@ describe YARD::CLI::YRI do
63
63
  expect(File).to receive(:readlines).with(path).and_return(%w(line1 line2))
64
64
  @yri = YARD::CLI::YRI.new
65
65
  spaths = @yri.instance_variable_get("@search_paths")
66
- expect(spaths[0,4]).to eq %w(foo bar line1 line2)
66
+ expect(spaths[0, 4]).to eq %w(foo bar line1 line2)
67
67
  YARD::CLI::YRI::DEFAULT_SEARCH_PATHS.replace([])
68
68
  end
69
69
  end
@@ -89,7 +89,7 @@ describe YARD::CLI::YRI do
89
89
  end
90
90
 
91
91
  it "ensures output is serialized" do
92
- obj = YARD::CodeObjects::ClassObject.new(:root, 'Foo')
92
+ YARD::CodeObjects::ClassObject.new(:root, 'Foo')
93
93
  allow(@yri).to receive(:test_stub) do
94
94
  expect(@yri.instance_variable_get(:@serializer)).to receive(:serialize).once
95
95
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::Base do
4
+ RSpec.describe YARD::CodeObjects::Base do
4
5
  before { Registry.clear }
5
6
 
6
7
  it "does not allow empty object name" do
@@ -199,7 +200,7 @@ describe YARD::CodeObjects::Base do
199
200
  it "maintains all file associations when objects are defined multiple times in multiple files" do
200
201
  3.times do |i|
201
202
  allow(File).to receive(:read_binary).and_return("class X; end")
202
- Parser::SourceParser.new.parse("file#{i+1}.rb")
203
+ Parser::SourceParser.new.parse("file#{i + 1}.rb")
203
204
  end
204
205
 
205
206
  expect(Registry.at(:X).file).to eq 'file1.rb'
@@ -247,7 +248,8 @@ describe YARD::CodeObjects::Base do
247
248
  it "accepts a string" do
248
249
  YARD.parse_string "module A; class B; end; class C; end; end"
249
250
  expect(Registry.at('A::B').relative_path(Registry.at('A::C'))).to eq(
250
- Registry.at('A::B').relative_path('A::C'))
251
+ Registry.at('A::B').relative_path('A::C')
252
+ )
251
253
  end
252
254
 
253
255
  it "returns full class name when objects share a common class prefix" do
@@ -408,7 +410,7 @@ describe YARD::CodeObjects::Base do
408
410
  expect(foo_c.tag(:return).types).to eq ['String']
409
411
  expect(foo_c.file).to eq '(stdin)'
410
412
  expect(foo_c.line).to eq 4
411
- expect(foo_c.source).to match /source_code_here/
413
+ expect(foo_c.source).to match(/source_code_here/)
412
414
  expect(foo_c.signature).to eq 'def foo(a, b, c)'
413
415
  expect(foo_c.parameters).to eq [['a', nil], ['b', nil], ['c', nil]]
414
416
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::ClassObject do
4
+ RSpec.describe YARD::CodeObjects::ClassObject do
4
5
  describe "#inheritance_tree" do
5
6
  before(:all) do
6
7
  Registry.clear
@@ -173,18 +174,18 @@ describe YARD::CodeObjects::ClassObject do
173
174
  end
174
175
 
175
176
  it "does not set a superclass on BasicObject class" do
176
- o = ClassObject.new(:root, :Object)
177
- expect(o.superclass).to eq P(:BasicObject)
177
+ o = ClassObject.new(:root, :BasicObject)
178
+ expect(o.superclass).to be nil
178
179
  end
179
180
 
180
181
  it "sets superclass of Object to BasicObject" do
181
- o = ClassObject.new(:root, :BasicObject)
182
- expect(o.superclass).to be nil
182
+ o = ClassObject.new(:root, :Object)
183
+ expect(o.superclass).to eq P(:BasicObject)
183
184
  end
184
185
 
185
186
  it "raises ArgumentError if superclass == self" do
186
187
  expect do
187
- o = ClassObject.new(:root, :Object) do |o|
188
+ ClassObject.new(:root, :Object) do |o|
188
189
  o.superclass = :Object
189
190
  end
190
191
  end.to raise_error(ArgumentError)
@@ -196,7 +197,7 @@ describe YARD::CodeObjects::ClassObject do
196
197
  o2.superclass = :SystemCallError
197
198
  o3 = ClassObject.new(:root, :StandardError)
198
199
  o3.superclass = :Object
199
- o4 = ClassObject.new(:root, :Object)
200
+ ClassObject.new(:root, :Object)
200
201
 
201
202
  o.superclass = :Object
202
203
  expect(o.is_exception?).to be false
@@ -216,10 +217,10 @@ describe YARD::CodeObjects::ClassObject do
216
217
 
217
218
  it "does not raise ArgumentError if superclass is proxy in different namespace" do
218
219
  expect do
219
- o = ClassObject.new(:root, :X) do |o|
220
+ ClassObject.new(:root, :X) do |o|
220
221
  o.superclass = P('OTHER::X')
221
222
  end
222
223
  end.not_to raise_error
223
224
  end
224
225
  end
225
- end
226
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::CodeObjectList do
4
+ RSpec.describe YARD::CodeObjects::CodeObjectList do
4
5
  before { Registry.clear }
5
6
 
6
7
  describe "#push" do
@@ -32,4 +33,4 @@ describe YARD::CodeObjects::CodeObjectList do
32
33
  list << "Test"
33
34
  expect(list.size).to eq 2
34
35
  end
35
- end
36
+ end