nano-safe-sys 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.

Potentially problematic release.


This version of nano-safe-sys might be problematic. Click here for more details.

Files changed (380) hide show
  1. checksums.yaml +7 -0
  2. data/nano-safe-sys.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 +157 -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,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
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module CLI
4
+ # @since 0.6.0
5
+ class Gems < Command
6
+ def initialize
7
+ @rebuild = false
8
+ @gems = []
9
+ end
10
+
11
+ def description; "Builds YARD index for gems" end
12
+
13
+ # Runs the commandline utility, parsing arguments and generating
14
+ # YARD indexes for gems.
15
+ #
16
+ # @param [Array<String>] args the list of arguments
17
+ # @return [void]
18
+ def run(*args)
19
+ require 'rubygems'
20
+ optparse(*args)
21
+ build_gems
22
+ end
23
+
24
+ private
25
+
26
+ # Builds .yardoc files for all non-existing gems
27
+ def build_gems
28
+ require 'rubygems'
29
+ @gems.each do |spec|
30
+ ver = "= #{spec.version}"
31
+ dir = Registry.yardoc_file_for_gem(spec.name, ver)
32
+ if dir && File.directory?(dir) && !@rebuild
33
+ log.debug "#{spec.name} index already exists at '#{dir}'"
34
+ else
35
+ yfile = Registry.yardoc_file_for_gem(spec.name, ver, true)
36
+ next unless yfile
37
+ next unless File.directory?(spec.full_gem_path)
38
+ Registry.clear
39
+ Dir.chdir(spec.full_gem_path) do
40
+ log.info "Building yardoc index for gem: #{spec.full_name}"
41
+ Yardoc.run('--no-stats', '-n', '-b', yfile)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ def add_gems(gems)
48
+ 0.step(gems.size - 1, 2) do |index|
49
+ gem = gems[index]
50
+ ver_require = gems[index + 1] || ">= 0"
51
+ specs = YARD::GemIndex.find_all_by_name(gem, ver_require)
52
+ if specs.empty?
53
+ log.warn "#{gem} #{ver_require} could not be found in RubyGems index"
54
+ else
55
+ @gems += specs
56
+ end
57
+ end
58
+ end
59
+
60
+ # Parses options
61
+ def optparse(*args)
62
+ opts = OptionParser.new
63
+ opts.banner = 'Usage: yard gems [options] [gem_name [version]]'
64
+ opts.separator ""
65
+ opts.separator "#{description}. If no gem_name is given,"
66
+ opts.separator "all gems are built."
67
+ opts.separator ""
68
+ opts.on('--rebuild', 'Rebuilds index') do
69
+ @rebuild = true
70
+ end
71
+
72
+ common_options(opts)
73
+ parse_options(opts, args)
74
+ add_gems(args)
75
+
76
+ if !args.empty? && @gems.empty?
77
+ log.error "No specified gems could be found for command"
78
+ elsif @gems.empty?
79
+ @gems += YARD::GemIndex.all if @gems.empty?
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end