kinetic_sdk 5.0.19 → 5.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (661) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Code-of-Conduct.md +10 -10
  5. data/gems/mime-types-3.4.1/Contributing.md +132 -0
  6. data/gems/mime-types-3.4.1/History.md +269 -0
  7. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Licence.md +3 -3
  8. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Manifest.txt +0 -0
  9. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/README.rdoc +1 -0
  10. data/gems/mime-types-3.4.1/Rakefile +270 -0
  11. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/type/columnar.rb +3 -3
  12. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/type.rb +141 -94
  13. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/_columnar.rb +20 -19
  14. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/cache.rb +8 -8
  15. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/columnar.rb +1 -1
  16. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/container.rb +14 -14
  17. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/deprecations.rb +15 -11
  18. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/full.rb +2 -2
  19. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/loader.rb +28 -15
  20. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/logger.rb +3 -5
  21. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/registry.rb +7 -7
  22. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types.rb +18 -16
  23. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime-types.rb +1 -1
  24. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/bad-fixtures/malformed +0 -0
  25. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/json.json +0 -0
  26. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/old-data +0 -0
  27. data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/yaml.yaml +0 -0
  28. data/gems/mime-types-3.4.1/test/minitest_helper.rb +11 -0
  29. data/gems/mime-types-3.4.1/test/test_mime_type.rb +621 -0
  30. data/gems/mime-types-3.4.1/test/test_mime_types.rb +169 -0
  31. data/gems/mime-types-3.4.1/test/test_mime_types_cache.rb +118 -0
  32. data/gems/mime-types-3.4.1/test/test_mime_types_class.rb +159 -0
  33. data/gems/mime-types-3.4.1/test/test_mime_types_lazy.rb +49 -0
  34. data/gems/mime-types-3.4.1/test/test_mime_types_loader.rb +32 -0
  35. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Code-of-Conduct.md +12 -12
  36. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Contributing.md +37 -20
  37. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/History.md +46 -12
  38. data/gems/{websocket-driver-0.6.5-java/LICENSE.md → mime-types-data-3.2022.0105/Licence.md} +7 -5
  39. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Manifest.txt +3 -0
  40. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/README.md +11 -1
  41. data/gems/mime-types-data-3.2022.0105/Rakefile +155 -0
  42. data/gems/mime-types-data-3.2022.0105/data/content_type_mime.db +878 -0
  43. data/gems/mime-types-data-3.2022.0105/data/ext_mime.db +1198 -0
  44. data/gems/mime-types-data-3.2022.0105/data/mime-types.json +1 -0
  45. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.content_type.column +69 -1
  46. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.docs.column +68 -0
  47. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.encoding.column +68 -0
  48. data/gems/mime-types-data-3.2022.0105/data/mime.flags.column +2383 -0
  49. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.friendly.column +68 -0
  50. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.pext.column +68 -0
  51. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.use_instead.column +71 -3
  52. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.xrefs.column +98 -30
  53. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/lib/mime/types/data.rb +2 -2
  54. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/lib/mime-types-data.rb +1 -1
  55. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/application.yaml +390 -24
  56. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/audio.yaml +2 -0
  57. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/chemical.yaml +0 -0
  58. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/conference.yaml +0 -0
  59. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/drawing.yaml +0 -0
  60. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/font.yaml +0 -0
  61. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/image.yaml +4 -3
  62. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/message.yaml +9 -4
  63. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/model.yaml +59 -0
  64. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/multipart.yaml +2 -2
  65. data/gems/mime-types-data-3.2022.0105/types/provisional-standard-types.yaml +145 -0
  66. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/text.yaml +24 -3
  67. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/video.yaml +27 -0
  68. data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/world.yaml +0 -0
  69. data/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
  70. data/gems/rake-13.0.1/Gemfile +10 -0
  71. data/gems/rake-13.0.1/History.rdoc +2368 -0
  72. data/gems/{parallel-1.12.1/MIT-LICENSE.txt → rake-13.0.1/MIT-LICENSE} +2 -1
  73. data/gems/rake-13.0.1/README.rdoc +155 -0
  74. data/gems/rake-13.0.1/Rakefile +41 -0
  75. data/gems/rake-13.0.1/bin/bundle +105 -0
  76. data/gems/rake-13.0.1/bin/console +7 -0
  77. data/gems/rake-13.0.1/bin/rake +29 -0
  78. data/gems/rake-13.0.1/bin/rdoc +29 -0
  79. data/gems/rake-13.0.1/bin/rubocop +29 -0
  80. data/gems/rake-13.0.1/bin/setup +6 -0
  81. data/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
  82. data/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
  83. data/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
  84. data/gems/rake-13.0.1/doc/example/a.c +6 -0
  85. data/gems/rake-13.0.1/doc/example/b.c +6 -0
  86. data/gems/rake-13.0.1/doc/example/main.c +11 -0
  87. data/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
  88. data/gems/rake-13.0.1/doc/jamis.rb +592 -0
  89. data/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
  90. data/gems/rake-13.0.1/doc/rake.1 +156 -0
  91. data/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
  92. data/gems/rake-13.0.1/doc/rational.rdoc +151 -0
  93. data/gems/rake-13.0.1/exe/rake +27 -0
  94. data/gems/rake-13.0.1/lib/rake/application.rb +824 -0
  95. data/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
  96. data/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
  97. data/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
  98. data/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
  99. data/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
  100. data/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
  101. data/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
  102. data/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
  103. data/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
  104. data/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
  105. data/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
  106. data/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
  107. data/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
  108. data/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
  109. data/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
  110. data/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
  111. data/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
  112. data/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
  113. data/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
  114. data/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
  115. data/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
  116. data/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
  117. data/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
  118. data/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
  119. data/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
  120. data/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
  121. data/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
  122. data/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
  123. data/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  124. data/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
  125. data/gems/rake-13.0.1/lib/rake/task.rb +434 -0
  126. data/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
  127. data/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
  128. data/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
  129. data/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
  130. data/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
  131. data/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
  132. data/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
  133. data/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
  134. data/gems/rake-13.0.1/lib/rake/version.rb +10 -0
  135. data/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
  136. data/gems/rake-13.0.1/lib/rake.rb +71 -0
  137. data/gems/rake-13.0.1/rake.gemspec +43 -0
  138. data/gems/yard-0.9.25/CHANGELOG.md +804 -0
  139. data/gems/yard-0.9.25/CODE_OF_CONDUCT.md +15 -0
  140. data/gems/yard-0.9.25/CONTRIBUTING.md +140 -0
  141. data/gems/yard-0.9.25/Dockerfile.samus +28 -0
  142. data/gems/yard-0.9.25/Gemfile +32 -0
  143. data/gems/yard-0.9.25/LEGAL +66 -0
  144. data/gems/yard-0.9.25/LICENSE +22 -0
  145. data/gems/yard-0.9.25/README.md +325 -0
  146. data/gems/yard-0.9.25/Rakefile +39 -0
  147. data/gems/yard-0.9.25/SECURITY.md +26 -0
  148. data/gems/yard-0.9.25/benchmarks/builtins_vs_eval.rb +24 -0
  149. data/gems/yard-0.9.25/benchmarks/concat_vs_join.rb +13 -0
  150. data/gems/yard-0.9.25/benchmarks/erb_vs_erubis.rb +54 -0
  151. data/gems/yard-0.9.25/benchmarks/format_args.rb +47 -0
  152. data/gems/yard-0.9.25/benchmarks/generation.rb +38 -0
  153. data/gems/yard-0.9.25/benchmarks/marshal_vs_dbm.rb +64 -0
  154. data/gems/yard-0.9.25/benchmarks/parsing.rb +46 -0
  155. data/gems/yard-0.9.25/benchmarks/pathname_vs_string.rb +51 -0
  156. data/gems/yard-0.9.25/benchmarks/rdoc_vs_yardoc.rb +11 -0
  157. data/gems/yard-0.9.25/benchmarks/registry_store_types.rb +49 -0
  158. data/gems/yard-0.9.25/benchmarks/ri_vs_yri.rb +19 -0
  159. data/gems/yard-0.9.25/benchmarks/ripper_parser.rb +13 -0
  160. data/gems/yard-0.9.25/benchmarks/splat_vs_flatten.rb +13 -0
  161. data/gems/yard-0.9.25/benchmarks/template_erb.rb +23 -0
  162. data/gems/yard-0.9.25/benchmarks/template_format.rb +7 -0
  163. data/gems/yard-0.9.25/benchmarks/template_profile.rb +18 -0
  164. data/gems/yard-0.9.25/benchmarks/yri_cache.rb +20 -0
  165. data/gems/yard-0.9.25/bin/yard +13 -0
  166. data/gems/yard-0.9.25/bin/yardoc +13 -0
  167. data/gems/yard-0.9.25/bin/yri +13 -0
  168. data/gems/yard-0.9.25/docs/CodeObjects.md +115 -0
  169. data/gems/yard-0.9.25/docs/GettingStarted.md +679 -0
  170. data/gems/yard-0.9.25/docs/Handlers.md +152 -0
  171. data/gems/yard-0.9.25/docs/Overview.md +61 -0
  172. data/gems/yard-0.9.25/docs/Parser.md +191 -0
  173. data/gems/yard-0.9.25/docs/Tags.md +283 -0
  174. data/gems/yard-0.9.25/docs/TagsArch.md +123 -0
  175. data/gems/yard-0.9.25/docs/Templates.md +496 -0
  176. data/gems/yard-0.9.25/docs/WhatsNew.md +1245 -0
  177. data/gems/yard-0.9.25/docs/images/code-objects-class-diagram.png +0 -0
  178. data/gems/yard-0.9.25/docs/images/handlers-class-diagram.png +0 -0
  179. data/gems/yard-0.9.25/docs/images/overview-class-diagram.png +0 -0
  180. data/gems/yard-0.9.25/docs/images/parser-class-diagram.png +0 -0
  181. data/gems/yard-0.9.25/docs/images/tags-class-diagram.png +0 -0
  182. data/gems/yard-0.9.25/docs/templates/default/fulldoc/html/full_list_tag.erb +9 -0
  183. data/gems/yard-0.9.25/docs/templates/default/fulldoc/html/setup.rb +6 -0
  184. data/gems/yard-0.9.25/docs/templates/default/layout/html/setup.rb +9 -0
  185. data/gems/yard-0.9.25/docs/templates/default/layout/html/tag_list.erb +11 -0
  186. data/gems/yard-0.9.25/docs/templates/default/yard_tags/html/list.erb +18 -0
  187. data/gems/yard-0.9.25/docs/templates/default/yard_tags/html/setup.rb +26 -0
  188. data/gems/yard-0.9.25/docs/templates/plugin.rb +70 -0
  189. data/gems/yard-0.9.25/lib/rubygems_plugin.rb +9 -0
  190. data/gems/yard-0.9.25/lib/yard/autoload.rb +308 -0
  191. data/gems/yard-0.9.25/lib/yard/cli/command.rb +85 -0
  192. data/gems/yard-0.9.25/lib/yard/cli/command_parser.rb +93 -0
  193. data/gems/yard-0.9.25/lib/yard/cli/config.rb +198 -0
  194. data/gems/yard-0.9.25/lib/yard/cli/diff.rb +273 -0
  195. data/gems/yard-0.9.25/lib/yard/cli/display.rb +69 -0
  196. data/gems/yard-0.9.25/lib/yard/cli/gems.rb +84 -0
  197. data/gems/yard-0.9.25/lib/yard/cli/graph.rb +125 -0
  198. data/gems/yard-0.9.25/lib/yard/cli/help.rb +20 -0
  199. data/gems/yard-0.9.25/lib/yard/cli/i18n.rb +70 -0
  200. data/gems/yard-0.9.25/lib/yard/cli/list.rb +23 -0
  201. data/gems/yard-0.9.25/lib/yard/cli/markup_types.rb +32 -0
  202. data/gems/yard-0.9.25/lib/yard/cli/server.rb +266 -0
  203. data/gems/yard-0.9.25/lib/yard/cli/stats.rb +231 -0
  204. data/gems/yard-0.9.25/lib/yard/cli/yardoc.rb +789 -0
  205. data/gems/yard-0.9.25/lib/yard/cli/yardopts_command.rb +110 -0
  206. data/gems/yard-0.9.25/lib/yard/cli/yri.rb +215 -0
  207. data/gems/yard-0.9.25/lib/yard/code_objects/base.rb +622 -0
  208. data/gems/yard-0.9.25/lib/yard/code_objects/class_object.rb +146 -0
  209. data/gems/yard-0.9.25/lib/yard/code_objects/class_variable_object.rb +11 -0
  210. data/gems/yard-0.9.25/lib/yard/code_objects/constant_object.rb +16 -0
  211. data/gems/yard-0.9.25/lib/yard/code_objects/extended_method_object.rb +24 -0
  212. data/gems/yard-0.9.25/lib/yard/code_objects/extra_file_object.rb +134 -0
  213. data/gems/yard-0.9.25/lib/yard/code_objects/macro_object.rb +172 -0
  214. data/gems/yard-0.9.25/lib/yard/code_objects/method_object.rb +196 -0
  215. data/gems/yard-0.9.25/lib/yard/code_objects/module_object.rb +21 -0
  216. data/gems/yard-0.9.25/lib/yard/code_objects/namespace_mapper.rb +141 -0
  217. data/gems/yard-0.9.25/lib/yard/code_objects/namespace_object.rb +200 -0
  218. data/gems/yard-0.9.25/lib/yard/code_objects/proxy.rb +245 -0
  219. data/gems/yard-0.9.25/lib/yard/code_objects/root_object.rb +19 -0
  220. data/gems/yard-0.9.25/lib/yard/config.rb +270 -0
  221. data/gems/yard-0.9.25/lib/yard/core_ext/array.rb +16 -0
  222. data/gems/yard-0.9.25/lib/yard/core_ext/file.rb +69 -0
  223. data/gems/yard-0.9.25/lib/yard/core_ext/hash.rb +16 -0
  224. data/gems/yard-0.9.25/lib/yard/core_ext/insertion.rb +63 -0
  225. data/gems/yard-0.9.25/lib/yard/core_ext/module.rb +11 -0
  226. data/gems/yard-0.9.25/lib/yard/core_ext/string.rb +68 -0
  227. data/gems/yard-0.9.25/lib/yard/core_ext/symbol_hash.rb +75 -0
  228. data/gems/yard-0.9.25/lib/yard/docstring.rb +386 -0
  229. data/gems/yard-0.9.25/lib/yard/docstring_parser.rb +345 -0
  230. data/gems/yard-0.9.25/lib/yard/gem_index.rb +29 -0
  231. data/gems/yard-0.9.25/lib/yard/globals.rb +22 -0
  232. data/gems/yard-0.9.25/lib/yard/handlers/base.rb +595 -0
  233. data/gems/yard-0.9.25/lib/yard/handlers/c/alias_handler.rb +16 -0
  234. data/gems/yard-0.9.25/lib/yard/handlers/c/attribute_handler.rb +13 -0
  235. data/gems/yard-0.9.25/lib/yard/handlers/c/base.rb +164 -0
  236. data/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb +27 -0
  237. data/gems/yard-0.9.25/lib/yard/handlers/c/constant_handler.rb +13 -0
  238. data/gems/yard-0.9.25/lib/yard/handlers/c/handler_methods.rb +212 -0
  239. data/gems/yard-0.9.25/lib/yard/handlers/c/init_handler.rb +20 -0
  240. data/gems/yard-0.9.25/lib/yard/handlers/c/method_handler.rb +45 -0
  241. data/gems/yard-0.9.25/lib/yard/handlers/c/mixin_handler.rb +21 -0
  242. data/gems/yard-0.9.25/lib/yard/handlers/c/module_handler.rb +17 -0
  243. data/gems/yard-0.9.25/lib/yard/handlers/c/override_comment_handler.rb +31 -0
  244. data/gems/yard-0.9.25/lib/yard/handlers/c/path_handler.rb +11 -0
  245. data/gems/yard-0.9.25/lib/yard/handlers/c/struct_handler.rb +13 -0
  246. data/gems/yard-0.9.25/lib/yard/handlers/c/symbol_handler.rb +8 -0
  247. data/gems/yard-0.9.25/lib/yard/handlers/common/method_handler.rb +19 -0
  248. data/gems/yard-0.9.25/lib/yard/handlers/processor.rb +200 -0
  249. data/gems/yard-0.9.25/lib/yard/handlers/ruby/alias_handler.rb +45 -0
  250. data/gems/yard-0.9.25/lib/yard/handlers/ruby/attribute_handler.rb +87 -0
  251. data/gems/yard-0.9.25/lib/yard/handlers/ruby/base.rb +165 -0
  252. data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_condition_handler.rb +92 -0
  253. data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_handler.rb +119 -0
  254. data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_variable_handler.rb +17 -0
  255. data/gems/yard-0.9.25/lib/yard/handlers/ruby/comment_handler.rb +10 -0
  256. data/gems/yard-0.9.25/lib/yard/handlers/ruby/constant_handler.rb +55 -0
  257. data/gems/yard-0.9.25/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -0
  258. data/gems/yard-0.9.25/lib/yard/handlers/ruby/dsl_handler.rb +15 -0
  259. data/gems/yard-0.9.25/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -0
  260. data/gems/yard-0.9.25/lib/yard/handlers/ruby/exception_handler.rb +27 -0
  261. data/gems/yard-0.9.25/lib/yard/handlers/ruby/extend_handler.rb +22 -0
  262. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
  263. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -0
  264. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/base.rb +245 -0
  265. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
  266. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -0
  267. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -0
  268. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -0
  269. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -0
  270. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -0
  271. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -0
  272. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -0
  273. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -0
  274. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
  275. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -0
  276. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -0
  277. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -0
  278. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -0
  279. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/visibility_handler.rb +17 -0
  280. data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -0
  281. data/gems/yard-0.9.25/lib/yard/handlers/ruby/method_condition_handler.rb +9 -0
  282. data/gems/yard-0.9.25/lib/yard/handlers/ruby/method_handler.rb +104 -0
  283. data/gems/yard-0.9.25/lib/yard/handlers/ruby/mixin_handler.rb +49 -0
  284. data/gems/yard-0.9.25/lib/yard/handlers/ruby/module_function_handler.rb +27 -0
  285. data/gems/yard-0.9.25/lib/yard/handlers/ruby/module_handler.rb +12 -0
  286. data/gems/yard-0.9.25/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -0
  287. data/gems/yard-0.9.25/lib/yard/handlers/ruby/private_constant_handler.rb +43 -0
  288. data/gems/yard-0.9.25/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -0
  289. data/gems/yard-0.9.25/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -0
  290. data/gems/yard-0.9.25/lib/yard/handlers/ruby/visibility_handler.rb +22 -0
  291. data/gems/yard-0.9.25/lib/yard/handlers/ruby/yield_handler.rb +31 -0
  292. data/gems/yard-0.9.25/lib/yard/i18n/locale.rb +67 -0
  293. data/gems/yard-0.9.25/lib/yard/i18n/message.rb +57 -0
  294. data/gems/yard-0.9.25/lib/yard/i18n/messages.rb +56 -0
  295. data/gems/yard-0.9.25/lib/yard/i18n/po_parser.rb +61 -0
  296. data/gems/yard-0.9.25/lib/yard/i18n/pot_generator.rb +290 -0
  297. data/gems/yard-0.9.25/lib/yard/i18n/text.rb +173 -0
  298. data/gems/yard-0.9.25/lib/yard/logging.rb +205 -0
  299. data/gems/yard-0.9.25/lib/yard/options.rb +217 -0
  300. data/gems/yard-0.9.25/lib/yard/parser/base.rb +57 -0
  301. data/gems/yard-0.9.25/lib/yard/parser/c/c_parser.rb +235 -0
  302. data/gems/yard-0.9.25/lib/yard/parser/c/comment_parser.rb +134 -0
  303. data/gems/yard-0.9.25/lib/yard/parser/c/statement.rb +66 -0
  304. data/gems/yard-0.9.25/lib/yard/parser/ruby/ast_node.rb +551 -0
  305. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/irb/slex.rb +276 -0
  306. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/ruby_lex.rb +1345 -0
  307. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -0
  308. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/statement.rb +68 -0
  309. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/statement_list.rb +394 -0
  310. data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/token_list.rb +74 -0
  311. data/gems/yard-0.9.25/lib/yard/parser/ruby/ruby_parser.rb +701 -0
  312. data/gems/yard-0.9.25/lib/yard/parser/ruby/token_resolver.rb +158 -0
  313. data/gems/yard-0.9.25/lib/yard/parser/source_parser.rb +526 -0
  314. data/gems/yard-0.9.25/lib/yard/rake/yardoc_task.rb +81 -0
  315. data/gems/yard-0.9.25/lib/yard/registry.rb +439 -0
  316. data/gems/yard-0.9.25/lib/yard/registry_resolver.rb +217 -0
  317. data/gems/yard-0.9.25/lib/yard/registry_store.rb +342 -0
  318. data/gems/yard-0.9.25/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  319. data/gems/yard-0.9.25/lib/yard/rubygems/backports/MIT.txt +20 -0
  320. data/gems/yard-0.9.25/lib/yard/rubygems/backports/gem.rb +10 -0
  321. data/gems/yard-0.9.25/lib/yard/rubygems/backports/source_index.rb +365 -0
  322. data/gems/yard-0.9.25/lib/yard/rubygems/backports.rb +10 -0
  323. data/gems/yard-0.9.25/lib/yard/rubygems/doc_manager.rb +90 -0
  324. data/gems/yard-0.9.25/lib/yard/rubygems/hook.rb +197 -0
  325. data/gems/yard-0.9.25/lib/yard/rubygems/specification.rb +50 -0
  326. data/gems/yard-0.9.25/lib/yard/serializers/base.rb +83 -0
  327. data/gems/yard-0.9.25/lib/yard/serializers/file_system_serializer.rb +123 -0
  328. data/gems/yard-0.9.25/lib/yard/serializers/process_serializer.rb +24 -0
  329. data/gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb +34 -0
  330. data/gems/yard-0.9.25/lib/yard/serializers/yardoc_serializer.rb +152 -0
  331. data/gems/yard-0.9.25/lib/yard/server/adapter.rb +100 -0
  332. data/gems/yard-0.9.25/lib/yard/server/commands/base.rb +209 -0
  333. data/gems/yard-0.9.25/lib/yard/server/commands/display_file_command.rb +29 -0
  334. data/gems/yard-0.9.25/lib/yard/server/commands/display_object_command.rb +65 -0
  335. data/gems/yard-0.9.25/lib/yard/server/commands/frames_command.rb +16 -0
  336. data/gems/yard-0.9.25/lib/yard/server/commands/library_command.rb +187 -0
  337. data/gems/yard-0.9.25/lib/yard/server/commands/library_index_command.rb +28 -0
  338. data/gems/yard-0.9.25/lib/yard/server/commands/list_command.rb +25 -0
  339. data/gems/yard-0.9.25/lib/yard/server/commands/root_request_command.rb +15 -0
  340. data/gems/yard-0.9.25/lib/yard/server/commands/search_command.rb +79 -0
  341. data/gems/yard-0.9.25/lib/yard/server/commands/static_file_command.rb +23 -0
  342. data/gems/yard-0.9.25/lib/yard/server/commands/static_file_helpers.rb +61 -0
  343. data/gems/yard-0.9.25/lib/yard/server/doc_server_helper.rb +91 -0
  344. data/gems/yard-0.9.25/lib/yard/server/doc_server_serializer.rb +39 -0
  345. data/gems/yard-0.9.25/lib/yard/server/library_version.rb +277 -0
  346. data/gems/yard-0.9.25/lib/yard/server/rack_adapter.rb +89 -0
  347. data/gems/yard-0.9.25/lib/yard/server/router.rb +187 -0
  348. data/gems/yard-0.9.25/lib/yard/server/static_caching.rb +46 -0
  349. data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/css/custom.css +127 -0
  350. data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  351. data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
  352. data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/breadcrumb.erb +37 -0
  353. data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -0
  354. data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/setup.rb +8 -0
  355. data/gems/yard-0.9.25/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -0
  356. data/gems/yard-0.9.25/lib/yard/server/templates/default/method_details/html/setup.rb +5 -0
  357. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -0
  358. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +14 -0
  359. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -0
  360. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -0
  361. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  362. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/processing/html/processing.erb +52 -0
  363. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -0
  364. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
  365. data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -0
  366. data/gems/yard-0.9.25/lib/yard/server/webrick_adapter.rb +45 -0
  367. data/gems/yard-0.9.25/lib/yard/server.rb +13 -0
  368. data/gems/yard-0.9.25/lib/yard/tags/default_factory.rb +191 -0
  369. data/gems/yard-0.9.25/lib/yard/tags/default_tag.rb +13 -0
  370. data/gems/yard-0.9.25/lib/yard/tags/directives.rb +616 -0
  371. data/gems/yard-0.9.25/lib/yard/tags/library.rb +633 -0
  372. data/gems/yard-0.9.25/lib/yard/tags/option_tag.rb +13 -0
  373. data/gems/yard-0.9.25/lib/yard/tags/overload_tag.rb +71 -0
  374. data/gems/yard-0.9.25/lib/yard/tags/ref_tag.rb +8 -0
  375. data/gems/yard-0.9.25/lib/yard/tags/ref_tag_list.rb +28 -0
  376. data/gems/yard-0.9.25/lib/yard/tags/tag.rb +71 -0
  377. data/gems/yard-0.9.25/lib/yard/tags/tag_format_error.rb +7 -0
  378. data/gems/yard-0.9.25/lib/yard/tags/types_explainer.rb +162 -0
  379. data/gems/yard-0.9.25/lib/yard/templates/engine.rb +186 -0
  380. data/gems/yard-0.9.25/lib/yard/templates/erb_cache.rb +23 -0
  381. data/gems/yard-0.9.25/lib/yard/templates/helpers/base_helper.rb +215 -0
  382. data/gems/yard-0.9.25/lib/yard/templates/helpers/filter_helper.rb +27 -0
  383. data/gems/yard-0.9.25/lib/yard/templates/helpers/html_helper.rb +670 -0
  384. data/gems/yard-0.9.25/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +78 -0
  385. data/gems/yard-0.9.25/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -0
  386. data/gems/yard-0.9.25/lib/yard/templates/helpers/markup/rdoc_markup.rb +110 -0
  387. data/gems/yard-0.9.25/lib/yard/templates/helpers/markup_helper.rb +172 -0
  388. data/gems/yard-0.9.25/lib/yard/templates/helpers/method_helper.rb +75 -0
  389. data/gems/yard-0.9.25/lib/yard/templates/helpers/module_helper.rb +21 -0
  390. data/gems/yard-0.9.25/lib/yard/templates/helpers/text_helper.rb +112 -0
  391. data/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb +47 -0
  392. data/gems/yard-0.9.25/lib/yard/templates/section.rb +105 -0
  393. data/gems/yard-0.9.25/lib/yard/templates/template.rb +418 -0
  394. data/gems/yard-0.9.25/lib/yard/templates/template_options.rb +92 -0
  395. data/gems/yard-0.9.25/lib/yard/verifier.rb +151 -0
  396. data/gems/yard-0.9.25/lib/yard/version.rb +6 -0
  397. data/gems/yard-0.9.25/lib/yard.rb +69 -0
  398. data/gems/yard-0.9.25/po/ja.po +31108 -0
  399. data/gems/yard-0.9.25/samus.json +80 -0
  400. data/gems/yard-0.9.25/tasks/update_error_map.rake +53 -0
  401. data/gems/yard-0.9.25/templates/default/class/dot/setup.rb +7 -0
  402. data/gems/yard-0.9.25/templates/default/class/dot/superklass.erb +3 -0
  403. data/gems/yard-0.9.25/templates/default/class/html/constructor_details.erb +8 -0
  404. data/gems/yard-0.9.25/templates/default/class/html/setup.rb +2 -0
  405. data/gems/yard-0.9.25/templates/default/class/html/subclasses.erb +4 -0
  406. data/gems/yard-0.9.25/templates/default/class/setup.rb +36 -0
  407. data/gems/yard-0.9.25/templates/default/class/text/setup.rb +12 -0
  408. data/gems/yard-0.9.25/templates/default/class/text/subclasses.erb +5 -0
  409. data/gems/yard-0.9.25/templates/default/constant/text/header.erb +11 -0
  410. data/gems/yard-0.9.25/templates/default/constant/text/setup.rb +4 -0
  411. data/gems/yard-0.9.25/templates/default/docstring/html/abstract.erb +4 -0
  412. data/gems/yard-0.9.25/templates/default/docstring/html/deprecated.erb +1 -0
  413. data/gems/yard-0.9.25/templates/default/docstring/html/index.erb +5 -0
  414. data/gems/yard-0.9.25/templates/default/docstring/html/note.erb +6 -0
  415. data/gems/yard-0.9.25/templates/default/docstring/html/private.erb +4 -0
  416. data/gems/yard-0.9.25/templates/default/docstring/html/returns_void.erb +1 -0
  417. data/gems/yard-0.9.25/templates/default/docstring/html/text.erb +1 -0
  418. data/gems/yard-0.9.25/templates/default/docstring/html/todo.erb +6 -0
  419. data/gems/yard-0.9.25/templates/default/docstring/setup.rb +52 -0
  420. data/gems/yard-0.9.25/templates/default/docstring/text/abstract.erb +2 -0
  421. data/gems/yard-0.9.25/templates/default/docstring/text/deprecated.erb +2 -0
  422. data/gems/yard-0.9.25/templates/default/docstring/text/index.erb +2 -0
  423. data/gems/yard-0.9.25/templates/default/docstring/text/note.erb +4 -0
  424. data/gems/yard-0.9.25/templates/default/docstring/text/private.erb +2 -0
  425. data/gems/yard-0.9.25/templates/default/docstring/text/returns_void.erb +1 -0
  426. data/gems/yard-0.9.25/templates/default/docstring/text/text.erb +1 -0
  427. data/gems/yard-0.9.25/templates/default/docstring/text/todo.erb +4 -0
  428. data/gems/yard-0.9.25/templates/default/fulldoc/html/css/common.css +1 -0
  429. data/gems/yard-0.9.25/templates/default/fulldoc/html/css/full_list.css +58 -0
  430. data/gems/yard-0.9.25/templates/default/fulldoc/html/css/style.css +496 -0
  431. data/gems/yard-0.9.25/templates/default/fulldoc/html/frames.erb +17 -0
  432. data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list.erb +37 -0
  433. data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_class.erb +2 -0
  434. data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_file.erb +7 -0
  435. data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_method.erb +10 -0
  436. data/gems/yard-0.9.25/templates/default/fulldoc/html/js/app.js +314 -0
  437. data/gems/yard-0.9.25/templates/default/fulldoc/html/js/full_list.js +216 -0
  438. data/gems/yard-0.9.25/templates/default/fulldoc/html/js/jquery.js +4 -0
  439. data/gems/yard-0.9.25/templates/default/fulldoc/html/setup.rb +241 -0
  440. data/gems/yard-0.9.25/templates/default/layout/dot/header.erb +6 -0
  441. data/gems/yard-0.9.25/templates/default/layout/dot/setup.rb +15 -0
  442. data/gems/yard-0.9.25/templates/default/layout/html/breadcrumb.erb +11 -0
  443. data/gems/yard-0.9.25/templates/default/layout/html/files.erb +11 -0
  444. data/gems/yard-0.9.25/templates/default/layout/html/footer.erb +5 -0
  445. data/gems/yard-0.9.25/templates/default/layout/html/headers.erb +15 -0
  446. data/gems/yard-0.9.25/templates/default/layout/html/index.erb +2 -0
  447. data/gems/yard-0.9.25/templates/default/layout/html/layout.erb +24 -0
  448. data/gems/yard-0.9.25/templates/default/layout/html/listing.erb +4 -0
  449. data/gems/yard-0.9.25/templates/default/layout/html/objects.erb +32 -0
  450. data/gems/yard-0.9.25/templates/default/layout/html/script_setup.erb +4 -0
  451. data/gems/yard-0.9.25/templates/default/layout/html/search.erb +13 -0
  452. data/gems/yard-0.9.25/templates/default/layout/html/setup.rb +89 -0
  453. data/gems/yard-0.9.25/templates/default/method/html/header.erb +17 -0
  454. data/gems/yard-0.9.25/templates/default/method/setup.rb +4 -0
  455. data/gems/yard-0.9.25/templates/default/method/text/header.erb +1 -0
  456. data/gems/yard-0.9.25/templates/default/method_details/html/header.erb +3 -0
  457. data/gems/yard-0.9.25/templates/default/method_details/html/method_signature.erb +25 -0
  458. data/gems/yard-0.9.25/templates/default/method_details/html/source.erb +10 -0
  459. data/gems/yard-0.9.25/templates/default/method_details/setup.rb +11 -0
  460. data/gems/yard-0.9.25/templates/default/method_details/text/header.erb +10 -0
  461. data/gems/yard-0.9.25/templates/default/method_details/text/method_signature.erb +12 -0
  462. data/gems/yard-0.9.25/templates/default/method_details/text/setup.rb +11 -0
  463. data/gems/yard-0.9.25/templates/default/module/dot/child.erb +1 -0
  464. data/gems/yard-0.9.25/templates/default/module/dot/dependencies.erb +3 -0
  465. data/gems/yard-0.9.25/templates/default/module/dot/header.erb +6 -0
  466. data/gems/yard-0.9.25/templates/default/module/dot/info.erb +14 -0
  467. data/gems/yard-0.9.25/templates/default/module/dot/setup.rb +15 -0
  468. data/gems/yard-0.9.25/templates/default/module/html/attribute_details.erb +10 -0
  469. data/gems/yard-0.9.25/templates/default/module/html/attribute_summary.erb +8 -0
  470. data/gems/yard-0.9.25/templates/default/module/html/box_info.erb +43 -0
  471. data/gems/yard-0.9.25/templates/default/module/html/children.erb +8 -0
  472. data/gems/yard-0.9.25/templates/default/module/html/constant_summary.erb +17 -0
  473. data/gems/yard-0.9.25/templates/default/module/html/defines.erb +3 -0
  474. data/gems/yard-0.9.25/templates/default/module/html/header.erb +5 -0
  475. data/gems/yard-0.9.25/templates/default/module/html/inherited_attributes.erb +14 -0
  476. data/gems/yard-0.9.25/templates/default/module/html/inherited_constants.erb +8 -0
  477. data/gems/yard-0.9.25/templates/default/module/html/inherited_methods.erb +19 -0
  478. data/gems/yard-0.9.25/templates/default/module/html/item_summary.erb +40 -0
  479. data/gems/yard-0.9.25/templates/default/module/html/method_details_list.erb +9 -0
  480. data/gems/yard-0.9.25/templates/default/module/html/method_summary.erb +14 -0
  481. data/gems/yard-0.9.25/templates/default/module/html/methodmissing.erb +12 -0
  482. data/gems/yard-0.9.25/templates/default/module/html/pre_docstring.erb +1 -0
  483. data/gems/yard-0.9.25/templates/default/module/setup.rb +167 -0
  484. data/gems/yard-0.9.25/templates/default/module/text/children.erb +10 -0
  485. data/gems/yard-0.9.25/templates/default/module/text/class_meths_list.erb +8 -0
  486. data/gems/yard-0.9.25/templates/default/module/text/extends.erb +8 -0
  487. data/gems/yard-0.9.25/templates/default/module/text/header.erb +7 -0
  488. data/gems/yard-0.9.25/templates/default/module/text/includes.erb +8 -0
  489. data/gems/yard-0.9.25/templates/default/module/text/instance_meths_list.erb +8 -0
  490. data/gems/yard-0.9.25/templates/default/module/text/setup.rb +13 -0
  491. data/gems/yard-0.9.25/templates/default/onefile/html/files.erb +5 -0
  492. data/gems/yard-0.9.25/templates/default/onefile/html/headers.erb +6 -0
  493. data/gems/yard-0.9.25/templates/default/onefile/html/layout.erb +17 -0
  494. data/gems/yard-0.9.25/templates/default/onefile/html/readme.erb +3 -0
  495. data/gems/yard-0.9.25/templates/default/onefile/html/setup.rb +62 -0
  496. data/gems/yard-0.9.25/templates/default/root/dot/child.erb +3 -0
  497. data/gems/yard-0.9.25/templates/default/root/dot/setup.rb +6 -0
  498. data/gems/yard-0.9.25/templates/default/root/html/setup.rb +2 -0
  499. data/gems/yard-0.9.25/templates/default/tags/html/example.erb +11 -0
  500. data/gems/yard-0.9.25/templates/default/tags/html/index.erb +3 -0
  501. data/gems/yard-0.9.25/templates/default/tags/html/option.erb +24 -0
  502. data/gems/yard-0.9.25/templates/default/tags/html/overload.erb +14 -0
  503. data/gems/yard-0.9.25/templates/default/tags/html/see.erb +8 -0
  504. data/gems/yard-0.9.25/templates/default/tags/html/tag.erb +20 -0
  505. data/gems/yard-0.9.25/templates/default/tags/setup.rb +57 -0
  506. data/gems/yard-0.9.25/templates/default/tags/text/example.erb +12 -0
  507. data/gems/yard-0.9.25/templates/default/tags/text/index.erb +1 -0
  508. data/gems/yard-0.9.25/templates/default/tags/text/option.erb +20 -0
  509. data/gems/yard-0.9.25/templates/default/tags/text/overload.erb +19 -0
  510. data/gems/yard-0.9.25/templates/default/tags/text/see.erb +11 -0
  511. data/gems/yard-0.9.25/templates/default/tags/text/tag.erb +13 -0
  512. data/gems/yard-0.9.25/templates/guide/class/html/setup.rb +2 -0
  513. data/gems/yard-0.9.25/templates/guide/docstring/html/setup.rb +2 -0
  514. data/gems/yard-0.9.25/templates/guide/fulldoc/html/css/style.css +108 -0
  515. data/gems/yard-0.9.25/templates/guide/fulldoc/html/js/app.js +33 -0
  516. data/gems/yard-0.9.25/templates/guide/fulldoc/html/setup.rb +74 -0
  517. data/gems/yard-0.9.25/templates/guide/layout/html/layout.erb +81 -0
  518. data/gems/yard-0.9.25/templates/guide/layout/html/setup.rb +25 -0
  519. data/gems/yard-0.9.25/templates/guide/method/html/header.erb +18 -0
  520. data/gems/yard-0.9.25/templates/guide/method/html/setup.rb +22 -0
  521. data/gems/yard-0.9.25/templates/guide/module/html/header.erb +7 -0
  522. data/gems/yard-0.9.25/templates/guide/module/html/method_list.erb +5 -0
  523. data/gems/yard-0.9.25/templates/guide/module/html/setup.rb +27 -0
  524. data/gems/yard-0.9.25/templates/guide/onefile/html/files.erb +4 -0
  525. data/gems/yard-0.9.25/templates/guide/onefile/html/setup.rb +6 -0
  526. data/gems/yard-0.9.25/templates/guide/onefile/html/toc.erb +3 -0
  527. data/gems/yard-0.9.25/templates/guide/tags/html/setup.rb +9 -0
  528. data/gems/yard-0.9.25/yard.gemspec +24 -0
  529. data/kinetic_sdk.gemspec +0 -4
  530. data/lib/kinetic_sdk/core/lib/form.rb +55 -0
  531. data/lib/kinetic_sdk/core/lib/kapp.rb +52 -0
  532. data/lib/kinetic_sdk/core/lib/space.rb +51 -0
  533. data/lib/kinetic_sdk/task/lib/export.rb +22 -2
  534. data/lib/kinetic_sdk/task/lib/trees.rb +11 -0
  535. data/lib/kinetic_sdk/version.rb +1 -1
  536. data/lib/kinetic_sdk.rb +2 -22
  537. metadata +534 -225
  538. data/gems/kontena-websocket-client-0.1.1/Gemfile +0 -4
  539. data/gems/kontena-websocket-client-0.1.1/LICENSE +0 -190
  540. data/gems/kontena-websocket-client-0.1.1/README.md +0 -138
  541. data/gems/kontena-websocket-client-0.1.1/Rakefile +0 -6
  542. data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark-client.rb +0 -45
  543. data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark-em.rb +0 -66
  544. data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark.rb +0 -161
  545. data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark.sh +0 -17
  546. data/gems/kontena-websocket-client-0.1.1/benchmark/websocket-echo-server.go +0 -207
  547. data/gems/kontena-websocket-client-0.1.1/examples/websocket-echo-client.rb +0 -80
  548. data/gems/kontena-websocket-client-0.1.1/kontena-websocket-client.gemspec +0 -24
  549. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client/connection.rb +0 -119
  550. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client/version.rb +0 -13
  551. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client.rb +0 -848
  552. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/error.rb +0 -81
  553. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/logging.rb +0 -55
  554. data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/openssl_patch.rb +0 -10
  555. data/gems/kontena-websocket-client-0.1.1/lib/kontena-websocket-client.rb +0 -15
  556. data/gems/mime-types-3.3.1/Contributing.md +0 -143
  557. data/gems/mime-types-3.3.1/History.md +0 -240
  558. data/gems/mime-types-3.3.1/Rakefile +0 -284
  559. data/gems/mime-types-3.3.1/test/minitest_helper.rb +0 -13
  560. data/gems/mime-types-3.3.1/test/test_mime_type.rb +0 -610
  561. data/gems/mime-types-3.3.1/test/test_mime_types.rb +0 -169
  562. data/gems/mime-types-3.3.1/test/test_mime_types_cache.rb +0 -118
  563. data/gems/mime-types-3.3.1/test/test_mime_types_class.rb +0 -159
  564. data/gems/mime-types-3.3.1/test/test_mime_types_lazy.rb +0 -49
  565. data/gems/mime-types-3.3.1/test/test_mime_types_loader.rb +0 -32
  566. data/gems/mime-types-data-3.2021.0225/Licence.md +0 -25
  567. data/gems/mime-types-data-3.2021.0225/Rakefile +0 -159
  568. data/gems/mime-types-data-3.2021.0225/data/mime-types.json +0 -1
  569. data/gems/mime-types-data-3.2021.0225/data/mime.flags.column +0 -2315
  570. data/gems/parallel-1.12.1/lib/parallel/processor_count.rb +0 -93
  571. data/gems/parallel-1.12.1/lib/parallel/version.rb +0 -3
  572. data/gems/parallel-1.12.1/lib/parallel.rb +0 -500
  573. data/gems/ruby-progressbar-1.9.0/LICENSE.txt +0 -19
  574. data/gems/ruby-progressbar-1.9.0/README.md +0 -38
  575. data/gems/ruby-progressbar-1.9.0/Rakefile +0 -2
  576. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/base.rb +0 -183
  577. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/calculators/length.rb +0 -99
  578. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/calculators/running_average.rb +0 -9
  579. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/bar.rb +0 -96
  580. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/percentage.rb +0 -29
  581. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/rate.rb +0 -43
  582. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/time.rb +0 -107
  583. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/title.rb +0 -13
  584. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components.rb +0 -5
  585. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +0 -4
  586. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/formatter.rb +0 -27
  587. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/molecule.rb +0 -59
  588. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb +0 -36
  589. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format.rb +0 -3
  590. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/output.rb +0 -68
  591. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/non_tty.rb +0 -47
  592. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/null.rb +0 -33
  593. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/tty.rb +0 -32
  594. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/progress.rb +0 -118
  595. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/refinements/enumerator.rb +0 -25
  596. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/refinements.rb +0 -1
  597. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/throttle.rb +0 -25
  598. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/time.rb +0 -30
  599. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/timer.rb +0 -72
  600. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/version.rb +0 -3
  601. data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar.rb +0 -18
  602. data/gems/websocket-driver-0.6.5/CHANGELOG.md +0 -123
  603. data/gems/websocket-driver-0.6.5/LICENSE.md +0 -22
  604. data/gems/websocket-driver-0.6.5/README.md +0 -369
  605. data/gems/websocket-driver-0.6.5/examples/tcp_server.rb +0 -28
  606. data/gems/websocket-driver-0.6.5/ext/websocket-driver/Makefile +0 -264
  607. data/gems/websocket-driver-0.6.5/ext/websocket-driver/WebsocketMaskService.java +0 -55
  608. data/gems/websocket-driver-0.6.5/ext/websocket-driver/extconf.rb +0 -4
  609. data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.bundle +0 -0
  610. data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.c +0 -41
  611. data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.o +0 -0
  612. data/gems/websocket-driver-0.6.5/lib/websocket/driver/client.rb +0 -140
  613. data/gems/websocket-driver-0.6.5/lib/websocket/driver/draft75.rb +0 -102
  614. data/gems/websocket-driver-0.6.5/lib/websocket/driver/draft76.rb +0 -96
  615. data/gems/websocket-driver-0.6.5/lib/websocket/driver/event_emitter.rb +0 -54
  616. data/gems/websocket-driver-0.6.5/lib/websocket/driver/headers.rb +0 -45
  617. data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi/frame.rb +0 -20
  618. data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi/message.rb +0 -31
  619. data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi.rb +0 -406
  620. data/gems/websocket-driver-0.6.5/lib/websocket/driver/proxy.rb +0 -68
  621. data/gems/websocket-driver-0.6.5/lib/websocket/driver/server.rb +0 -80
  622. data/gems/websocket-driver-0.6.5/lib/websocket/driver/stream_reader.rb +0 -55
  623. data/gems/websocket-driver-0.6.5/lib/websocket/driver.rb +0 -199
  624. data/gems/websocket-driver-0.6.5/lib/websocket/http/headers.rb +0 -112
  625. data/gems/websocket-driver-0.6.5/lib/websocket/http/request.rb +0 -45
  626. data/gems/websocket-driver-0.6.5/lib/websocket/http/response.rb +0 -29
  627. data/gems/websocket-driver-0.6.5/lib/websocket/http.rb +0 -15
  628. data/gems/websocket-driver-0.6.5/lib/websocket/mask.rb +0 -14
  629. data/gems/websocket-driver-0.6.5/lib/websocket/websocket_mask.rb +0 -2
  630. data/gems/websocket-driver-0.6.5/lib/websocket_mask.bundle +0 -0
  631. data/gems/websocket-driver-0.6.5-java/CHANGELOG.md +0 -123
  632. data/gems/websocket-driver-0.6.5-java/README.md +0 -369
  633. data/gems/websocket-driver-0.6.5-java/examples/tcp_server.rb +0 -28
  634. data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/WebsocketMaskService.java +0 -55
  635. data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/extconf.rb +0 -4
  636. data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/websocket_mask.c +0 -41
  637. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/client.rb +0 -140
  638. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/draft75.rb +0 -102
  639. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/draft76.rb +0 -96
  640. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/event_emitter.rb +0 -54
  641. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/headers.rb +0 -45
  642. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi/frame.rb +0 -20
  643. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi/message.rb +0 -31
  644. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi.rb +0 -406
  645. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/proxy.rb +0 -68
  646. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/server.rb +0 -80
  647. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/stream_reader.rb +0 -55
  648. data/gems/websocket-driver-0.6.5-java/lib/websocket/driver.rb +0 -199
  649. data/gems/websocket-driver-0.6.5-java/lib/websocket/http/headers.rb +0 -112
  650. data/gems/websocket-driver-0.6.5-java/lib/websocket/http/request.rb +0 -45
  651. data/gems/websocket-driver-0.6.5-java/lib/websocket/http/response.rb +0 -29
  652. data/gems/websocket-driver-0.6.5-java/lib/websocket/http.rb +0 -15
  653. data/gems/websocket-driver-0.6.5-java/lib/websocket/mask.rb +0 -14
  654. data/gems/websocket-driver-0.6.5-java/lib/websocket/websocket_mask.rb +0 -2
  655. data/gems/websocket-driver-0.6.5-java/lib/websocket_mask.jar +0 -0
  656. data/gems/websocket-extensions-0.1.3/CHANGELOG.md +0 -15
  657. data/gems/websocket-extensions-0.1.3/LICENSE.md +0 -20
  658. data/gems/websocket-extensions-0.1.3/README.md +0 -313
  659. data/gems/websocket-extensions-0.1.3/lib/websocket/extensions/parser.rb +0 -111
  660. data/gems/websocket-extensions-0.1.3/lib/websocket/extensions.rb +0 -181
  661. data/lib/kinetic_sdk/discussions/lib/websockets.rb +0 -96
@@ -0,0 +1,152 @@
1
+ # @title Handlers Architecture
2
+
3
+ # Handlers Architecture
4
+
5
+ Handlers allow the processing of parsed source code. Handling is done after
6
+ parsing to abstract away the implementation details of lexical and semantic
7
+ analysis on source and to only deal with the logic regarding recognizing
8
+ source statements as {file:docs/CodeObjects.md code objects}.
9
+
10
+ ![Handlers Architecture Class Diagram](images/handlers-class-diagram.png)
11
+
12
+ ## The Pipeline
13
+
14
+ After the {file:docs/Parser.md parser component} finishes analyzing the
15
+ source, it is handed off for post-processing to the {YARD::Handlers::Processor}
16
+ class, which is responsible for traversing the set of statements given by
17
+ the parser and delegating them to matching handlers. Handlers match when the
18
+ {YARD::Handlers::Base.handles?} method returns true for a given statement.
19
+ The handler can then perform any action after being invoked by the `process`
20
+ method.
21
+
22
+ ## The Processor Class
23
+
24
+ The main purpose of the processor, as mentioned above, is to traverse through
25
+ the list of statements given to it by the parser. The processor also keeps
26
+ state about what is being processed. For instance, the processor is what keeps
27
+ track of the current namespace (the module or class an object is being defined
28
+ in), scope (class or instance), file and owner. The owner refers to the object
29
+ that is most directly responsible for the source statement being processed. This
30
+ is most often the same as the namespace, except when parsing the body of a method,
31
+ where the namespace would be the class/module the method is defined in and the
32
+ owner would be the method object itself.
33
+
34
+ ## Implementing a Handler
35
+
36
+ This section covers the basics of implementing a *new-style* Ruby handler. For
37
+ details on implementing a legacy handler, see the "API Differences" section below.
38
+
39
+ a Ruby handler can be implemented simply by subclassing the {YARD::Handlers::Ruby::Base}
40
+ class and declaring what node types or source to process with the {YARD::Handlers::Base.handles handles}
41
+ class method. A very simple handler that handles a module definition would be:
42
+
43
+ class MyModuleHandler < YARD::Handlers::Ruby::Base
44
+ handles :module
45
+
46
+ def process
47
+ puts "Handling a module named #{statement[0].source}"
48
+ end
49
+ end
50
+
51
+ For details on what nodes are, and what node types are, see the
52
+ {file:docs/Parser.md parser architecture document}.
53
+
54
+ In this case the node type being handled is the `:module` type. More than one
55
+ node type or `handles` declarations may describe a single handler, for instance,
56
+ a handler that handles class definitions should handle the `:class` and `:sclass`
57
+ node types respectively (the latter refers to classes defined as `class << Something`).
58
+ The {YARD::Handlers::Base#statement statement} attribute refers to the current
59
+ node (or statement) that is being handled by the handler.
60
+
61
+ ### Handling a Method Call
62
+
63
+ In some cases, a developer might need to handle a method call. The parser can
64
+ express a method call in many AST forms, so to simplify this process, a method
65
+ call can be handled by declaring the following in a `handles` statement:
66
+
67
+ class MyHandler < YARD::Handlers::Ruby::Base
68
+ handles method_call(:describe)
69
+
70
+ def process
71
+ # Process the method call
72
+ end
73
+ end
74
+
75
+ In this case we handle any of the method calls to method name `describe` with
76
+ the following syntaxes:
77
+
78
+ describe(something)
79
+ describe arg1, arg2, arg3
80
+ describe(something) { perform_a_block }
81
+ describe "Something" do
82
+ a_block
83
+ end
84
+
85
+ ### Creating a new Code Object
86
+
87
+ Usually (but not always) handling is performed to create new code objects to add
88
+ to the registry (for information about code objects, see {file:docs/CodeObjects.md this document}).
89
+ Code objects should simply be created and added to the existing `namespace`. This
90
+ will be enough to add them to the registry. There is also a convenience
91
+ {YARD::Handlers::Base#register register} method which quickly sets standard attributed
92
+ on the newly created object, such as the file, line, source and docstring of the
93
+ object. This method will be seen in the next example.
94
+
95
+ ### Handling an Inner Block
96
+
97
+ By default, the parser gives the processor class a list of all the top level
98
+ statements and the processor parses only those top level statements. If an inner
99
+ block of a module, class, method declaration or even a block passed to a method call
100
+ needs to be handled, the {YARD::Handlers::Base#parse_block parse_block} method must be called on the list of statements
101
+ to parse. This will send the list to the processor to continue processing on that
102
+ statement list. The source tree can be selectively parsed in this manner by parsing
103
+ only the inner blocks that are relevant to documentation.
104
+
105
+ For example, the module handler parses the inner body of a module by performing
106
+ the following commands:
107
+
108
+ class YARD::Handlers::Ruby::ModuleHandler < YARD::Handlers::Ruby::Base
109
+ handles :module
110
+
111
+ def process
112
+ modname = statement[0].source
113
+ mod = register ModuleObject.new(namespace, modname)
114
+ parse_block(statement[1], :namespace => mod)
115
+ end
116
+ end
117
+
118
+ In this case `statement[1]` refers to a list of extra statements, the block we
119
+ wish to parse. Note here that when parsing objects like modules and classes,
120
+ we set the namespace for the duration of the block parsing by setting options
121
+ on the `parse_block` method.
122
+
123
+ ### API Differences for Legacy Handler
124
+
125
+ Because the legacy handler uses the legacy parser and therefore a different kind
126
+ of AST, there are subtle differences in the handler API. Most importantly, the
127
+ `handles` method usually deals with either lexical tokens or source code as a string
128
+ or RegExp object. The statement object, similarly, is made up of lexical tokens instead
129
+ of semantically parsed nodes (this is described in the {file:docs/Parser.md parser document}).
130
+
131
+ The module example above can be rewritten as a legacy handler as follows:
132
+
133
+ class YARD::Handlers::Ruby::Legacy::ModuleHandler < YARD::Handlers::Ruby::Legacy::Base
134
+ handles TkMODULE
135
+
136
+ def process
137
+ modname = statement.tokens.to_s[/^module\s+(#{NAMESPACEMATCH})/, 1]
138
+ mod = register ModuleObject.new(namespace, modname)
139
+ parse_block(:namespace => mod)
140
+ end
141
+ end
142
+
143
+ A few notes on the differences:
144
+
145
+ * We inherit from `Legacy::Base` instead of the standard Ruby Base handler class.
146
+ * We exchange node type `:module` for `TkMODULE`, which represents the
147
+ first token in the statement.
148
+ * We perform direct string manipulation to get the module name.
149
+ * `parse_block` does not take a list of statements. In the old parser API,
150
+ each statement has a `block` attribute which defines the list of
151
+ statements within that statement, if any. Therefore, `parse_block` will
152
+ always parse the `statement.block` if it exists.
@@ -0,0 +1,61 @@
1
+ # @title Architecture Overview
2
+
3
+ # Architecture Overview
4
+
5
+ YARD is separated in three major components, each of which allows YARD to be
6
+ extended for a separate purpose. The split also emphasizes YARD's design choice
7
+ to explicitly separate data gathering from HTML document generation, something
8
+ that tools like RDoc do not do. These components are:
9
+
10
+ * [Code Parsing & Processing Component](#parsing)
11
+ * [Data Storage Component](#storage)
12
+ * [Post Processing & Templating System](#templates)
13
+
14
+ This separation is a major goal of the project, and means that YARD is not *just*
15
+ a tool to generate HTML output. The expectation is that any subset of YARD's
16
+ major components may be used, extended or modified independently. YARD may be
17
+ used just as a data gathering tool (to parse and audit code), just as a data
18
+ source (a webserver containing raw unformatted data about code), or just as a
19
+ conventional HTML documentation generation tool (like RDoc).
20
+
21
+ The important classes and dependencies of these components are shown in the
22
+ following class diagram:
23
+
24
+ ![Overview Class Diagram](images/overview-class-diagram.png)
25
+
26
+ <a name="parsing"></a>
27
+
28
+ ## Code Parsing & Processing Component
29
+
30
+ This component is made up of four sub-components, each of which have separate
31
+ tasks during the data gathering process (*note: the tag architecture is not*
32
+ *shown in the class diagram*). These sub-components are:
33
+
34
+ * {file:docs/Parser.md}
35
+ * {file:docs/Handlers.md}
36
+ * {file:docs/CodeObjects.md}
37
+ * {file:docs/Tags.md}
38
+
39
+ The parser component reads source files and converts it into a set of statements
40
+ which the handlers then process, creating code objects which in turn create tags
41
+ (meta-data) attached to the objects. These objects are all added to the {YARD::Registry},
42
+ the data store component.
43
+
44
+ <a name="storage"></a>
45
+
46
+ ## Data Storage Component
47
+
48
+ This component is currently implemented as a simple Ruby marshalled flat namespace
49
+ of object. The implementation is found in the single class {YARD::Registry}, which
50
+ is the centralized repository for all data being parsed, stored and accessed. There
51
+ are future plans to improve this storage mechanism to be backend agnostic and allow
52
+ for more robust storage.
53
+
54
+ <a name="templates"></a>
55
+
56
+ ## Post Processing & Templating System
57
+
58
+ This component handles processing of objects from the registry through a templating
59
+ engine that allows output to a variety of formats. Practically speaking, this is
60
+ where templates can be implemented to change the design, output or structure of
61
+ the data. See {file:docs/Templates.md Templates Architecture} for a complete overview.
@@ -0,0 +1,191 @@
1
+ # @title Parser Architecture
2
+
3
+ # Parser Architecture
4
+
5
+ The parser component of YARD is the first component in the data processing pipeline
6
+ that runs before any handling is done on the source. The parser is meant to translate
7
+ the source into a set of statements that can be understood by the {file:docs/Handlers.md Handlers}
8
+ that run immediately afterwards.
9
+
10
+ The important classes are described in the class diagram of the entire parser
11
+ system below:
12
+
13
+ ![Parser Class Diagram](images/parser-class-diagram.png)
14
+
15
+ (Note: the RubyToken classes are omitted from the diagram)
16
+
17
+ ## SourceParser
18
+
19
+ The main class {YARD::Parser::SourceParser} acts as a factory class, instantiating
20
+ the correct parser class, an implementation of {YARD::Parser::Base}. The selected parser
21
+ is chosen based on either the file extension or by selecting it explicitly (as an argument
22
+ to parsing methods). YARD supports Ruby and C source files, but custom parsers can
23
+ be implemented and registered for various other languages by subclassing `Parser::Base`
24
+ and registering the parser with {YARD::Parser::SourceParser.register_parser_type}.
25
+
26
+ This factory class should always be used when parsing source files rather than
27
+ the individual parser classes since it initiates the pipeline that runs the
28
+ handlers on the parsed source. The parser used must also match the handlers,
29
+ and this is coordinated by the `SourceParser` class as well.
30
+
31
+ ## Using the SourceParser Class
32
+
33
+ The `SourceParser` class API is optimized for parsing globs of files. As such,
34
+ the main method to use the class is the `parse` class method, which takes an
35
+ array of file globs or a single file glob.
36
+
37
+ YARD::Parser::SourceParser.parse('spec_*.rb')
38
+ YARD::Parser::SourceParser.parse(['spec_*.rb', '*_helper.rb'])
39
+
40
+ This is equivalent to the convenience method {YARD.parse}:
41
+
42
+ YARD.parse('lib/**/*.rb')
43
+
44
+ In some cases (ie. for testing), it may be more helpful to parse a string of input
45
+ directly. In such a case, the method {YARD::Parser::SourceParser.parse_string} should be
46
+ used:
47
+
48
+ YARD::Parser::SourceParser.parse_string("def method(a, b) end")
49
+
50
+ You can also provide the parser type explicitly as the second argument:
51
+
52
+ # Parses a string of C
53
+ YARD::Parser::SourceParser.parse_string("int main() { }", :c)
54
+
55
+ Note that these two methods are aliased as {YARD.parse} and {YARD.parse_string} for
56
+ convenience.
57
+
58
+ ## Implementing and Registering a Custom Parser
59
+
60
+ To implement a custom parser, subclass {YARD::Parser::Base}. Documentation on which
61
+ abstract methods should be implemented are documented in that class. After the class
62
+ is implemented, it is registered with the {YARD::Parser::SourceParser} factory class
63
+ to be called when a file of the right extension needs to be parsed, or when a user
64
+ selects that parser type explicitly. To register your new parser class, call the
65
+ method {YARD::Parser::SourceParser.register_parser_type}:
66
+
67
+ SourceParser.register_parser_type(:my_parser, MyParser, 'my_parser_ext')
68
+
69
+ The last argument can be a single extension, a list of extensions (Array), a single Regexp, or a
70
+ list of Regexps. Do not include the '.' in the extension.
71
+
72
+
73
+ ## The Two Ruby Parser Types
74
+
75
+ When parsing Ruby, the SourceParser can either instantiate the new {YARD::Parser::Ruby::RubyParser}
76
+ class or the {YARD::Parser::Ruby::Legacy::StatementList} class. The first of the
77
+ two, although faster, more robust and more efficient, is only available for
78
+ Ruby 1.9. The legacy parser parser is available in both 1.8.x and 1.9, if
79
+ compatibility is required. The choice of parser will affect which handlers
80
+ ultimately get used, since new handlers can only use the new parser and the
81
+ same requirement applies to the legacy parser & handlers.
82
+
83
+ ## Switching to Legacy Parser
84
+
85
+ By default, running YARD under Ruby 1.9 will automatically select the new parser
86
+ and new handlers by extension. Although YARD supports both handler styles, plugins
87
+ may choose to only implement one of the two (though this is not recommended). If
88
+ only the legacy handlers are implemented, the `SourceParser` class should force
89
+ the use of the legacy parser by setting the `parser_type` attribute as such:
90
+
91
+ YARD::Parser::SourceParser.parser_type = :ruby18
92
+
93
+ The default value is `:ruby`. Note that this cannot be forced the other way around,
94
+ a parser type of `:ruby` cannot be set under Ruby 1.8.x as the new parser is not
95
+ supported under 1.8.
96
+
97
+ ## RubyParser (the New Parser)
98
+
99
+ The new Ruby parser uses the Ripper library that is packaged as part of stdlib
100
+ in Ruby 1.9. Because of this, it can generate an AST from a string of Ruby input
101
+ that is similar to the style of other sexp libraries (such as ParseTree). Each
102
+ node generated in the tree is of the base type {YARD::Parser::Ruby::AstNode},
103
+ which has some subclasses for common node types.
104
+
105
+ ### AstNode Basics
106
+
107
+ The `AstNode` class behaves like a standard Array class in which all of its data
108
+ make up the list of elements in the array. Unlike other sexp style libraries, however,
109
+ the node type is not the first element of the list. Instead, the node type is defined
110
+ by the `#type` method. The following examples show some of the basic uses of `AstNode`:
111
+
112
+ # The sexp defines the statement `hello if 1`
113
+ node = s(:if_mod, s(:int, "1"), s(:var_ref, s(:ident, "hello")))
114
+ node.type #=> :if_mod
115
+ node[0] #=> s(:int, "1")
116
+ node[0][0] #=> "1"
117
+
118
+ (Note the `s()` syntax is shorthand for `AstNode.new(...)`. `s()` with no type
119
+ is shorthand for a node of type `:list`)
120
+
121
+ As shown, not all of the elements are AstNodes in themselves, some are String
122
+ objects containing values. A list of only the AstNodes within a node can be
123
+ accessed via the {YARD::Parser::Ruby::AstNode#children #children} method. Using
124
+ the sexp declared above, we can do:
125
+
126
+ node.children #=> [s(:int, "1"), s(:var_ref, s(:ident, "hello"))]
127
+
128
+ ### AstNode#source and #line
129
+
130
+ Every node defines the `#source` method which returns the source code that the
131
+ node represents. One of the most common things to do with a node is to grab its
132
+ source. The following example shows how this can be done:
133
+
134
+ source = "if 1 == 1 then\n raise Exception\n end"
135
+ ast = YARD::Parser::Ruby::RubyParser.parse(source).root
136
+ ast[0].condition.source #=> "1 == 1"
137
+ ast[0].then_block.source #=> "raise Exception"
138
+
139
+ Note that this only works on source parsed from the RubyParser, not sexps
140
+ declared using the `s()` syntax. This is because no source code is generated
141
+ or stored by nodes. Instead, only the character ranges are stored, which are
142
+ then looked up in the original full source string object. For example:
143
+
144
+ # Following the code snippet above
145
+ ast[0].then_block.source_range #=> 17..31
146
+
147
+ We can also get the line and line ranges in a similar fashion:
148
+
149
+ ast[0].type #=> :if
150
+ ast[0].line #=> 1
151
+ ast[0].line_range #=> 1..3 (note the newlines in the source)
152
+
153
+ ### AstNode#jump
154
+
155
+ Often the AST will be such that the node we care about might be buried arbitrarily
156
+ deep in a node's hierarchy. The {YARD::Parser::Ruby::AstNode#jump} method exists
157
+ to quickly get at a node of a specific type in such a situation:
158
+
159
+ # Get the first identifier in the statement
160
+ ast = s(s(:int, "1"), s(s(:var_ref, s(:ident, "hello"))))
161
+ ast.jump(:ident)[0] #=> "hello"
162
+
163
+ Multiple types can be searched for at once. If none are found, the original root
164
+ node is returned so that it may be chained.
165
+
166
+ ## The Legacy Parser
167
+
168
+ The goal of the legacy parser is much the same as the new parser, but it is far
169
+ more simplistic. Instead of a full-blown AST, the legacy parser simply groups
170
+ together lists of "statements" called a {YARD::Parser::Ruby::Legacy::StatementList}.
171
+ These statement lists are made up of {YARD::Parser::Ruby::Legacy::Statement} objects.
172
+ A statement is any method call condition, loop, or declaration. Each statement
173
+ may or may not have a block. In the case of a condition or loop, the block is
174
+ the inner list of statements; in the case of a method call, the block is a do
175
+ block (if provided). The statements themselves are made up of tokens, so instead
176
+ of being semantic in nature like the new parser, statements are tied directly
177
+ to the lexical tokens that make them up. To convert a statement into source, you
178
+ simply join all the tokens together (this is done through the use of `#to_s`).
179
+
180
+ Note that because there is little semantic parsing, the legacy parser is less
181
+ able to deal with certain Ruby syntaxes. Specifically, the `:if_mod` syntax
182
+ seen above ("hello if 1") would be considered two statements with the new parser,
183
+ but using the legacy parser it is only one statement:
184
+
185
+ stmts = ARD::Parser::Ruby::Legacy::StatementList.new("hello if 1")
186
+ stmts[0].block #=> nil
187
+ stmts[0].tokens.to_s #=> "hello if 1"
188
+
189
+ In addition, this means that most handling still needs to be done via string
190
+ manipulation and regular expression matching, making it considerably more
191
+ difficult to use in edge case scenarios.