hyper-pro-gem 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. checksums.yaml +7 -0
  2. data/hyper-pro-gem.gemspec +12 -0
  3. data/yard-0.9.44/CHANGELOG.md +983 -0
  4. data/yard-0.9.44/LEGAL +94 -0
  5. data/yard-0.9.44/LICENSE +22 -0
  6. data/yard-0.9.44/README.md +329 -0
  7. data/yard-0.9.44/bin/yard +13 -0
  8. data/yard-0.9.44/bin/yardoc +13 -0
  9. data/yard-0.9.44/bin/yri +13 -0
  10. data/yard-0.9.44/docs/CodeObjects.md +115 -0
  11. data/yard-0.9.44/docs/GettingStarted.md +705 -0
  12. data/yard-0.9.44/docs/Handlers.md +152 -0
  13. data/yard-0.9.44/docs/Overview.md +61 -0
  14. data/yard-0.9.44/docs/Parser.md +166 -0
  15. data/yard-0.9.44/docs/Tags.md +304 -0
  16. data/yard-0.9.44/docs/TagsArch.md +123 -0
  17. data/yard-0.9.44/docs/Templates.md +497 -0
  18. data/yard-0.9.44/docs/WhatsNew.md +1297 -0
  19. data/yard-0.9.44/docs/images/code-objects-class-diagram.png +0 -0
  20. data/yard-0.9.44/docs/images/handlers-class-diagram.png +0 -0
  21. data/yard-0.9.44/docs/images/overview-class-diagram.png +0 -0
  22. data/yard-0.9.44/docs/images/parser-class-diagram.png +0 -0
  23. data/yard-0.9.44/docs/images/tags-class-diagram.png +0 -0
  24. data/yard-0.9.44/docs/templates/default/fulldoc/html/full_list_tag.erb +9 -0
  25. data/yard-0.9.44/docs/templates/default/fulldoc/html/setup.rb +6 -0
  26. data/yard-0.9.44/docs/templates/default/layout/html/setup.rb +9 -0
  27. data/yard-0.9.44/docs/templates/default/layout/html/tag_list.erb +11 -0
  28. data/yard-0.9.44/docs/templates/default/yard_tags/html/list.erb +18 -0
  29. data/yard-0.9.44/docs/templates/default/yard_tags/html/setup.rb +26 -0
  30. data/yard-0.9.44/docs/templates/plugin.rb +70 -0
  31. data/yard-0.9.44/lib/rubygems_plugin.rb +9 -0
  32. data/yard-0.9.44/lib/yard/autoload.rb +328 -0
  33. data/yard-0.9.44/lib/yard/cli/command.rb +85 -0
  34. data/yard-0.9.44/lib/yard/cli/command_parser.rb +93 -0
  35. data/yard-0.9.44/lib/yard/cli/config.rb +198 -0
  36. data/yard-0.9.44/lib/yard/cli/diff.rb +278 -0
  37. data/yard-0.9.44/lib/yard/cli/display.rb +69 -0
  38. data/yard-0.9.44/lib/yard/cli/gems.rb +84 -0
  39. data/yard-0.9.44/lib/yard/cli/graph.rb +125 -0
  40. data/yard-0.9.44/lib/yard/cli/help.rb +20 -0
  41. data/yard-0.9.44/lib/yard/cli/i18n.rb +70 -0
  42. data/yard-0.9.44/lib/yard/cli/list.rb +23 -0
  43. data/yard-0.9.44/lib/yard/cli/markup_types.rb +32 -0
  44. data/yard-0.9.44/lib/yard/cli/server.rb +266 -0
  45. data/yard-0.9.44/lib/yard/cli/stats.rb +234 -0
  46. data/yard-0.9.44/lib/yard/cli/yardoc.rb +791 -0
  47. data/yard-0.9.44/lib/yard/cli/yardopts_command.rb +110 -0
  48. data/yard-0.9.44/lib/yard/cli/yri.rb +215 -0
  49. data/yard-0.9.44/lib/yard/code_objects/base.rb +626 -0
  50. data/yard-0.9.44/lib/yard/code_objects/class_object.rb +146 -0
  51. data/yard-0.9.44/lib/yard/code_objects/class_variable_object.rb +11 -0
  52. data/yard-0.9.44/lib/yard/code_objects/constant_object.rb +16 -0
  53. data/yard-0.9.44/lib/yard/code_objects/extended_method_object.rb +24 -0
  54. data/yard-0.9.44/lib/yard/code_objects/extra_file_object.rb +135 -0
  55. data/yard-0.9.44/lib/yard/code_objects/macro_object.rb +171 -0
  56. data/yard-0.9.44/lib/yard/code_objects/method_object.rb +196 -0
  57. data/yard-0.9.44/lib/yard/code_objects/module_object.rb +21 -0
  58. data/yard-0.9.44/lib/yard/code_objects/namespace_mapper.rb +141 -0
  59. data/yard-0.9.44/lib/yard/code_objects/namespace_object.rb +200 -0
  60. data/yard-0.9.44/lib/yard/code_objects/proxy.rb +245 -0
  61. data/yard-0.9.44/lib/yard/code_objects/root_object.rb +19 -0
  62. data/yard-0.9.44/lib/yard/config.rb +274 -0
  63. data/yard-0.9.44/lib/yard/core_ext/array.rb +16 -0
  64. data/yard-0.9.44/lib/yard/core_ext/file.rb +69 -0
  65. data/yard-0.9.44/lib/yard/core_ext/hash.rb +16 -0
  66. data/yard-0.9.44/lib/yard/core_ext/insertion.rb +63 -0
  67. data/yard-0.9.44/lib/yard/core_ext/module.rb +11 -0
  68. data/yard-0.9.44/lib/yard/core_ext/string.rb +68 -0
  69. data/yard-0.9.44/lib/yard/core_ext/symbol_hash.rb +75 -0
  70. data/yard-0.9.44/lib/yard/docstring.rb +386 -0
  71. data/yard-0.9.44/lib/yard/docstring_parser.rb +344 -0
  72. data/yard-0.9.44/lib/yard/gem_index.rb +29 -0
  73. data/yard-0.9.44/lib/yard/globals.rb +22 -0
  74. data/yard-0.9.44/lib/yard/handlers/base.rb +617 -0
  75. data/yard-0.9.44/lib/yard/handlers/c/alias_handler.rb +16 -0
  76. data/yard-0.9.44/lib/yard/handlers/c/attribute_handler.rb +13 -0
  77. data/yard-0.9.44/lib/yard/handlers/c/base.rb +164 -0
  78. data/yard-0.9.44/lib/yard/handlers/c/class_handler.rb +27 -0
  79. data/yard-0.9.44/lib/yard/handlers/c/constant_handler.rb +13 -0
  80. data/yard-0.9.44/lib/yard/handlers/c/handler_methods.rb +212 -0
  81. data/yard-0.9.44/lib/yard/handlers/c/init_handler.rb +20 -0
  82. data/yard-0.9.44/lib/yard/handlers/c/method_handler.rb +45 -0
  83. data/yard-0.9.44/lib/yard/handlers/c/mixin_handler.rb +21 -0
  84. data/yard-0.9.44/lib/yard/handlers/c/module_handler.rb +17 -0
  85. data/yard-0.9.44/lib/yard/handlers/c/override_comment_handler.rb +31 -0
  86. data/yard-0.9.44/lib/yard/handlers/c/path_handler.rb +11 -0
  87. data/yard-0.9.44/lib/yard/handlers/c/struct_handler.rb +13 -0
  88. data/yard-0.9.44/lib/yard/handlers/c/symbol_handler.rb +8 -0
  89. data/yard-0.9.44/lib/yard/handlers/common/method_handler.rb +19 -0
  90. data/yard-0.9.44/lib/yard/handlers/processor.rb +200 -0
  91. data/yard-0.9.44/lib/yard/handlers/rbs/attribute_handler.rb +79 -0
  92. data/yard-0.9.44/lib/yard/handlers/rbs/base.rb +38 -0
  93. data/yard-0.9.44/lib/yard/handlers/rbs/constant_handler.rb +18 -0
  94. data/yard-0.9.44/lib/yard/handlers/rbs/method_handler.rb +327 -0
  95. data/yard-0.9.44/lib/yard/handlers/rbs/mixin_handler.rb +20 -0
  96. data/yard-0.9.44/lib/yard/handlers/rbs/namespace_handler.rb +26 -0
  97. data/yard-0.9.44/lib/yard/handlers/ruby/alias_handler.rb +45 -0
  98. data/yard-0.9.44/lib/yard/handlers/ruby/attribute_handler.rb +90 -0
  99. data/yard-0.9.44/lib/yard/handlers/ruby/base.rb +165 -0
  100. data/yard-0.9.44/lib/yard/handlers/ruby/class_condition_handler.rb +92 -0
  101. data/yard-0.9.44/lib/yard/handlers/ruby/class_handler.rb +119 -0
  102. data/yard-0.9.44/lib/yard/handlers/ruby/class_variable_handler.rb +17 -0
  103. data/yard-0.9.44/lib/yard/handlers/ruby/comment_handler.rb +10 -0
  104. data/yard-0.9.44/lib/yard/handlers/ruby/constant_handler.rb +73 -0
  105. data/yard-0.9.44/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -0
  106. data/yard-0.9.44/lib/yard/handlers/ruby/dsl_handler.rb +15 -0
  107. data/yard-0.9.44/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -0
  108. data/yard-0.9.44/lib/yard/handlers/ruby/exception_handler.rb +27 -0
  109. data/yard-0.9.44/lib/yard/handlers/ruby/extend_handler.rb +22 -0
  110. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
  111. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -0
  112. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/base.rb +245 -0
  113. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
  114. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -0
  115. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -0
  116. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -0
  117. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -0
  118. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -0
  119. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -0
  120. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -0
  121. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -0
  122. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
  123. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -0
  124. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -0
  125. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -0
  126. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -0
  127. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/visibility_handler.rb +18 -0
  128. data/yard-0.9.44/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -0
  129. data/yard-0.9.44/lib/yard/handlers/ruby/method_condition_handler.rb +9 -0
  130. data/yard-0.9.44/lib/yard/handlers/ruby/method_handler.rb +104 -0
  131. data/yard-0.9.44/lib/yard/handlers/ruby/mixin_handler.rb +61 -0
  132. data/yard-0.9.44/lib/yard/handlers/ruby/module_function_handler.rb +39 -0
  133. data/yard-0.9.44/lib/yard/handlers/ruby/module_handler.rb +12 -0
  134. data/yard-0.9.44/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -0
  135. data/yard-0.9.44/lib/yard/handlers/ruby/private_constant_handler.rb +43 -0
  136. data/yard-0.9.44/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -0
  137. data/yard-0.9.44/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -0
  138. data/yard-0.9.44/lib/yard/handlers/ruby/visibility_handler.rb +35 -0
  139. data/yard-0.9.44/lib/yard/handlers/ruby/yield_handler.rb +31 -0
  140. data/yard-0.9.44/lib/yard/i18n/locale.rb +67 -0
  141. data/yard-0.9.44/lib/yard/i18n/message.rb +57 -0
  142. data/yard-0.9.44/lib/yard/i18n/messages.rb +56 -0
  143. data/yard-0.9.44/lib/yard/i18n/po_parser.rb +61 -0
  144. data/yard-0.9.44/lib/yard/i18n/pot_generator.rb +290 -0
  145. data/yard-0.9.44/lib/yard/i18n/text.rb +173 -0
  146. data/yard-0.9.44/lib/yard/logging.rb +260 -0
  147. data/yard-0.9.44/lib/yard/open_struct.rb +67 -0
  148. data/yard-0.9.44/lib/yard/options.rb +217 -0
  149. data/yard-0.9.44/lib/yard/parser/base.rb +57 -0
  150. data/yard-0.9.44/lib/yard/parser/c/c_parser.rb +235 -0
  151. data/yard-0.9.44/lib/yard/parser/c/comment_parser.rb +134 -0
  152. data/yard-0.9.44/lib/yard/parser/c/statement.rb +66 -0
  153. data/yard-0.9.44/lib/yard/parser/rbs/rbs_parser.rb +325 -0
  154. data/yard-0.9.44/lib/yard/parser/rbs/statement.rb +75 -0
  155. data/yard-0.9.44/lib/yard/parser/ruby/ast_node.rb +559 -0
  156. data/yard-0.9.44/lib/yard/parser/ruby/legacy/irb/slex.rb +294 -0
  157. data/yard-0.9.44/lib/yard/parser/ruby/legacy/ruby_lex.rb +1360 -0
  158. data/yard-0.9.44/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -0
  159. data/yard-0.9.44/lib/yard/parser/ruby/legacy/statement.rb +68 -0
  160. data/yard-0.9.44/lib/yard/parser/ruby/legacy/statement_list.rb +394 -0
  161. data/yard-0.9.44/lib/yard/parser/ruby/legacy/token_list.rb +74 -0
  162. data/yard-0.9.44/lib/yard/parser/ruby/ruby_parser.rb +792 -0
  163. data/yard-0.9.44/lib/yard/parser/ruby/token_resolver.rb +158 -0
  164. data/yard-0.9.44/lib/yard/parser/source_parser.rb +526 -0
  165. data/yard-0.9.44/lib/yard/rake/yardoc_task.rb +81 -0
  166. data/yard-0.9.44/lib/yard/registry.rb +439 -0
  167. data/yard-0.9.44/lib/yard/registry_resolver.rb +225 -0
  168. data/yard-0.9.44/lib/yard/registry_store.rb +342 -0
  169. data/yard-0.9.44/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  170. data/yard-0.9.44/lib/yard/rubygems/backports/MIT.txt +20 -0
  171. data/yard-0.9.44/lib/yard/rubygems/backports/gem.rb +10 -0
  172. data/yard-0.9.44/lib/yard/rubygems/backports/source_index.rb +365 -0
  173. data/yard-0.9.44/lib/yard/rubygems/backports.rb +10 -0
  174. data/yard-0.9.44/lib/yard/rubygems/doc_manager.rb +90 -0
  175. data/yard-0.9.44/lib/yard/rubygems/hook.rb +197 -0
  176. data/yard-0.9.44/lib/yard/rubygems/specification.rb +50 -0
  177. data/yard-0.9.44/lib/yard/serializers/base.rb +83 -0
  178. data/yard-0.9.44/lib/yard/serializers/file_system_serializer.rb +123 -0
  179. data/yard-0.9.44/lib/yard/serializers/process_serializer.rb +24 -0
  180. data/yard-0.9.44/lib/yard/serializers/stdout_serializer.rb +34 -0
  181. data/yard-0.9.44/lib/yard/serializers/yardoc_serializer.rb +152 -0
  182. data/yard-0.9.44/lib/yard/server/adapter.rb +100 -0
  183. data/yard-0.9.44/lib/yard/server/commands/base.rb +203 -0
  184. data/yard-0.9.44/lib/yard/server/commands/display_file_command.rb +29 -0
  185. data/yard-0.9.44/lib/yard/server/commands/display_object_command.rb +65 -0
  186. data/yard-0.9.44/lib/yard/server/commands/frames_command.rb +16 -0
  187. data/yard-0.9.44/lib/yard/server/commands/library_command.rb +187 -0
  188. data/yard-0.9.44/lib/yard/server/commands/library_index_command.rb +28 -0
  189. data/yard-0.9.44/lib/yard/server/commands/list_command.rb +25 -0
  190. data/yard-0.9.44/lib/yard/server/commands/root_request_command.rb +15 -0
  191. data/yard-0.9.44/lib/yard/server/commands/search_command.rb +79 -0
  192. data/yard-0.9.44/lib/yard/server/commands/static_file_command.rb +23 -0
  193. data/yard-0.9.44/lib/yard/server/commands/static_file_helpers.rb +60 -0
  194. data/yard-0.9.44/lib/yard/server/doc_server_helper.rb +91 -0
  195. data/yard-0.9.44/lib/yard/server/doc_server_serializer.rb +39 -0
  196. data/yard-0.9.44/lib/yard/server/http_utils.rb +512 -0
  197. data/yard-0.9.44/lib/yard/server/library_version.rb +277 -0
  198. data/yard-0.9.44/lib/yard/server/rack_adapter.rb +97 -0
  199. data/yard-0.9.44/lib/yard/server/router.rb +187 -0
  200. data/yard-0.9.44/lib/yard/server/static_caching.rb +77 -0
  201. data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/css/custom.css +207 -0
  202. data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  203. data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +203 -0
  204. data/yard-0.9.44/lib/yard/server/templates/default/layout/html/breadcrumb.erb +21 -0
  205. data/yard-0.9.44/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -0
  206. data/yard-0.9.44/lib/yard/server/templates/default/layout/html/setup.rb +8 -0
  207. data/yard-0.9.44/lib/yard/server/templates/default/method_details/html/permalink.erb +6 -0
  208. data/yard-0.9.44/lib/yard/server/templates/default/method_details/html/setup.rb +5 -0
  209. data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -0
  210. data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +13 -0
  211. data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -0
  212. data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -0
  213. data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  214. data/yard-0.9.44/lib/yard/server/templates/doc_server/processing/html/processing.erb +58 -0
  215. data/yard-0.9.44/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -0
  216. data/yard-0.9.44/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
  217. data/yard-0.9.44/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -0
  218. data/yard-0.9.44/lib/yard/server/webrick_adapter.rb +45 -0
  219. data/yard-0.9.44/lib/yard/server.rb +13 -0
  220. data/yard-0.9.44/lib/yard/tags/default_factory.rb +192 -0
  221. data/yard-0.9.44/lib/yard/tags/default_tag.rb +13 -0
  222. data/yard-0.9.44/lib/yard/tags/directives.rb +631 -0
  223. data/yard-0.9.44/lib/yard/tags/library.rb +633 -0
  224. data/yard-0.9.44/lib/yard/tags/option_tag.rb +13 -0
  225. data/yard-0.9.44/lib/yard/tags/overload_tag.rb +72 -0
  226. data/yard-0.9.44/lib/yard/tags/ref_tag.rb +8 -0
  227. data/yard-0.9.44/lib/yard/tags/ref_tag_list.rb +28 -0
  228. data/yard-0.9.44/lib/yard/tags/tag.rb +72 -0
  229. data/yard-0.9.44/lib/yard/tags/tag_format_error.rb +7 -0
  230. data/yard-0.9.44/lib/yard/tags/types_explainer.rb +288 -0
  231. data/yard-0.9.44/lib/yard/templates/engine.rb +185 -0
  232. data/yard-0.9.44/lib/yard/templates/erb_cache.rb +23 -0
  233. data/yard-0.9.44/lib/yard/templates/helpers/base_helper.rb +215 -0
  234. data/yard-0.9.44/lib/yard/templates/helpers/filter_helper.rb +27 -0
  235. data/yard-0.9.44/lib/yard/templates/helpers/html_helper.rb +688 -0
  236. data/yard-0.9.44/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +83 -0
  237. data/yard-0.9.44/lib/yard/templates/helpers/markup/html_entities.rb +2140 -0
  238. data/yard-0.9.44/lib/yard/templates/helpers/markup/hybrid_markdown.rb +2131 -0
  239. data/yard-0.9.44/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -0
  240. data/yard-0.9.44/lib/yard/templates/helpers/markup/rdoc_markup.rb +112 -0
  241. data/yard-0.9.44/lib/yard/templates/helpers/markup_helper.rb +175 -0
  242. data/yard-0.9.44/lib/yard/templates/helpers/method_helper.rb +77 -0
  243. data/yard-0.9.44/lib/yard/templates/helpers/module_helper.rb +21 -0
  244. data/yard-0.9.44/lib/yard/templates/helpers/text_helper.rb +112 -0
  245. data/yard-0.9.44/lib/yard/templates/helpers/uml_helper.rb +47 -0
  246. data/yard-0.9.44/lib/yard/templates/section.rb +103 -0
  247. data/yard-0.9.44/lib/yard/templates/template.rb +420 -0
  248. data/yard-0.9.44/lib/yard/templates/template_options.rb +91 -0
  249. data/yard-0.9.44/lib/yard/verifier.rb +151 -0
  250. data/yard-0.9.44/lib/yard/version.rb +6 -0
  251. data/yard-0.9.44/lib/yard.rb +75 -0
  252. data/yard-0.9.44/po/ja.po +31108 -0
  253. data/yard-0.9.44/templates/default/class/dot/setup.rb +7 -0
  254. data/yard-0.9.44/templates/default/class/dot/superklass.erb +3 -0
  255. data/yard-0.9.44/templates/default/class/html/constructor_details.erb +8 -0
  256. data/yard-0.9.44/templates/default/class/html/setup.rb +2 -0
  257. data/yard-0.9.44/templates/default/class/html/subclasses.erb +4 -0
  258. data/yard-0.9.44/templates/default/class/setup.rb +36 -0
  259. data/yard-0.9.44/templates/default/class/text/setup.rb +12 -0
  260. data/yard-0.9.44/templates/default/class/text/subclasses.erb +5 -0
  261. data/yard-0.9.44/templates/default/constant/text/header.erb +11 -0
  262. data/yard-0.9.44/templates/default/constant/text/setup.rb +4 -0
  263. data/yard-0.9.44/templates/default/docstring/html/abstract.erb +4 -0
  264. data/yard-0.9.44/templates/default/docstring/html/deprecated.erb +1 -0
  265. data/yard-0.9.44/templates/default/docstring/html/index.erb +5 -0
  266. data/yard-0.9.44/templates/default/docstring/html/note.erb +6 -0
  267. data/yard-0.9.44/templates/default/docstring/html/private.erb +4 -0
  268. data/yard-0.9.44/templates/default/docstring/html/returns_void.erb +1 -0
  269. data/yard-0.9.44/templates/default/docstring/html/text.erb +1 -0
  270. data/yard-0.9.44/templates/default/docstring/html/todo.erb +6 -0
  271. data/yard-0.9.44/templates/default/docstring/setup.rb +52 -0
  272. data/yard-0.9.44/templates/default/docstring/text/abstract.erb +2 -0
  273. data/yard-0.9.44/templates/default/docstring/text/deprecated.erb +2 -0
  274. data/yard-0.9.44/templates/default/docstring/text/index.erb +2 -0
  275. data/yard-0.9.44/templates/default/docstring/text/note.erb +4 -0
  276. data/yard-0.9.44/templates/default/docstring/text/private.erb +2 -0
  277. data/yard-0.9.44/templates/default/docstring/text/returns_void.erb +1 -0
  278. data/yard-0.9.44/templates/default/docstring/text/text.erb +1 -0
  279. data/yard-0.9.44/templates/default/docstring/text/todo.erb +4 -0
  280. data/yard-0.9.44/templates/default/fulldoc/html/css/common.css +1 -0
  281. data/yard-0.9.44/templates/default/fulldoc/html/css/full_list.css +206 -0
  282. data/yard-0.9.44/templates/default/fulldoc/html/css/style.css +1089 -0
  283. data/yard-0.9.44/templates/default/fulldoc/html/frames.erb +22 -0
  284. data/yard-0.9.44/templates/default/fulldoc/html/full_list.erb +40 -0
  285. data/yard-0.9.44/templates/default/fulldoc/html/full_list_class.erb +2 -0
  286. data/yard-0.9.44/templates/default/fulldoc/html/full_list_file.erb +7 -0
  287. data/yard-0.9.44/templates/default/fulldoc/html/full_list_method.erb +10 -0
  288. data/yard-0.9.44/templates/default/fulldoc/html/js/app.js +801 -0
  289. data/yard-0.9.44/templates/default/fulldoc/html/js/full_list.js +334 -0
  290. data/yard-0.9.44/templates/default/fulldoc/html/js/jquery.js +4 -0
  291. data/yard-0.9.44/templates/default/fulldoc/html/setup.rb +249 -0
  292. data/yard-0.9.44/templates/default/layout/dot/header.erb +6 -0
  293. data/yard-0.9.44/templates/default/layout/dot/setup.rb +15 -0
  294. data/yard-0.9.44/templates/default/layout/html/breadcrumb.erb +11 -0
  295. data/yard-0.9.44/templates/default/layout/html/files.erb +11 -0
  296. data/yard-0.9.44/templates/default/layout/html/footer.erb +5 -0
  297. data/yard-0.9.44/templates/default/layout/html/headers.erb +15 -0
  298. data/yard-0.9.44/templates/default/layout/html/index.erb +2 -0
  299. data/yard-0.9.44/templates/default/layout/html/layout.erb +26 -0
  300. data/yard-0.9.44/templates/default/layout/html/listing.erb +4 -0
  301. data/yard-0.9.44/templates/default/layout/html/objects.erb +32 -0
  302. data/yard-0.9.44/templates/default/layout/html/script_setup.erb +4 -0
  303. data/yard-0.9.44/templates/default/layout/html/search.erb +13 -0
  304. data/yard-0.9.44/templates/default/layout/html/setup.rb +89 -0
  305. data/yard-0.9.44/templates/default/method/html/header.erb +17 -0
  306. data/yard-0.9.44/templates/default/method/setup.rb +4 -0
  307. data/yard-0.9.44/templates/default/method/text/header.erb +1 -0
  308. data/yard-0.9.44/templates/default/method_details/html/header.erb +3 -0
  309. data/yard-0.9.44/templates/default/method_details/html/method_signature.erb +25 -0
  310. data/yard-0.9.44/templates/default/method_details/html/source.erb +10 -0
  311. data/yard-0.9.44/templates/default/method_details/setup.rb +11 -0
  312. data/yard-0.9.44/templates/default/method_details/text/header.erb +10 -0
  313. data/yard-0.9.44/templates/default/method_details/text/method_signature.erb +12 -0
  314. data/yard-0.9.44/templates/default/method_details/text/setup.rb +11 -0
  315. data/yard-0.9.44/templates/default/module/dot/child.erb +1 -0
  316. data/yard-0.9.44/templates/default/module/dot/dependencies.erb +3 -0
  317. data/yard-0.9.44/templates/default/module/dot/header.erb +6 -0
  318. data/yard-0.9.44/templates/default/module/dot/info.erb +14 -0
  319. data/yard-0.9.44/templates/default/module/dot/setup.rb +15 -0
  320. data/yard-0.9.44/templates/default/module/html/attribute_details.erb +10 -0
  321. data/yard-0.9.44/templates/default/module/html/attribute_summary.erb +8 -0
  322. data/yard-0.9.44/templates/default/module/html/box_info.erb +43 -0
  323. data/yard-0.9.44/templates/default/module/html/children.erb +8 -0
  324. data/yard-0.9.44/templates/default/module/html/constant_summary.erb +17 -0
  325. data/yard-0.9.44/templates/default/module/html/defines.erb +3 -0
  326. data/yard-0.9.44/templates/default/module/html/header.erb +5 -0
  327. data/yard-0.9.44/templates/default/module/html/inherited_attributes.erb +14 -0
  328. data/yard-0.9.44/templates/default/module/html/inherited_constants.erb +8 -0
  329. data/yard-0.9.44/templates/default/module/html/inherited_methods.erb +20 -0
  330. data/yard-0.9.44/templates/default/module/html/item_summary.erb +40 -0
  331. data/yard-0.9.44/templates/default/module/html/method_details_list.erb +9 -0
  332. data/yard-0.9.44/templates/default/module/html/method_summary.erb +22 -0
  333. data/yard-0.9.44/templates/default/module/html/methodmissing.erb +12 -0
  334. data/yard-0.9.44/templates/default/module/html/pre_docstring.erb +1 -0
  335. data/yard-0.9.44/templates/default/module/setup.rb +187 -0
  336. data/yard-0.9.44/templates/default/module/text/children.erb +10 -0
  337. data/yard-0.9.44/templates/default/module/text/class_meths_list.erb +8 -0
  338. data/yard-0.9.44/templates/default/module/text/extends.erb +8 -0
  339. data/yard-0.9.44/templates/default/module/text/header.erb +7 -0
  340. data/yard-0.9.44/templates/default/module/text/includes.erb +8 -0
  341. data/yard-0.9.44/templates/default/module/text/instance_meths_list.erb +8 -0
  342. data/yard-0.9.44/templates/default/module/text/setup.rb +13 -0
  343. data/yard-0.9.44/templates/default/onefile/html/files.erb +5 -0
  344. data/yard-0.9.44/templates/default/onefile/html/headers.erb +8 -0
  345. data/yard-0.9.44/templates/default/onefile/html/layout.erb +16 -0
  346. data/yard-0.9.44/templates/default/onefile/html/readme.erb +3 -0
  347. data/yard-0.9.44/templates/default/onefile/html/setup.rb +62 -0
  348. data/yard-0.9.44/templates/default/root/dot/child.erb +3 -0
  349. data/yard-0.9.44/templates/default/root/dot/setup.rb +6 -0
  350. data/yard-0.9.44/templates/default/root/html/setup.rb +2 -0
  351. data/yard-0.9.44/templates/default/tags/html/example.erb +11 -0
  352. data/yard-0.9.44/templates/default/tags/html/index.erb +3 -0
  353. data/yard-0.9.44/templates/default/tags/html/option.erb +24 -0
  354. data/yard-0.9.44/templates/default/tags/html/overload.erb +14 -0
  355. data/yard-0.9.44/templates/default/tags/html/see.erb +8 -0
  356. data/yard-0.9.44/templates/default/tags/html/tag.erb +20 -0
  357. data/yard-0.9.44/templates/default/tags/setup.rb +57 -0
  358. data/yard-0.9.44/templates/default/tags/text/example.erb +12 -0
  359. data/yard-0.9.44/templates/default/tags/text/index.erb +1 -0
  360. data/yard-0.9.44/templates/default/tags/text/option.erb +20 -0
  361. data/yard-0.9.44/templates/default/tags/text/overload.erb +19 -0
  362. data/yard-0.9.44/templates/default/tags/text/see.erb +11 -0
  363. data/yard-0.9.44/templates/default/tags/text/tag.erb +13 -0
  364. data/yard-0.9.44/templates/guide/class/html/setup.rb +2 -0
  365. data/yard-0.9.44/templates/guide/docstring/html/setup.rb +2 -0
  366. data/yard-0.9.44/templates/guide/fulldoc/html/css/style.css +358 -0
  367. data/yard-0.9.44/templates/guide/fulldoc/html/js/app.js +61 -0
  368. data/yard-0.9.44/templates/guide/fulldoc/html/setup.rb +74 -0
  369. data/yard-0.9.44/templates/guide/layout/html/layout.erb +78 -0
  370. data/yard-0.9.44/templates/guide/layout/html/setup.rb +25 -0
  371. data/yard-0.9.44/templates/guide/method/html/header.erb +18 -0
  372. data/yard-0.9.44/templates/guide/method/html/setup.rb +22 -0
  373. data/yard-0.9.44/templates/guide/module/html/header.erb +7 -0
  374. data/yard-0.9.44/templates/guide/module/html/method_list.erb +5 -0
  375. data/yard-0.9.44/templates/guide/module/html/setup.rb +27 -0
  376. data/yard-0.9.44/templates/guide/onefile/html/files.erb +4 -0
  377. data/yard-0.9.44/templates/guide/onefile/html/setup.rb +6 -0
  378. data/yard-0.9.44/templates/guide/onefile/html/toc.erb +3 -0
  379. data/yard-0.9.44/templates/guide/tags/html/setup.rb +9 -0
  380. metadata +419 -0
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates
4
+ module Helpers
5
+ module Markup
6
+ begin require 'rdoc'; rescue LoadError; nil end
7
+ begin
8
+ require 'rdoc/markdown'
9
+ rescue LoadError
10
+ raise NameError, "could not load RDoc Markdown support (rdoc is too old)"
11
+ end
12
+
13
+ class RDocMarkdown < RDocMarkup
14
+ def initialize(text)
15
+ super RDoc::Markdown.new.parse(text)
16
+ end
17
+
18
+ def fix_typewriter(html) html end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+ require 'thread'
3
+
4
+ module YARD
5
+ module Templates
6
+ module Helpers
7
+ module Markup
8
+ begin require 'rdoc'; rescue LoadError; nil end
9
+ begin
10
+ require 'rdoc/markup'
11
+ require 'rdoc/markup/to_html'
12
+ class RDocMarkup; MARKUP = RDoc::Markup end
13
+ class RDocMarkupToHtml < RDoc::Markup::ToHtml
14
+ if defined?(RDoc::VERSION) && RDoc::VERSION >= '4.0.0' &&
15
+ defined?(RDoc::Options)
16
+ def initialize
17
+ options = RDoc::Options.new
18
+ options.pipe = true
19
+ super(options)
20
+ end
21
+ end
22
+ end
23
+ rescue LoadError
24
+ begin
25
+ require 'rdoc/markup/simple_markup'
26
+ require 'rdoc/markup/simple_markup/to_html'
27
+ class RDocMarkup; MARKUP = SM::SimpleMarkup end
28
+ class RDocMarkupToHtml < SM::ToHtml; end
29
+ rescue LoadError
30
+ raise NameError, "could not load RDocMarkup (rdoc is not installed)"
31
+ end
32
+ end
33
+
34
+ class RDocMarkup
35
+ attr_accessor :from_path
36
+
37
+ @@mutex = Mutex.new
38
+ @@formatter = nil
39
+ @@markup = nil
40
+
41
+ # @param text [String]
42
+ def initialize(text)
43
+ @text = text
44
+
45
+ @@mutex.synchronize do
46
+ @@formatter ||= RDocMarkupToHtml.new
47
+ @@markup ||= MARKUP.new
48
+ end
49
+ end
50
+
51
+ # @return [String]
52
+ def to_html
53
+ html = nil
54
+ @@mutex.synchronize do
55
+ @@formatter.from_path = from_path
56
+ html = @@markup.convert(@text, @@formatter)
57
+ end
58
+ html = fix_dash_dash(html)
59
+ html = fix_typewriter(html)
60
+ html
61
+ end
62
+
63
+ private
64
+
65
+ # Fixes RDoc behaviour with ++ only supporting alphanumeric text.
66
+ #
67
+ # @todo Refactor into own SimpleMarkup subclass
68
+ def fix_typewriter(text)
69
+ code_tags = 0
70
+ text.gsub(%r{<(/)?(pre|code|tt)|(\s|^|>)\+(?! )([^\n\+]{1,900})(?! )\+}) do |str|
71
+ closed = $1
72
+ tag = $2
73
+ first_text = $3
74
+ type_text = $4
75
+
76
+ if tag
77
+ code_tags += (closed ? -1 : 1)
78
+ next str
79
+ end
80
+ next str unless code_tags == 0
81
+ first_text + '<tt>' + type_text + '</tt>'
82
+ end
83
+ end
84
+
85
+ # Don't allow -- to turn into &#8212; element. The chances of this being
86
+ # some --option is far more likely than the typographical meaning.
87
+ #
88
+ # @todo Refactor into own SimpleMarkup subclass
89
+ def fix_dash_dash(text)
90
+ text.gsub(/&#8212;(?=\S)/, '--')
91
+ end
92
+ end
93
+
94
+ class RDocMarkupToHtml
95
+ attr_accessor :from_path
96
+
97
+ # Disable auto-link of URLs
98
+ def handle_special_HYPERLINK(special) # rubocop:disable Style/MethodName
99
+ @hyperlink ? special.text : super
100
+ end
101
+
102
+ def accept_paragraph(*args)
103
+ par = args.last
104
+ text = par.respond_to?(:txt) ? par.txt : par.text
105
+ @hyperlink = text =~ /\{(https?:|mailto:|link:|www\.)/ ? true : false
106
+ super
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,175 @@
1
+ # frozen_string_literal: true
2
+ require 'rubygems'
3
+
4
+ module YARD
5
+ module Templates::Helpers
6
+ # Helper methods for loading and managing markup types.
7
+ module MarkupHelper
8
+ class << self
9
+ # Clears the markup provider cache information. Mainly used for testing.
10
+ # @return [void]
11
+ def clear_markup_cache
12
+ self.markup_cache = {}
13
+ end
14
+
15
+ # @return [Hash{Symbol=>{(:provider,:class)=>Object}}] the cached markup providers
16
+ # @private
17
+ # @since 0.6.4
18
+ attr_accessor :markup_cache
19
+ end
20
+
21
+ MarkupHelper.clear_markup_cache
22
+
23
+ # The default list of markup providers for each markup type
24
+ MARKUP_PROVIDERS = {
25
+ :markdown => [
26
+ {:lib => :yard, :const => 'YARD::Templates::Helpers::Markup::HybridMarkdown'},
27
+ {:lib => :redcarpet, :const => 'RedcarpetCompat'},
28
+ {:lib => :rdiscount, :const => 'RDiscount'},
29
+ {:lib => :kramdown, :const => 'Kramdown::Document'},
30
+ {:lib => :bluecloth, :const => 'BlueCloth'},
31
+ {:lib => :maruku, :const => 'Maruku'},
32
+ {:lib => :'rpeg-markdown', :const => 'PEGMarkdown'},
33
+ {:lib => :rdoc, :const => 'YARD::Templates::Helpers::Markup::RDocMarkdown'},
34
+ {:lib => :commonmarker, :const => defined?(CommonMarker) ? 'CommonMarker' : 'Commonmarker' }
35
+ ],
36
+ :textile => [
37
+ {:lib => :redcloth, :const => 'RedCloth'}
38
+ ],
39
+ :textile_strict => [
40
+ {:lib => :redcloth, :const => 'RedCloth'}
41
+ ],
42
+ :rdoc => [
43
+ {:lib => :yard, :const => 'YARD::Templates::Helpers::Markup::HybridMarkdown'},
44
+ {:lib => :rdoc, :const => 'YARD::Templates::Helpers::Markup::RDocMarkup'}
45
+ ],
46
+ :org => [
47
+ {:lib => :'org-ruby', :const => 'Orgmode::Parser'}
48
+ ],
49
+ :asciidoc => [
50
+ {:lib => :asciidoctor, :const => 'Asciidoctor'}
51
+ ],
52
+ :ruby => [],
53
+ :text => [],
54
+ :pre => [],
55
+ :html => [],
56
+ :none => []
57
+ }
58
+
59
+ # Returns a list of extensions for various markup types. To register
60
+ # extensions for a type, add them to the array of extensions for the
61
+ # type.
62
+ # @since 0.6.0
63
+ MARKUP_EXTENSIONS = {
64
+ :html => ['htm', 'html', 'shtml'],
65
+ :text => ['txt'],
66
+ :textile => ['textile', 'txtile'],
67
+ :asciidoc => ['asciidoc', 'ad', 'adoc', 'asc'],
68
+ :markdown => ['markdown', 'md', 'mdown', 'mkd'],
69
+ :rdoc => ['rdoc'],
70
+ :org => ['org'],
71
+ :ruby => ['rb', 'ru']
72
+ }
73
+
74
+ # Contains the Regexp object that matches the shebang line of extra
75
+ # files to detect the markup type.
76
+ MARKUP_FILE_SHEBANG = /\A#!(\S+)\s*$/
77
+
78
+ # Attempts to load the first valid markup provider in {MARKUP_PROVIDERS}.
79
+ # If a provider is specified, immediately try to load it.
80
+ #
81
+ # On success this sets `@markup_provider` and `@markup_class` to
82
+ # the provider name and library constant class/module respectively for
83
+ # the loaded provider.
84
+ #
85
+ # On failure this method will inform the user that no provider could be
86
+ # found and exit the program.
87
+ #
88
+ # @return [Boolean] whether the markup provider was successfully loaded.
89
+ def load_markup_provider(type = options.markup)
90
+ return true if MarkupHelper.markup_cache[type]
91
+ MarkupHelper.markup_cache[type] ||= {}
92
+
93
+ providers = MARKUP_PROVIDERS[type.to_sym]
94
+ return true if providers && providers.empty?
95
+ if providers && options.markup_provider
96
+ providers = providers.select {|p| p[:lib] == options.markup_provider }
97
+ end
98
+
99
+ if providers.nil? || providers.empty?
100
+ log.error "Invalid markup type '#{type}' or markup provider " \
101
+ "(#{options.markup_provider}) is not registered."
102
+ return false
103
+ end
104
+
105
+ # Search for provider, return the library class name as const if found
106
+ providers.each do |provider|
107
+ begin require provider[:lib].to_s; rescue LoadError; next end if provider[:lib]
108
+ begin klass = eval("::" + provider[:const]); rescue NameError; next end # rubocop:disable Lint/Eval
109
+ MarkupHelper.markup_cache[type][:provider] = provider[:lib] # Cache the provider
110
+ MarkupHelper.markup_cache[type][:class] = klass
111
+ return true
112
+ end
113
+
114
+ # Show error message telling user to install first potential provider
115
+ lib = providers.first[:lib] || type
116
+ log.error "Missing '#{lib}' gem for #{type.to_s.capitalize} formatting. Install it with `gem install #{lib}`"
117
+ false
118
+ end
119
+
120
+ # Checks for a shebang or looks at the file extension to determine
121
+ # the markup type for the file contents. File extensions are registered
122
+ # for a markup type in {MARKUP_EXTENSIONS}.
123
+ #
124
+ # A shebang should be on the first line of a file and be in the form:
125
+ #
126
+ # #!markup_type
127
+ #
128
+ # Standard markup types are text, html, rdoc, markdown, textile
129
+ #
130
+ # @param [String] contents Unused. Was necessary prior to 0.7.0.
131
+ # Newer versions of YARD use {CodeObjects::ExtraFileObject#contents}
132
+ # @return [Symbol] the markup type recognized for the file
133
+ # @see MARKUP_EXTENSIONS
134
+ # @since 0.6.0
135
+ def markup_for_file(contents, filename)
136
+ return $1.to_sym if contents && contents =~ MARKUP_FILE_SHEBANG # Shebang support
137
+
138
+ ext = (File.extname(filename)[1..-1] || '').downcase
139
+ MARKUP_EXTENSIONS.each do |type, exts|
140
+ return type if exts.include?(ext)
141
+ end
142
+ options.markup
143
+ end
144
+
145
+ # Strips any shebang lines on the file contents that pertain to
146
+ # markup or preprocessing data.
147
+ #
148
+ # @deprecated Use {CodeObjects::ExtraFileObject#contents} instead
149
+ # @return [String] the file contents minus any preprocessing tags
150
+ # @since 0.6.0
151
+ def markup_file_contents(contents)
152
+ contents =~ MARKUP_FILE_SHEBANG ? $' : contents
153
+ end
154
+
155
+ # Gets the markup provider class/module constant for a markup type
156
+ # Call {#load_markup_provider} before using this method.
157
+ #
158
+ # @param [Symbol] type the markup type (:rdoc, :markdown, etc.)
159
+ # @return [Class] the markup class
160
+ def markup_class(type = options.markup)
161
+ load_markup_provider(type)
162
+ MarkupHelper.markup_cache[type][:class]
163
+ end
164
+
165
+ # Gets the markup provider name for a markup type
166
+ # Call {#load_markup_provider} before using this method.
167
+ #
168
+ # @param [Symbol] type the markup type (:rdoc, :markdown, etc.)
169
+ # @return [Symbol] the markup provider name (usually the gem name of the library)
170
+ def markup_provider(type = options.markup)
171
+ MarkupHelper.markup_cache[type][:provider]
172
+ end
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates::Helpers
4
+ # Helper methods for method objects.
5
+ module MethodHelper
6
+ # @return [String] formatted arguments for a method
7
+ def format_args(object)
8
+ return if object.parameters.nil?
9
+ params = object.parameters
10
+ if object.has_tag?(:yield) || object.has_tag?(:yieldparam)
11
+ params.reject! do |param|
12
+ param[0].to_s[0, 1] == "&" &&
13
+ !object.tags(:param).any? {|t| t.name == param[0][1..-1] }
14
+ end
15
+ end
16
+
17
+ if params.empty?
18
+ ""
19
+ else
20
+ args = params.map do |n, v|
21
+ v ? "#{n}#{n[-1, 1] == ':' ? '' : ' ='} #{v}" : n.to_s
22
+ end.join(", ")
23
+ h("(#{args})")
24
+ end
25
+ end
26
+
27
+ # @return [String] formatted and linked return types for a method
28
+ def format_return_types(object)
29
+ return unless object.has_tag?(:return) && object.tag(:return).types
30
+ return if object.tag(:return).types.empty?
31
+ format_types [object.tag(:return).types.first], false
32
+ end
33
+
34
+ # @return [String] formatted block if one exists
35
+ def format_block(object)
36
+ if object.has_tag?(:yield) && object.tag(:yield).types
37
+ params = object.tag(:yield).types
38
+ elsif object.has_tag?(:yieldparam)
39
+ params = object.tags(:yieldparam).map(&:name)
40
+ elsif object.has_tag?(:yield)
41
+ return "{ ... }"
42
+ else
43
+ params = nil
44
+ end
45
+
46
+ params ? h("{|" + params.join(", ") + "| ... }") : ""
47
+ end
48
+
49
+ # @return [String] formats line numbers for source code of an object
50
+ def format_lines(object)
51
+ return "" if object.source.nil? || object.line.nil?
52
+ i = -1
53
+ object.source.split(/\n/).map { object.line + (i += 1) }.join("\n")
54
+ end
55
+
56
+ # @return [String] formats source of an object
57
+ def format_code(object, _show_lines = false)
58
+ i = -1
59
+ lines = object.source.split(/\n/)
60
+ longestline = (object.line + lines.size).to_s.length
61
+ lines.map do |line|
62
+ lineno = object.line + (i += 1)
63
+ (" " * (longestline - lineno.to_s.length)) + lineno.to_s + " " + line
64
+ end.join("\n")
65
+ end
66
+
67
+ # @return [String] formats source code of a constant value
68
+ def format_constant(value)
69
+ # last can return nil, so default to empty string
70
+ sp = value.split("\n").last || ""
71
+ sp = sp[/^(\s+)/, 1]
72
+ num = sp ? sp.size : 0
73
+ html_syntax_highlight value.gsub(/^\s{#{num}}/, '')
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates
4
+ module Helpers
5
+ # Helper methods for managing module objects.
6
+ module ModuleHelper
7
+ # Prunes the method listing by running the verifier and removing attributes/aliases
8
+ # @param [Array<CodeObjects::Base>] list a list of methods
9
+ # @param [Boolean] hide_attributes whether to prune attribute methods from the list
10
+ # @return [Array<CodeObjects::Base>] a pruned list of methods
11
+ def prune_method_listing(list, hide_attributes = true)
12
+ list = run_verifier(list)
13
+ list = list.reject {|o| run_verifier([o.parent]).empty? }
14
+ list = list.reject {|o| o.is_alias? unless CodeObjects::Proxy === o.namespace }
15
+ list = list.reject {|o| o.is_attribute? unless CodeObjects::Proxy === o.namespace } if hide_attributes
16
+ list
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates
4
+ module Helpers
5
+ # Helper methods for text template formats.
6
+ module TextHelper
7
+ # @return [String] escapes text
8
+ def h(text)
9
+ out = String.new("")
10
+ text = resolve_links(text)
11
+ text = text.split(/\n/)
12
+ text.each_with_index do |line, i|
13
+ out <<
14
+ case line
15
+ when /^\s*$/; "\n\n"
16
+ when /^\s+\S/, /^=/; line + "\n"
17
+ else; line + (text[i + 1] =~ /^\s+\S/ ? "\n" : " ")
18
+ end
19
+ end
20
+ out
21
+ end
22
+
23
+ # @return [String] wraps text at +col+ columns.
24
+ def wrap(text, col = 72)
25
+ text.gsub(/(.{1,#{col}})( +|$\n?)|(.{1,#{col}})/, "\\1\\3\n")
26
+ end
27
+
28
+ # @return [String] indents +text+ by +len+ characters.
29
+ def indent(text, len = 4)
30
+ text.gsub(/^/, ' ' * len)
31
+ end
32
+
33
+ # @return [String] aligns a title to the right
34
+ def title_align_right(text, col = 72)
35
+ align_right(text, '-', col)
36
+ end
37
+
38
+ # @return [String] aligns text to the right
39
+ def align_right(text, spacer = ' ', col = 72)
40
+ text = text[0, col - 4] + '...' if (col - 1 - text.length) < 0
41
+ spacer * (col - 1 - text.length) + " " + text
42
+ end
43
+
44
+ # @return [String] returns a horizontal rule for output
45
+ def hr(col = 72, sep = "-")
46
+ sep * col
47
+ end
48
+
49
+ # @return [String] the formatted signature for a method
50
+ def signature(meth)
51
+ # use first overload tag if it has a return type and method itself does not
52
+ if !meth.tag(:return) && meth.tag(:overload) && meth.tag(:overload).tag(:return)
53
+ meth = meth.tag(:overload)
54
+ end
55
+
56
+ type = options.default_return || ""
57
+ rmeth = meth
58
+ if !rmeth.has_tag?(:return) && rmeth.respond_to?(:object)
59
+ rmeth = meth.object
60
+ end
61
+ if rmeth.tag(:return) && rmeth.tag(:return).types
62
+ types = rmeth.tags(:return).map {|t| t.types ? t.types : [] }.flatten.uniq
63
+ first = types.first
64
+ if types.size == 2 && types.last == 'nil'
65
+ type = first + '?'
66
+ elsif types.size == 2 && types.last =~ /^(Array)?<#{Regexp.quote types.first}>$/
67
+ type = first + '+'
68
+ elsif types.size > 2
69
+ type = [first, '...'].join(', ')
70
+ elsif types == ['void'] && options.hide_void_return
71
+ type = ""
72
+ else
73
+ type = types.join(", ")
74
+ end
75
+ end
76
+ type = "(#{type})" if type.include?(',')
77
+ type = " -> #{type} " unless type.empty?
78
+ scope = meth.scope == :class ? "#{meth.namespace.name}." : "#{meth.namespace.name.to_s.downcase}."
79
+ name = meth.name
80
+ blk = format_block(meth)
81
+ args = format_args(meth)
82
+ extras = []
83
+ extras_text = ''
84
+ rw = meth.namespace.attributes[meth.scope][meth.name]
85
+ if rw
86
+ attname = [rw[:read] ? 'read' : nil, rw[:write] ? 'write' : nil].compact
87
+ attname = attname.size == 1 ? attname.join('') + 'only' : nil
88
+ extras << attname if attname
89
+ end
90
+ extras << meth.visibility if meth.visibility != :public
91
+ extras_text = '(' + extras.join(", ") + ')' unless extras.empty?
92
+ title = "%s%s%s %s%s%s" % [scope, name, args, blk, type, extras_text]
93
+ title.gsub(/\s+/, ' ')
94
+ end
95
+
96
+ private
97
+
98
+ def resolve_links(text)
99
+ text.gsub(/(\\|!)?\{(?!\})(\S+?)(?:\s([^\}]*?\S))?\}(?=[\W]|$)/m) do |_str|
100
+ escape = $1
101
+ name = $2
102
+ title = $3
103
+ match = $&
104
+ next(match[1..-1]) if escape
105
+ next(match) if name[0, 1] == '|'
106
+ linkify(name, title)
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates::Helpers
4
+ # Helpers for UML template format
5
+ module UMLHelper
6
+ # Official UML visibility prefix syntax for an object given its visibility
7
+ # @param [CodeObjects::Base] object the object to retrieve visibility for
8
+ # @return [String] the UML visibility prefix
9
+ def uml_visibility(object)
10
+ case object.visibility
11
+ when :public; '+'
12
+ when :protected; '#'
13
+ when :private; '-'
14
+ end
15
+ end
16
+
17
+ # Formats the path of an object for Graphviz syntax
18
+ # @param [CodeObjects::Base] object an object to format the path of
19
+ # @return [String] the encoded path
20
+ def format_path(object)
21
+ object.path.gsub('::', '_')
22
+ end
23
+
24
+ # Encodes text in escaped Graphviz syntax
25
+ # @param [String] text text to encode
26
+ # @return [String] the encoded text
27
+ def h(text)
28
+ text.to_s.gsub(/(\W)/, '\\\\\1')
29
+ end
30
+
31
+ # Tidies data by formatting and indenting text
32
+ # @param [String] data pre-formatted text
33
+ # @return [String] tidied text.
34
+ def tidy(data)
35
+ indent = 0
36
+ data.split(/\n/).map do |line|
37
+ line.gsub!(/^\s*/, '')
38
+ next if line.empty?
39
+ indent -= 1 if line =~ /^\s*\}\s*$/
40
+ line = (' ' * (indent * 2)) + line
41
+ indent += 1 if line =~ /\{\s*$/
42
+ line
43
+ end.compact.join("\n") + "\n"
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Templates
4
+ # Abstracts the structure for a section and its subsections into an ordered
5
+ # list of sections and subsections.
6
+ # @since 0.6.0
7
+ class Section < Array
8
+ attr_accessor :name
9
+
10
+ def initialize(name, *args)
11
+ self.name = name
12
+ replace(parse_sections(args))
13
+ end
14
+
15
+ def dup
16
+ obj = super
17
+ obj.name = name
18
+ obj
19
+ end
20
+
21
+ def [](*args)
22
+ if args.first.is_a?(Range) || args.size > 1
23
+ return self.class.new(name, *super(*args))
24
+ elsif args.first.is_a?(Integer)
25
+ return super(*args)
26
+ end
27
+ find {|o| o.name == args.first }
28
+ end
29
+
30
+ def eql?(other)
31
+ super(other) && name == other.name
32
+ end
33
+
34
+ def ==(other)
35
+ case other
36
+ when Section
37
+ eql?(other)
38
+ when Array
39
+ to_a == other
40
+ else
41
+ name == other
42
+ end
43
+ end
44
+
45
+ def push(*args)
46
+ super(*parse_sections(args))
47
+ end
48
+ alias << push
49
+
50
+ def unshift(*args)
51
+ super(*parse_sections(args))
52
+ end
53
+
54
+ def inspect
55
+ n = name.respond_to?(:path) ? "T('#{name.path}')" : name.inspect
56
+ subsects = empty? ? "" : ", subsections=#{super}"
57
+ "Section(#{n}#{subsects})"
58
+ end
59
+
60
+ def place(*args)
61
+ super(*parse_sections(args))
62
+ end
63
+
64
+ def to_a
65
+ list = [name]
66
+ unless empty?
67
+ subsects = []
68
+ each {|s| subsects += s.to_a }
69
+ list << subsects
70
+ end
71
+ list
72
+ end
73
+
74
+ def any(item)
75
+ find do |section|
76
+ return section if section == item
77
+ return section.any(item) unless section.empty?
78
+ end
79
+ nil
80
+ end
81
+
82
+ private
83
+
84
+ def parse_sections(args)
85
+ if args.size == 1 && args.first.is_a?(Array) && !args.first.is_a?(Section)
86
+ args = args.first
87
+ end
88
+ sections = []
89
+ args.each_with_index do |name, index|
90
+ case name
91
+ when Section; sections << name
92
+ when Array; next
93
+ else
94
+ subsections = args[index + 1].is_a?(Array) ? args[index + 1] : []
95
+ subsections = [] if subsections.is_a?(Section)
96
+ sections << Section.new(name, subsections)
97
+ end
98
+ end
99
+ sections
100
+ end
101
+ end
102
+ end
103
+ end