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,93 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module CLI
4
+ # This class parses a command name out of the +yard+ CLI command and calls
5
+ # that command in the form:
6
+ #
7
+ # $ yard command_name [options]
8
+ #
9
+ # If no command or arguments are specified, or if the arguments immediately
10
+ # begin with a +--opt+ (not +--help+), the {default_command} will be used
11
+ # (which itself defaults to +:doc+).
12
+ #
13
+ # == Adding a Command
14
+ #
15
+ # To add a custom command via plugin, create a mapping in {commands} from
16
+ # the Symbolic command name to the {Command} class that implements the
17
+ # command. To implement a command, see the documentation for the {Command}
18
+ # class.
19
+ #
20
+ # @see Command
21
+ # @see commands
22
+ # @see default_command
23
+ class CommandParser
24
+ class << self
25
+ # @return [Hash{Symbol => Command}] the mapping of command names to
26
+ # command classes to parse the user command.
27
+ attr_accessor :commands
28
+
29
+ # @return [Symbol] the default command name to use when no options
30
+ # are specified or
31
+ attr_accessor :default_command
32
+ end
33
+
34
+ self.commands = SymbolHash[
35
+ :config => Config,
36
+ :diff => Diff,
37
+ :display => Display,
38
+ :doc => Yardoc,
39
+ :gems => Gems,
40
+ :graph => Graph,
41
+ :help => Help,
42
+ :list => List,
43
+ :markups => MarkupTypes,
44
+ :ri => YRI,
45
+ :server => Server,
46
+ :stats => Stats,
47
+ :i18n => I18n
48
+ ]
49
+
50
+ self.default_command = :doc
51
+
52
+ # Convenience method to create a new CommandParser and call {#run}
53
+ # @return (see #run)
54
+ def self.run(*args) new.run(*args) end
55
+
56
+ def initialize
57
+ log.show_backtraces = false
58
+ end
59
+
60
+ # Runs the {Command} object matching the command name of the first
61
+ # argument.
62
+ # @return [void]
63
+ def run(*args)
64
+ unless args == ['--help']
65
+ if args.empty? || args.first =~ /^-/
66
+ command_name = self.class.default_command
67
+ else
68
+ command_name = args.first.to_sym
69
+ args.shift
70
+ end
71
+ if commands.key?(command_name)
72
+ return commands[command_name].run(*args)
73
+ end
74
+ end
75
+ list_commands
76
+ end
77
+
78
+ private
79
+
80
+ def commands; self.class.commands end
81
+
82
+ def list_commands
83
+ log.puts "Usage: yard <command> [options]"
84
+ log.puts
85
+ log.puts "Commands:"
86
+ commands.keys.sort_by(&:to_s).each do |command_name|
87
+ command = commands[command_name].new
88
+ log.puts "%-8s %s" % [command_name, command.description]
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,198 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module CLI
4
+ # CLI command to view or edit configuration options
5
+ # @since 0.6.2
6
+ class Config < Command
7
+ # @return [Symbol, nil] the key to view/edit, if any
8
+ attr_accessor :key
9
+
10
+ # @return [Array, nil] the list of values to set (or single value), if modifying
11
+ attr_accessor :values
12
+
13
+ # @return [Boolean] whether to reset the {#key}
14
+ attr_accessor :reset
15
+
16
+ # @return [Boolean] whether the value being set should be inside a list
17
+ attr_accessor :as_list
18
+
19
+ # @return [Boolean] whether to append values to existing key
20
+ attr_accessor :append
21
+
22
+ # @return [String, nil] command to use when configuring ~/.gemrc file.
23
+ # If the string is nil, configuration should not occur.
24
+ attr_accessor :gem_install_cmd
25
+
26
+ def initialize
27
+ super
28
+ self.key = nil
29
+ self.values = []
30
+ self.reset = false
31
+ self.append = false
32
+ self.as_list = false
33
+ self.gem_install_cmd = nil
34
+ end
35
+
36
+ def description
37
+ 'Views or edits current global configuration'
38
+ end
39
+
40
+ def run(*args)
41
+ optparse(*args)
42
+ if gem_install_cmd
43
+ configure_gemrc
44
+ elsif key
45
+ if reset || !values.empty?
46
+ modify_item
47
+ else
48
+ view_item
49
+ end
50
+ else
51
+ list_configuration
52
+ end
53
+ end
54
+
55
+ private
56
+
57
+ def configure_gemrc
58
+ return unless gem_install_cmd
59
+
60
+ require 'rubygems'
61
+
62
+ ['install', :install, 'gem', :gem].find do |cmd|
63
+ conf = Gem.configuration[cmd] || ""
64
+ next if conf.empty? && cmd != :gem
65
+
66
+ conf = conf.split(/\s+/)
67
+ conf.delete_if {|c| c =~ /^--(no-)?document\b/ } # scrub doc args
68
+ conf |= ["--document=#{gem_install_cmd}"]
69
+ conf = conf.join(' ')
70
+
71
+ Gem.configuration[cmd] = conf
72
+ Gem.configuration.write
73
+ log.puts "Updated #{Gem.configuration.path || '~/.gemrc'}: '#{cmd}: #{conf}'"
74
+ true
75
+ end
76
+ end
77
+
78
+ def modify_item
79
+ if reset
80
+ log.debug "Resetting #{key}"
81
+ YARD::Config.options[key] = YARD::Config::DEFAULT_CONFIG_OPTIONS[key]
82
+ else
83
+ log.debug "Setting #{key} to #{values.inspect}"
84
+ items = encode_values
85
+ current_items = YARD::Config.options[key]
86
+ items = [current_items].flatten + [items].flatten if append
87
+ YARD::Config.options[key] = items
88
+ end
89
+ YARD::Config.save
90
+ end
91
+
92
+ def view_item
93
+ log.debug "Viewing #{key}"
94
+ log.puts YARD::Config.options[key].inspect
95
+ end
96
+
97
+ def list_configuration
98
+ log.debug "Listing configuration"
99
+ require 'yaml'
100
+ log.puts YAML.dump(YARD::Config.options).sub(/\A--.*\n/, '').gsub(/\n\n/, "\n")
101
+ end
102
+
103
+ def encode_values
104
+ if values.size == 1 && !as_list
105
+ encode_value(values.first)
106
+ else
107
+ values.map {|v| encode_value(v) }
108
+ end
109
+ end
110
+
111
+ def encode_value(value)
112
+ case value
113
+ when /^-?\d+/; value.to_i
114
+ when "true"; true
115
+ when "false"; false
116
+ else value
117
+ end
118
+ end
119
+
120
+ def optparse(*args)
121
+ list = false
122
+ self.as_list = false
123
+ self.append = false
124
+ opts = OptionParser.new
125
+ opts.banner = "Usage: yard config [options] [item [value ...]]"
126
+ opts.separator ""
127
+ opts.separator "Example: yard config load_plugins true"
128
+ opts.separator ""
129
+ opts.separator "Views and sets configuration items. If an item is provided"
130
+ opts.separator "With no value, the item is viewed. If a value is provided,"
131
+ opts.separator "the item is modified. Specifying no item is equivalent to --list."
132
+ opts.separator "If you specify multiple space delimited values, these are"
133
+ opts.separator "parsed as an array of values."
134
+ opts.separator ""
135
+ opts.separator "Note that `true` and `false` are reserved words."
136
+ opts.separator ""
137
+ opts.separator "---------------------------------------------------------"
138
+ opts.separator ""
139
+ opts.separator "Configuring RubyGems support:"
140
+ opts.separator ""
141
+ opts.separator "YARD can automatically generate the YRI index or HTML"
142
+ opts.separator "documentation in a `gem install` by adding the following"
143
+ opts.separator "to your ~/.gemrc file:"
144
+ opts.separator ""
145
+ opts.separator " gem: \"--document=yri\""
146
+ opts.separator ""
147
+ opts.separator "Note: you can add 'yard' to also generate HTML docs."
148
+ opts.separator " You can also add 'ri' to continue generating RDoc."
149
+ opts.separator ""
150
+ opts.separator "You can also run the following command to configure this"
151
+ opts.separator "behavior automatically:"
152
+ opts.separator ""
153
+ opts.separator " $ yard config --gem-install-yri"
154
+ opts.separator ""
155
+ opts.separator "Add --gem-install-yard to also generate HTML."
156
+ opts.separator ""
157
+ opts.separator "---------------------------------------------------------"
158
+ opts.separator ""
159
+ opts.separator "General options:"
160
+
161
+ opts.on('-l', '--list', 'List current configuration') do
162
+ list = true
163
+ end
164
+ opts.on('-r', '--reset', 'Resets the specific item to default') do
165
+ self.reset = true
166
+ end
167
+
168
+ opts.separator ""
169
+ opts.separator "Modifying keys:"
170
+
171
+ opts.on('-a', '--append', 'Appends items to existing key values') do
172
+ self.append = true
173
+ end
174
+ opts.on('--as-list', 'Forces the value(s) to be wrapped in an array') do
175
+ self.as_list = true
176
+ end
177
+
178
+ opts.separator ""
179
+ opts.separator "Add RubyGems install hook:"
180
+
181
+ opts.on('--gem-install-yri', 'Configures ~/.gemrc to run yri on a gem install') do
182
+ self.gem_install_cmd = 'yri' if gem_install_cmd != 'yard'
183
+ end
184
+
185
+ opts.on('--gem-install-yard', 'Configures ~/.gemrc to run yard on a gem install') do
186
+ self.gem_install_cmd = 'yard'
187
+ end
188
+
189
+ common_options(opts)
190
+ parse_options(opts, args)
191
+ args = [] if list
192
+ self.key = args.shift.to_sym if args.size >= 1
193
+ self.values = args if args.size >= 1
194
+ args
195
+ end
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,278 @@
1
+ # frozen_string_literal: true
2
+ require 'tmpdir'
3
+ require 'fileutils'
4
+ require 'open-uri'
5
+ require 'open3'
6
+
7
+ module YARD
8
+ module CLI
9
+ # CLI command to return the objects that were added/removed from 2 versions
10
+ # of a project (library, gem, working copy).
11
+ # @since 0.6.0
12
+ class Diff < Command
13
+ def initialize
14
+ super
15
+ @list_all = false
16
+ @use_git = false
17
+ @compact = false
18
+ @modified = true
19
+ @verifier = Verifier.new
20
+ @old_git_commit = nil
21
+ @old_path = Dir.pwd
22
+ log.show_backtraces = true
23
+ end
24
+
25
+ def description
26
+ 'Returns the object diff of two gems or .yardoc files'
27
+ end
28
+
29
+ def run(*args)
30
+ registry = optparse(*args).map do |gemfile|
31
+ if @use_git
32
+ load_git_commit(gemfile)
33
+ all_objects
34
+ elsif load_gem_data(gemfile)
35
+ log.info "Found #{gemfile}"
36
+ all_objects
37
+ else
38
+ log.error "Cannot find gem #{gemfile}"
39
+ nil
40
+ end
41
+ end.compact
42
+
43
+ return if registry.size != 2
44
+
45
+ first_object = nil
46
+ [["Added objects", "A", added_objects(*registry)],
47
+ ["Modified objects", "M", modified_objects(*registry)],
48
+ ["Removed objects", "D", removed_objects(*registry)]].each do |name, short, objects|
49
+ next if short == "M" && @modified == false
50
+ next if objects.empty?
51
+ last_object = nil
52
+ all_objects_notice = false
53
+ log.puts name + ":" unless @compact
54
+ objects.sort_by(&:path).each do |object|
55
+ if !@list_all && last_object && object.parent == last_object
56
+ log.print " (...)" unless all_objects_notice
57
+ all_objects_notice = true
58
+ next
59
+ elsif @compact
60
+ log.puts if first_object
61
+ else
62
+ log.puts
63
+ end
64
+ all_objects_notice = false
65
+ log.print "" + (@compact ? "#{short} " : " ") +
66
+ object.path + " (#{object.file}:#{object.line})"
67
+ last_object = object
68
+ first_object = true
69
+ end
70
+ unless @compact
71
+ log.puts; log.puts
72
+ end
73
+ end
74
+ log.puts if @compact
75
+ end
76
+
77
+ private
78
+
79
+ def all_objects
80
+ return Registry.all if @verifier.expressions.empty?
81
+ @verifier.run(Registry.all)
82
+ end
83
+
84
+ def added_objects(registry1, registry2)
85
+ registry2.reject {|o| registry1.find {|o2| o2.path == o.path } }
86
+ end
87
+
88
+ def modified_objects(registry1, registry2)
89
+ registry1.select do |obj|
90
+ case obj
91
+ when CodeObjects::MethodObject
92
+ registry2.find {|o| obj == o && o.source != obj.source }
93
+ when CodeObjects::ConstantObject
94
+ registry2.find {|o| obj == o && o.value != obj.value }
95
+ end
96
+ end.compact
97
+ end
98
+
99
+ def removed_objects(registry1, registry2)
100
+ registry1.reject {|o| registry2.find {|o2| o2.path == o.path } }
101
+ end
102
+
103
+ def load_git_commit(commit)
104
+ Registry.clear
105
+ commit_path = 'git_commit' + commit.gsub(/\W/, '_')
106
+ tmpdir = File.join(Dir.tmpdir, commit_path)
107
+ log.info "Expanding #{commit} to #{tmpdir}..."
108
+ Dir.chdir(@old_path)
109
+ FileUtils.mkdir_p(tmpdir)
110
+ FileUtils.cp_r('.', tmpdir)
111
+ Dir.chdir(tmpdir)
112
+ out, status = Open3.capture2e('git', 'reset', '--hard', commit)
113
+ log.info("git says: " + out.chomp)
114
+ unless status.success?
115
+ raise "git reset --hard #{commit.inspect} failed with exit status #{status.exitstatus}: #{out}"
116
+ end
117
+ generate_yardoc(tmpdir)
118
+ ensure
119
+ Dir.chdir(@old_path)
120
+ cleanup(commit_path)
121
+ end
122
+
123
+ def load_gem_data(gemfile)
124
+ require_rubygems
125
+ Registry.clear
126
+
127
+ # First check for argument as .yardoc file
128
+ [File.join(gemfile, '.yardoc'), gemfile].each do |yardoc|
129
+ log.info "Searching for .yardoc db at #{yardoc}"
130
+ next unless File.directory?(yardoc)
131
+ Registry.load_yardoc(yardoc)
132
+ Registry.load_all
133
+ return true
134
+ end
135
+
136
+ # Next check installed RubyGems
137
+ gemfile_without_ext = gemfile.sub(/\.gem$/, '')
138
+ log.info "Searching for installed gem #{gemfile_without_ext}"
139
+ YARD::GemIndex.each.find do |spec|
140
+ next unless spec.full_name == gemfile_without_ext
141
+ yardoc = Registry.yardoc_file_for_gem(spec.name, "= #{spec.version}")
142
+ if yardoc
143
+ Registry.load_yardoc(yardoc)
144
+ Registry.load_all
145
+ else
146
+ log.enter_level(Logger::ERROR) do
147
+ olddir = Dir.pwd
148
+ Gems.run(spec.name, spec.version.to_s)
149
+ Dir.chdir(olddir)
150
+ end
151
+ end
152
+ return true
153
+ end
154
+
155
+ # Look for local .gem file
156
+ gemfile += '.gem' unless gemfile =~ /\.gem$/
157
+ log.info "Searching for local gem file #{gemfile}"
158
+ if File.exist?(gemfile)
159
+ File.open(gemfile, 'rb') do |io|
160
+ expand_and_parse(gemfile, io)
161
+ end
162
+ return true
163
+ end
164
+
165
+ # Remote gemfile from rubygems.org
166
+ url = "https://rubygems.org/downloads/#{gemfile}"
167
+ log.info "Searching for remote gem file #{url}"
168
+ begin
169
+ # Note: In Ruby 2.4.x, URI.open is a private method. After
170
+ # 2.5, URI.open behaves much like Kernel#open once you've
171
+ # required 'open-uri'
172
+ OpenURI.open_uri(url) {|io| expand_and_parse(gemfile, io) }
173
+ return true
174
+ rescue OpenURI::HTTPError
175
+ nil # noop
176
+ end
177
+ false
178
+ end
179
+
180
+ def expand_and_parse(gemfile, io)
181
+ dir = expand_gem(gemfile, io)
182
+ generate_yardoc(dir)
183
+ cleanup(gemfile)
184
+ end
185
+
186
+ def generate_yardoc(dir)
187
+ Dir.chdir(dir) do
188
+ log.enter_level(Logger::ERROR) { Yardoc.run('-n', '--no-save') }
189
+ end
190
+ end
191
+
192
+ def expand_gem(gemfile, io)
193
+ tmpdir = File.join(Dir.tmpdir, gemfile)
194
+ FileUtils.mkdir_p(tmpdir)
195
+ log.info "Expanding #{gemfile} to #{tmpdir}..."
196
+
197
+ if Gem::VERSION >= '2.0.0'
198
+ require 'rubygems/package/tar_reader'
199
+ reader = Gem::Package::TarReader.new(io)
200
+ reader.each do |pkg|
201
+ next unless pkg.full_name == 'data.tar.gz'
202
+ Zlib::GzipReader.wrap(pkg) do |gzio|
203
+ tar = Gem::Package::TarReader.new(gzio)
204
+ tar.each do |entry|
205
+ file = File.join(tmpdir, entry.full_name)
206
+ FileUtils.mkdir_p(File.dirname(file))
207
+ File.open(file, 'wb') do |out|
208
+ out.write(entry.read)
209
+ begin
210
+ out.fsync
211
+ rescue NotImplementedError
212
+ nil # noop
213
+ end
214
+ end
215
+ end
216
+ end
217
+ break
218
+ end
219
+ else
220
+ Gem::Package.open(io) do |pkg|
221
+ pkg.each do |entry|
222
+ pkg.extract_entry(tmpdir, entry)
223
+ end
224
+ end
225
+ end
226
+
227
+ tmpdir
228
+ end
229
+
230
+ def require_rubygems
231
+ require 'rubygems'
232
+ require 'rubygems/package'
233
+ rescue LoadError => e
234
+ log.error "Missing RubyGems, cannot run this command."
235
+ raise(e)
236
+ end
237
+
238
+ def cleanup(gemfile)
239
+ dir = File.join(Dir.tmpdir, gemfile)
240
+ log.info "Cleaning up #{dir}..."
241
+ FileUtils.rm_rf(dir)
242
+ end
243
+
244
+ def optparse(*args)
245
+ opts = OptionParser.new
246
+ opts.banner = "Usage: yard diff [options] oldgem newgem"
247
+ opts.separator ""
248
+ opts.separator "Example: yard diff yard-0.5.6 yard-0.5.8"
249
+ opts.separator ""
250
+ opts.separator "If the files don't exist locally, they will be grabbed using the `gem fetch`"
251
+ opts.separator "command. If the gem is a .yardoc directory, it will be used. Finally, if the"
252
+ opts.separator "gem name matches an installed gem (full name-version syntax), that gem will be used."
253
+
254
+ opts.on('-a', '--all', 'List all objects, even if they are inside added/removed module/class') do
255
+ @list_all = true
256
+ end
257
+ opts.on('--compact', 'Show compact results') { @compact = true }
258
+ opts.on('--git', 'Compare versions from two git commit/branches') do
259
+ @use_git = true
260
+ end
261
+ opts.on('--query QUERY', 'Only diff filtered objects') do |query|
262
+ @verifier.add_expressions(query)
263
+ end
264
+ opts.on('--no-modified', 'Ignore modified objects') do
265
+ @modified = false
266
+ end
267
+ common_options(opts)
268
+ parse_options(opts, args)
269
+ unless args.size == 2
270
+ log.puts opts.banner
271
+ exit(0)
272
+ end
273
+
274
+ args
275
+ end
276
+ end
277
+ end
278
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module CLI
4
+ # Display one object
5
+ # @since 0.8.6
6
+ class Display < Yardoc
7
+ def description; 'Displays a formatted object' end
8
+
9
+ def initialize(*args)
10
+ super
11
+ options.format = :text # default for this command
12
+ @layout = nil
13
+ @objects = []
14
+ end
15
+
16
+ # Runs the commandline utility, parsing arguments and displaying an object
17
+ # from the {Registry}.
18
+ #
19
+ # @param [Array<String>] args the list of arguments.
20
+ # @return [void]
21
+ def run(*args)
22
+ return unless parse_arguments(*args)
23
+ log.puts wrap_layout(format_objects)
24
+ end
25
+
26
+ # @return [String] the output data for all formatted objects
27
+ def format_objects
28
+ @objects.inject([]) do |arr, obj|
29
+ arr.push obj.format(options)
30
+ end.join("\n")
31
+ end
32
+
33
+ def wrap_layout(contents)
34
+ return contents unless @layout
35
+ opts = options.merge(
36
+ :contents => contents,
37
+ :object => @objects.first,
38
+ :objects => @objects
39
+ )
40
+ args = [options.template, @layout, options.format]
41
+ Templates::Engine.template(*args).run(opts)
42
+ end
43
+
44
+ # Parses commandline options.
45
+ # @param [Array<String>] args each tokenized argument
46
+ def parse_arguments(*args)
47
+ opts = OptionParser.new
48
+ opts.banner = "Usage: yard display [options] OBJECT [OTHER OBJECTS]"
49
+ general_options(opts)
50
+ output_options(opts)
51
+ parse_options(opts, args)
52
+
53
+ Registry.load
54
+ @objects = args.map {|o| Registry.at(o) }
55
+
56
+ # validation
57
+ return false if @objects.any?(&:nil?)
58
+ verify_markup_options
59
+ end
60
+
61
+ def output_options(opts)
62
+ super(opts)
63
+ opts.on('-l', '--layout [LAYOUT]', 'Wraps output in layout template (good for HTML)') do |layout|
64
+ @layout = layout || 'layout'
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end