ruby_on_ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (493) hide show
  1. data/.gitignore +18 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +22 -0
  5. data/README.md +66 -0
  6. data/Rakefile +1 -0
  7. data/lib/ruby_on_ruby.rb +5 -0
  8. data/lib/ruby_on_ruby/console.rb +7 -0
  9. data/lib/ruby_on_ruby/context.rb +33 -0
  10. data/lib/ruby_on_ruby/file_loader.rb +31 -0
  11. data/lib/ruby_on_ruby/ruby_stream.rb +27 -0
  12. data/lib/ruby_on_ruby/version.rb +3 -0
  13. data/lib/rubyonruby.rb +1 -0
  14. data/ruby_in_ruby.gemspec +19 -0
  15. data/vendor/javascripts/emscripted-ruby/lib/.document +106 -0
  16. data/vendor/javascripts/emscripted-ruby/lib/English.rb +155 -0
  17. data/vendor/javascripts/emscripted-ruby/lib/Env.rb +18 -0
  18. data/vendor/javascripts/emscripted-ruby/lib/README +96 -0
  19. data/vendor/javascripts/emscripted-ruby/lib/abbrev.rb +103 -0
  20. data/vendor/javascripts/emscripted-ruby/lib/base64.rb +133 -0
  21. data/vendor/javascripts/emscripted-ruby/lib/benchmark.rb +572 -0
  22. data/vendor/javascripts/emscripted-ruby/lib/cgi-lib.rb +272 -0
  23. data/vendor/javascripts/emscripted-ruby/lib/cgi.rb +2308 -0
  24. data/vendor/javascripts/emscripted-ruby/lib/cgi/.document +2 -0
  25. data/vendor/javascripts/emscripted-ruby/lib/cgi/session.rb +498 -0
  26. data/vendor/javascripts/emscripted-ruby/lib/cgi/session/pstore.rb +111 -0
  27. data/vendor/javascripts/emscripted-ruby/lib/complex.rb +663 -0
  28. data/vendor/javascripts/emscripted-ruby/lib/csv.rb +992 -0
  29. data/vendor/javascripts/emscripted-ruby/lib/date.rb +1767 -0
  30. data/vendor/javascripts/emscripted-ruby/lib/date/format.rb +1190 -0
  31. data/vendor/javascripts/emscripted-ruby/lib/date2.rb +5 -0
  32. data/vendor/javascripts/emscripted-ruby/lib/debug.rb +947 -0
  33. data/vendor/javascripts/emscripted-ruby/lib/delegate.rb +337 -0
  34. data/vendor/javascripts/emscripted-ruby/lib/drb.rb +2 -0
  35. data/vendor/javascripts/emscripted-ruby/lib/drb/acl.rb +146 -0
  36. data/vendor/javascripts/emscripted-ruby/lib/drb/drb.rb +1782 -0
  37. data/vendor/javascripts/emscripted-ruby/lib/drb/eq.rb +16 -0
  38. data/vendor/javascripts/emscripted-ruby/lib/drb/extserv.rb +64 -0
  39. data/vendor/javascripts/emscripted-ruby/lib/drb/extservm.rb +89 -0
  40. data/vendor/javascripts/emscripted-ruby/lib/drb/gw.rb +122 -0
  41. data/vendor/javascripts/emscripted-ruby/lib/drb/invokemethod.rb +36 -0
  42. data/vendor/javascripts/emscripted-ruby/lib/drb/observer.rb +22 -0
  43. data/vendor/javascripts/emscripted-ruby/lib/drb/ssl.rb +190 -0
  44. data/vendor/javascripts/emscripted-ruby/lib/drb/timeridconv.rb +91 -0
  45. data/vendor/javascripts/emscripted-ruby/lib/drb/unix.rb +108 -0
  46. data/vendor/javascripts/emscripted-ruby/lib/e2mmap.rb +195 -0
  47. data/vendor/javascripts/emscripted-ruby/lib/erb.rb +880 -0
  48. data/vendor/javascripts/emscripted-ruby/lib/eregex.rb +37 -0
  49. data/vendor/javascripts/emscripted-ruby/lib/fileutils.rb +1591 -0
  50. data/vendor/javascripts/emscripted-ruby/lib/finalize.rb +193 -0
  51. data/vendor/javascripts/emscripted-ruby/lib/find.rb +79 -0
  52. data/vendor/javascripts/emscripted-ruby/lib/forwardable.rb +218 -0
  53. data/vendor/javascripts/emscripted-ruby/lib/ftools.rb +261 -0
  54. data/vendor/javascripts/emscripted-ruby/lib/generator.rb +418 -0
  55. data/vendor/javascripts/emscripted-ruby/lib/getoptlong.rb +621 -0
  56. data/vendor/javascripts/emscripted-ruby/lib/getopts.rb +127 -0
  57. data/vendor/javascripts/emscripted-ruby/lib/gserver.rb +253 -0
  58. data/vendor/javascripts/emscripted-ruby/lib/importenv.rb +33 -0
  59. data/vendor/javascripts/emscripted-ruby/lib/ipaddr.rb +814 -0
  60. data/vendor/javascripts/emscripted-ruby/lib/irb.rb +346 -0
  61. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/chws.rb +33 -0
  62. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/fork.rb +39 -0
  63. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/help.rb +34 -0
  64. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/load.rb +67 -0
  65. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/nop.rb +39 -0
  66. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/pushws.rb +39 -0
  67. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/subirb.rb +43 -0
  68. data/vendor/javascripts/emscripted-ruby/lib/irb/completion.rb +205 -0
  69. data/vendor/javascripts/emscripted-ruby/lib/irb/context.rb +255 -0
  70. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/change-ws.rb +62 -0
  71. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/history.rb +110 -0
  72. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/loader.rb +120 -0
  73. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/math-mode.rb +37 -0
  74. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/multi-irb.rb +241 -0
  75. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/save-history.rb +85 -0
  76. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/tracer.rb +61 -0
  77. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/use-loader.rb +65 -0
  78. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/workspaces.rb +56 -0
  79. data/vendor/javascripts/emscripted-ruby/lib/irb/extend-command.rb +264 -0
  80. data/vendor/javascripts/emscripted-ruby/lib/irb/frame.rb +67 -0
  81. data/vendor/javascripts/emscripted-ruby/lib/irb/help.rb +33 -0
  82. data/vendor/javascripts/emscripted-ruby/lib/irb/init.rb +259 -0
  83. data/vendor/javascripts/emscripted-ruby/lib/irb/input-method.rb +120 -0
  84. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/error.rb +30 -0
  85. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/help-message +35 -0
  86. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/error.rb +27 -0
  87. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/help-message +36 -0
  88. data/vendor/javascripts/emscripted-ruby/lib/irb/locale.rb +184 -0
  89. data/vendor/javascripts/emscripted-ruby/lib/irb/notifier.rb +145 -0
  90. data/vendor/javascripts/emscripted-ruby/lib/irb/output-method.rb +85 -0
  91. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-lex.rb +1149 -0
  92. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-token.rb +273 -0
  93. data/vendor/javascripts/emscripted-ruby/lib/irb/slex.rb +285 -0
  94. data/vendor/javascripts/emscripted-ruby/lib/irb/version.rb +16 -0
  95. data/vendor/javascripts/emscripted-ruby/lib/irb/workspace.rb +107 -0
  96. data/vendor/javascripts/emscripted-ruby/lib/irb/ws-for-case-2.rb +15 -0
  97. data/vendor/javascripts/emscripted-ruby/lib/irb/xmp.rb +86 -0
  98. data/vendor/javascripts/emscripted-ruby/lib/jcode.rb +220 -0
  99. data/vendor/javascripts/emscripted-ruby/lib/logger.rb +703 -0
  100. data/vendor/javascripts/emscripted-ruby/lib/mailread.rb +62 -0
  101. data/vendor/javascripts/emscripted-ruby/lib/mathn.rb +308 -0
  102. data/vendor/javascripts/emscripted-ruby/lib/matrix.rb +1278 -0
  103. data/vendor/javascripts/emscripted-ruby/lib/mkmf.rb +1811 -0
  104. data/vendor/javascripts/emscripted-ruby/lib/monitor.rb +352 -0
  105. data/vendor/javascripts/emscripted-ruby/lib/mutex_m.rb +122 -0
  106. data/vendor/javascripts/emscripted-ruby/lib/net/ftp.rb +927 -0
  107. data/vendor/javascripts/emscripted-ruby/lib/net/http.rb +2277 -0
  108. data/vendor/javascripts/emscripted-ruby/lib/net/https.rb +173 -0
  109. data/vendor/javascripts/emscripted-ruby/lib/net/imap.rb +3371 -0
  110. data/vendor/javascripts/emscripted-ruby/lib/net/pop.rb +999 -0
  111. data/vendor/javascripts/emscripted-ruby/lib/net/protocol.rb +392 -0
  112. data/vendor/javascripts/emscripted-ruby/lib/net/smtp.rb +1014 -0
  113. data/vendor/javascripts/emscripted-ruby/lib/net/telnet.rb +756 -0
  114. data/vendor/javascripts/emscripted-ruby/lib/observer.rb +192 -0
  115. data/vendor/javascripts/emscripted-ruby/lib/open-uri.rb +678 -0
  116. data/vendor/javascripts/emscripted-ruby/lib/open3.rb +101 -0
  117. data/vendor/javascripts/emscripted-ruby/lib/optparse.rb +1790 -0
  118. data/vendor/javascripts/emscripted-ruby/lib/optparse/date.rb +17 -0
  119. data/vendor/javascripts/emscripted-ruby/lib/optparse/shellwords.rb +6 -0
  120. data/vendor/javascripts/emscripted-ruby/lib/optparse/time.rb +10 -0
  121. data/vendor/javascripts/emscripted-ruby/lib/optparse/uri.rb +6 -0
  122. data/vendor/javascripts/emscripted-ruby/lib/optparse/version.rb +70 -0
  123. data/vendor/javascripts/emscripted-ruby/lib/ostruct.rb +146 -0
  124. data/vendor/javascripts/emscripted-ruby/lib/parsearg.rb +87 -0
  125. data/vendor/javascripts/emscripted-ruby/lib/parsedate.rb +53 -0
  126. data/vendor/javascripts/emscripted-ruby/lib/pathname.rb +1062 -0
  127. data/vendor/javascripts/emscripted-ruby/lib/ping.rb +64 -0
  128. data/vendor/javascripts/emscripted-ruby/lib/pp.rb +654 -0
  129. data/vendor/javascripts/emscripted-ruby/lib/prettyprint.rb +896 -0
  130. data/vendor/javascripts/emscripted-ruby/lib/profile.rb +6 -0
  131. data/vendor/javascripts/emscripted-ruby/lib/profiler.rb +59 -0
  132. data/vendor/javascripts/emscripted-ruby/lib/pstore.rb +395 -0
  133. data/vendor/javascripts/emscripted-ruby/lib/racc/parser.rb +442 -0
  134. data/vendor/javascripts/emscripted-ruby/lib/rational.rb +564 -0
  135. data/vendor/javascripts/emscripted-ruby/lib/readbytes.rb +41 -0
  136. data/vendor/javascripts/emscripted-ruby/lib/resolv-replace.rb +62 -0
  137. data/vendor/javascripts/emscripted-ruby/lib/resolv.rb +2210 -0
  138. data/vendor/javascripts/emscripted-ruby/lib/rexml/attlistdecl.rb +62 -0
  139. data/vendor/javascripts/emscripted-ruby/lib/rexml/attribute.rb +185 -0
  140. data/vendor/javascripts/emscripted-ruby/lib/rexml/cdata.rb +67 -0
  141. data/vendor/javascripts/emscripted-ruby/lib/rexml/child.rb +96 -0
  142. data/vendor/javascripts/emscripted-ruby/lib/rexml/comment.rb +80 -0
  143. data/vendor/javascripts/emscripted-ruby/lib/rexml/doctype.rb +271 -0
  144. data/vendor/javascripts/emscripted-ruby/lib/rexml/document.rb +208 -0
  145. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/attlistdecl.rb +10 -0
  146. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/dtd.rb +51 -0
  147. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/elementdecl.rb +17 -0
  148. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/entitydecl.rb +56 -0
  149. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/notationdecl.rb +39 -0
  150. data/vendor/javascripts/emscripted-ruby/lib/rexml/element.rb +1227 -0
  151. data/vendor/javascripts/emscripted-ruby/lib/rexml/encoding.rb +71 -0
  152. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/CP-1252.rb +103 -0
  153. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/EUC-JP.rb +35 -0
  154. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ICONV.rb +22 -0
  155. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-1.rb +7 -0
  156. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-15.rb +72 -0
  157. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT-JIS.rb +37 -0
  158. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT_JIS.rb +1 -0
  159. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UNILE.rb +34 -0
  160. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/US-ASCII.rb +30 -0
  161. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-16.rb +35 -0
  162. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-8.rb +18 -0
  163. data/vendor/javascripts/emscripted-ruby/lib/rexml/entity.rb +165 -0
  164. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/default.rb +109 -0
  165. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/pretty.rb +137 -0
  166. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/transitive.rb +56 -0
  167. data/vendor/javascripts/emscripted-ruby/lib/rexml/functions.rb +382 -0
  168. data/vendor/javascripts/emscripted-ruby/lib/rexml/instruction.rb +70 -0
  169. data/vendor/javascripts/emscripted-ruby/lib/rexml/light/node.rb +196 -0
  170. data/vendor/javascripts/emscripted-ruby/lib/rexml/namespace.rb +47 -0
  171. data/vendor/javascripts/emscripted-ruby/lib/rexml/node.rb +75 -0
  172. data/vendor/javascripts/emscripted-ruby/lib/rexml/output.rb +24 -0
  173. data/vendor/javascripts/emscripted-ruby/lib/rexml/parent.rb +166 -0
  174. data/vendor/javascripts/emscripted-ruby/lib/rexml/parseexception.rb +51 -0
  175. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/baseparser.rb +503 -0
  176. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/lightparser.rb +60 -0
  177. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/pullparser.rb +196 -0
  178. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/sax2parser.rb +238 -0
  179. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/streamparser.rb +46 -0
  180. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/treeparser.rb +97 -0
  181. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/ultralightparser.rb +56 -0
  182. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/xpathparser.rb +698 -0
  183. data/vendor/javascripts/emscripted-ruby/lib/rexml/quickpath.rb +266 -0
  184. data/vendor/javascripts/emscripted-ruby/lib/rexml/rexml.rb +32 -0
  185. data/vendor/javascripts/emscripted-ruby/lib/rexml/sax2listener.rb +97 -0
  186. data/vendor/javascripts/emscripted-ruby/lib/rexml/source.rb +251 -0
  187. data/vendor/javascripts/emscripted-ruby/lib/rexml/streamlistener.rb +92 -0
  188. data/vendor/javascripts/emscripted-ruby/lib/rexml/syncenumerator.rb +33 -0
  189. data/vendor/javascripts/emscripted-ruby/lib/rexml/text.rb +344 -0
  190. data/vendor/javascripts/emscripted-ruby/lib/rexml/undefinednamespaceexception.rb +8 -0
  191. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/relaxng.rb +559 -0
  192. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validation.rb +155 -0
  193. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validationexception.rb +9 -0
  194. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmldecl.rb +119 -0
  195. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmltokens.rb +18 -0
  196. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath.rb +66 -0
  197. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath_parser.rb +792 -0
  198. data/vendor/javascripts/emscripted-ruby/lib/rinda/rinda.rb +283 -0
  199. data/vendor/javascripts/emscripted-ruby/lib/rinda/ring.rb +271 -0
  200. data/vendor/javascripts/emscripted-ruby/lib/rinda/tuplespace.rb +642 -0
  201. data/vendor/javascripts/emscripted-ruby/lib/rss.rb +19 -0
  202. data/vendor/javascripts/emscripted-ruby/lib/rss/0.9.rb +428 -0
  203. data/vendor/javascripts/emscripted-ruby/lib/rss/1.0.rb +452 -0
  204. data/vendor/javascripts/emscripted-ruby/lib/rss/2.0.rb +111 -0
  205. data/vendor/javascripts/emscripted-ruby/lib/rss/atom.rb +749 -0
  206. data/vendor/javascripts/emscripted-ruby/lib/rss/content.rb +31 -0
  207. data/vendor/javascripts/emscripted-ruby/lib/rss/content/1.0.rb +10 -0
  208. data/vendor/javascripts/emscripted-ruby/lib/rss/content/2.0.rb +12 -0
  209. data/vendor/javascripts/emscripted-ruby/lib/rss/converter.rb +162 -0
  210. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore.rb +161 -0
  211. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/1.0.rb +13 -0
  212. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/2.0.rb +13 -0
  213. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/atom.rb +17 -0
  214. data/vendor/javascripts/emscripted-ruby/lib/rss/image.rb +193 -0
  215. data/vendor/javascripts/emscripted-ruby/lib/rss/itunes.rb +410 -0
  216. data/vendor/javascripts/emscripted-ruby/lib/rss/maker.rb +44 -0
  217. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/0.9.rb +467 -0
  218. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/1.0.rb +434 -0
  219. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/2.0.rb +223 -0
  220. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/atom.rb +172 -0
  221. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/base.rb +868 -0
  222. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/content.rb +21 -0
  223. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/dublincore.rb +124 -0
  224. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/entry.rb +163 -0
  225. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/feed.rb +429 -0
  226. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/image.rb +111 -0
  227. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/itunes.rb +242 -0
  228. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/slash.rb +33 -0
  229. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/syndication.rb +18 -0
  230. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/taxonomy.rb +118 -0
  231. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/trackback.rb +61 -0
  232. data/vendor/javascripts/emscripted-ruby/lib/rss/parser.rb +541 -0
  233. data/vendor/javascripts/emscripted-ruby/lib/rss/rexmlparser.rb +54 -0
  234. data/vendor/javascripts/emscripted-ruby/lib/rss/rss.rb +1312 -0
  235. data/vendor/javascripts/emscripted-ruby/lib/rss/slash.rb +49 -0
  236. data/vendor/javascripts/emscripted-ruby/lib/rss/syndication.rb +67 -0
  237. data/vendor/javascripts/emscripted-ruby/lib/rss/taxonomy.rb +145 -0
  238. data/vendor/javascripts/emscripted-ruby/lib/rss/trackback.rb +288 -0
  239. data/vendor/javascripts/emscripted-ruby/lib/rss/utils.rb +111 -0
  240. data/vendor/javascripts/emscripted-ruby/lib/rss/xml-stylesheet.rb +105 -0
  241. data/vendor/javascripts/emscripted-ruby/lib/rss/xml.rb +71 -0
  242. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlparser.rb +93 -0
  243. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlscanner.rb +121 -0
  244. data/vendor/javascripts/emscripted-ruby/lib/rubyunit.rb +6 -0
  245. data/vendor/javascripts/emscripted-ruby/lib/runit/assert.rb +73 -0
  246. data/vendor/javascripts/emscripted-ruby/lib/runit/cui/testrunner.rb +51 -0
  247. data/vendor/javascripts/emscripted-ruby/lib/runit/error.rb +9 -0
  248. data/vendor/javascripts/emscripted-ruby/lib/runit/testcase.rb +45 -0
  249. data/vendor/javascripts/emscripted-ruby/lib/runit/testresult.rb +44 -0
  250. data/vendor/javascripts/emscripted-ruby/lib/runit/testsuite.rb +26 -0
  251. data/vendor/javascripts/emscripted-ruby/lib/runit/topublic.rb +8 -0
  252. data/vendor/javascripts/emscripted-ruby/lib/scanf.rb +702 -0
  253. data/vendor/javascripts/emscripted-ruby/lib/securerandom.rb +137 -0
  254. data/vendor/javascripts/emscripted-ruby/lib/set.rb +1233 -0
  255. data/vendor/javascripts/emscripted-ruby/lib/shell.rb +269 -0
  256. data/vendor/javascripts/emscripted-ruby/lib/shell/builtin-command.rb +154 -0
  257. data/vendor/javascripts/emscripted-ruby/lib/shell/command-processor.rb +592 -0
  258. data/vendor/javascripts/emscripted-ruby/lib/shell/error.rb +26 -0
  259. data/vendor/javascripts/emscripted-ruby/lib/shell/filter.rb +110 -0
  260. data/vendor/javascripts/emscripted-ruby/lib/shell/process-controller.rb +260 -0
  261. data/vendor/javascripts/emscripted-ruby/lib/shell/system-command.rb +168 -0
  262. data/vendor/javascripts/emscripted-ruby/lib/shell/version.rb +16 -0
  263. data/vendor/javascripts/emscripted-ruby/lib/shellwords.rb +172 -0
  264. data/vendor/javascripts/emscripted-ruby/lib/singleton.rb +360 -0
  265. data/vendor/javascripts/emscripted-ruby/lib/soap/attachment.rb +107 -0
  266. data/vendor/javascripts/emscripted-ruby/lib/soap/baseData.rb +942 -0
  267. data/vendor/javascripts/emscripted-ruby/lib/soap/element.rb +258 -0
  268. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/aspDotNetHandler.rb +213 -0
  269. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/handler.rb +100 -0
  270. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/literalHandler.rb +226 -0
  271. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/soapHandler.rb +582 -0
  272. data/vendor/javascripts/emscripted-ruby/lib/soap/generator.rb +268 -0
  273. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handler.rb +57 -0
  274. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handlerset.rb +70 -0
  275. data/vendor/javascripts/emscripted-ruby/lib/soap/header/simplehandler.rb +44 -0
  276. data/vendor/javascripts/emscripted-ruby/lib/soap/httpconfigloader.rb +119 -0
  277. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping.rb +10 -0
  278. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/factory.rb +355 -0
  279. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/mapping.rb +381 -0
  280. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/registry.rb +541 -0
  281. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/rubytypeFactory.rb +475 -0
  282. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/typeMap.rb +50 -0
  283. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlencodedregistry.rb +280 -0
  284. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlliteralregistry.rb +418 -0
  285. data/vendor/javascripts/emscripted-ruby/lib/soap/marshal.rb +59 -0
  286. data/vendor/javascripts/emscripted-ruby/lib/soap/mimemessage.rb +240 -0
  287. data/vendor/javascripts/emscripted-ruby/lib/soap/netHttpClient.rb +190 -0
  288. data/vendor/javascripts/emscripted-ruby/lib/soap/parser.rb +251 -0
  289. data/vendor/javascripts/emscripted-ruby/lib/soap/processor.rb +66 -0
  290. data/vendor/javascripts/emscripted-ruby/lib/soap/property.rb +333 -0
  291. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/cgistub.rb +206 -0
  292. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/driver.rb +254 -0
  293. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/element.rb +325 -0
  294. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/httpserver.rb +129 -0
  295. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/proxy.rb +497 -0
  296. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/router.rb +594 -0
  297. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/rpc.rb +25 -0
  298. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/soaplet.rb +162 -0
  299. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/standaloneServer.rb +43 -0
  300. data/vendor/javascripts/emscripted-ruby/lib/soap/soap.rb +140 -0
  301. data/vendor/javascripts/emscripted-ruby/lib/soap/streamHandler.rb +229 -0
  302. data/vendor/javascripts/emscripted-ruby/lib/soap/wsdlDriver.rb +575 -0
  303. data/vendor/javascripts/emscripted-ruby/lib/sync.rb +311 -0
  304. data/vendor/javascripts/emscripted-ruby/lib/tempfile.rb +209 -0
  305. data/vendor/javascripts/emscripted-ruby/lib/test/unit.rb +280 -0
  306. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertionfailederror.rb +14 -0
  307. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertions.rb +622 -0
  308. data/vendor/javascripts/emscripted-ruby/lib/test/unit/autorunner.rb +220 -0
  309. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector.rb +43 -0
  310. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/dir.rb +107 -0
  311. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/objectspace.rb +34 -0
  312. data/vendor/javascripts/emscripted-ruby/lib/test/unit/error.rb +56 -0
  313. data/vendor/javascripts/emscripted-ruby/lib/test/unit/failure.rb +51 -0
  314. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testcase.rb +160 -0
  315. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testresult.rb +80 -0
  316. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testsuite.rb +76 -0
  317. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/console/testrunner.rb +127 -0
  318. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/fox/testrunner.rb +268 -0
  319. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk/testrunner.rb +416 -0
  320. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk2/testrunner.rb +465 -0
  321. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnermediator.rb +68 -0
  322. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnerutilities.rb +46 -0
  323. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/tk/testrunner.rb +260 -0
  324. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/backtracefilter.rb +40 -0
  325. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/observable.rb +90 -0
  326. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/procwrapper.rb +48 -0
  327. data/vendor/javascripts/emscripted-ruby/lib/thread.rb +479 -0
  328. data/vendor/javascripts/emscripted-ruby/lib/thwait.rb +169 -0
  329. data/vendor/javascripts/emscripted-ruby/lib/time.rb +797 -0
  330. data/vendor/javascripts/emscripted-ruby/lib/timeout.rb +122 -0
  331. data/vendor/javascripts/emscripted-ruby/lib/tmpdir.rb +130 -0
  332. data/vendor/javascripts/emscripted-ruby/lib/tracer.rb +167 -0
  333. data/vendor/javascripts/emscripted-ruby/lib/tsort.rb +290 -0
  334. data/vendor/javascripts/emscripted-ruby/lib/un.rb +235 -0
  335. data/vendor/javascripts/emscripted-ruby/lib/uri.rb +29 -0
  336. data/vendor/javascripts/emscripted-ruby/lib/uri/common.rb +611 -0
  337. data/vendor/javascripts/emscripted-ruby/lib/uri/ftp.rb +198 -0
  338. data/vendor/javascripts/emscripted-ruby/lib/uri/generic.rb +1122 -0
  339. data/vendor/javascripts/emscripted-ruby/lib/uri/http.rb +100 -0
  340. data/vendor/javascripts/emscripted-ruby/lib/uri/https.rb +20 -0
  341. data/vendor/javascripts/emscripted-ruby/lib/uri/ldap.rb +190 -0
  342. data/vendor/javascripts/emscripted-ruby/lib/uri/ldaps.rb +12 -0
  343. data/vendor/javascripts/emscripted-ruby/lib/uri/mailto.rb +266 -0
  344. data/vendor/javascripts/emscripted-ruby/lib/weakref.rb +100 -0
  345. data/vendor/javascripts/emscripted-ruby/lib/webrick.rb +29 -0
  346. data/vendor/javascripts/emscripted-ruby/lib/webrick/accesslog.rb +67 -0
  347. data/vendor/javascripts/emscripted-ruby/lib/webrick/cgi.rb +257 -0
  348. data/vendor/javascripts/emscripted-ruby/lib/webrick/compat.rb +15 -0
  349. data/vendor/javascripts/emscripted-ruby/lib/webrick/config.rb +97 -0
  350. data/vendor/javascripts/emscripted-ruby/lib/webrick/cookie.rb +110 -0
  351. data/vendor/javascripts/emscripted-ruby/lib/webrick/htmlutils.rb +25 -0
  352. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth.rb +45 -0
  353. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/authenticator.rb +79 -0
  354. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/basicauth.rb +65 -0
  355. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/digestauth.rb +343 -0
  356. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htdigest.rb +91 -0
  357. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htgroup.rb +61 -0
  358. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htpasswd.rb +83 -0
  359. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/userdb.rb +29 -0
  360. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpproxy.rb +254 -0
  361. data/vendor/javascripts/emscripted-ruby/lib/webrick/httprequest.rb +365 -0
  362. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpresponse.rb +327 -0
  363. data/vendor/javascripts/emscripted-ruby/lib/webrick/https.rb +63 -0
  364. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpserver.rb +210 -0
  365. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet.rb +22 -0
  366. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/abstract.rb +71 -0
  367. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  368. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgihandler.rb +108 -0
  369. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/erbhandler.rb +54 -0
  370. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/filehandler.rb +435 -0
  371. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/prochandler.rb +33 -0
  372. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpstatus.rb +126 -0
  373. data/vendor/javascripts/emscripted-ruby/lib/webrick/httputils.rb +399 -0
  374. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpversion.rb +49 -0
  375. data/vendor/javascripts/emscripted-ruby/lib/webrick/log.rb +88 -0
  376. data/vendor/javascripts/emscripted-ruby/lib/webrick/server.rb +200 -0
  377. data/vendor/javascripts/emscripted-ruby/lib/webrick/ssl.rb +126 -0
  378. data/vendor/javascripts/emscripted-ruby/lib/webrick/utils.rb +100 -0
  379. data/vendor/javascripts/emscripted-ruby/lib/webrick/version.rb +13 -0
  380. data/vendor/javascripts/emscripted-ruby/lib/wsdl/binding.rb +65 -0
  381. data/vendor/javascripts/emscripted-ruby/lib/wsdl/data.rb +64 -0
  382. data/vendor/javascripts/emscripted-ruby/lib/wsdl/definitions.rb +250 -0
  383. data/vendor/javascripts/emscripted-ruby/lib/wsdl/documentation.rb +32 -0
  384. data/vendor/javascripts/emscripted-ruby/lib/wsdl/import.rb +80 -0
  385. data/vendor/javascripts/emscripted-ruby/lib/wsdl/importer.rb +38 -0
  386. data/vendor/javascripts/emscripted-ruby/lib/wsdl/info.rb +39 -0
  387. data/vendor/javascripts/emscripted-ruby/lib/wsdl/message.rb +54 -0
  388. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operation.rb +130 -0
  389. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operationBinding.rb +108 -0
  390. data/vendor/javascripts/emscripted-ruby/lib/wsdl/param.rb +85 -0
  391. data/vendor/javascripts/emscripted-ruby/lib/wsdl/parser.rb +163 -0
  392. data/vendor/javascripts/emscripted-ruby/lib/wsdl/part.rb +52 -0
  393. data/vendor/javascripts/emscripted-ruby/lib/wsdl/port.rb +84 -0
  394. data/vendor/javascripts/emscripted-ruby/lib/wsdl/portType.rb +73 -0
  395. data/vendor/javascripts/emscripted-ruby/lib/wsdl/service.rb +61 -0
  396. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/address.rb +40 -0
  397. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/binding.rb +49 -0
  398. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/body.rb +56 -0
  399. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/cgiStubCreator.rb +76 -0
  400. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreator.rb +314 -0
  401. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreatorSupport.rb +126 -0
  402. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/clientSkeltonCreator.rb +78 -0
  403. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/complexType.rb +161 -0
  404. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/data.rb +42 -0
  405. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/definitions.rb +149 -0
  406. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/driverCreator.rb +95 -0
  407. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/element.rb +28 -0
  408. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/fault.rb +56 -0
  409. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/header.rb +86 -0
  410. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/headerfault.rb +56 -0
  411. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/mappingRegistryCreator.rb +92 -0
  412. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/methodDefCreator.rb +228 -0
  413. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/operation.rb +122 -0
  414. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/servantSkeltonCreator.rb +67 -0
  415. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/standaloneServerStubCreator.rb +85 -0
  416. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/wsdl2ruby.rb +176 -0
  417. data/vendor/javascripts/emscripted-ruby/lib/wsdl/types.rb +43 -0
  418. data/vendor/javascripts/emscripted-ruby/lib/wsdl/wsdl.rb +23 -0
  419. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/all.rb +69 -0
  420. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/annotation.rb +34 -0
  421. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/any.rb +56 -0
  422. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/attribute.rb +127 -0
  423. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/choice.rb +69 -0
  424. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexContent.rb +92 -0
  425. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexType.rb +139 -0
  426. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/content.rb +96 -0
  427. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/data.rb +80 -0
  428. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/element.rb +154 -0
  429. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  430. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/import.rb +65 -0
  431. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/importer.rb +87 -0
  432. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/include.rb +54 -0
  433. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/length.rb +35 -0
  434. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/parser.rb +166 -0
  435. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/pattern.rb +36 -0
  436. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/schema.rb +143 -0
  437. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/sequence.rb +69 -0
  438. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleContent.rb +65 -0
  439. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  440. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleRestriction.rb +73 -0
  441. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleType.rb +73 -0
  442. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/unique.rb +34 -0
  443. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  444. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/.document +1 -0
  445. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/README.txt +31 -0
  446. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/base64.rb +81 -0
  447. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/client.rb +624 -0
  448. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/config.rb +40 -0
  449. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/create.rb +290 -0
  450. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/datetime.rb +142 -0
  451. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/httpserver.rb +178 -0
  452. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/marshal.rb +76 -0
  453. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/parser.rb +813 -0
  454. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/server.rb +780 -0
  455. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/utils.rb +165 -0
  456. data/vendor/javascripts/emscripted-ruby/lib/xsd/charset.rb +187 -0
  457. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen.rb +12 -0
  458. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/classdef.rb +203 -0
  459. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/commentdef.rb +34 -0
  460. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/gensupport.rb +166 -0
  461. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/methoddef.rb +63 -0
  462. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/moduledef.rb +191 -0
  463. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes.rb +1269 -0
  464. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes1999.rb +20 -0
  465. data/vendor/javascripts/emscripted-ruby/lib/xsd/iconvcharset.rb +33 -0
  466. data/vendor/javascripts/emscripted-ruby/lib/xsd/mapping.rb +42 -0
  467. data/vendor/javascripts/emscripted-ruby/lib/xsd/namedelements.rb +95 -0
  468. data/vendor/javascripts/emscripted-ruby/lib/xsd/ns.rb +140 -0
  469. data/vendor/javascripts/emscripted-ruby/lib/xsd/qname.rb +78 -0
  470. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser.rb +61 -0
  471. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/parser.rb +96 -0
  472. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  473. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlparser.rb +50 -0
  474. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  475. data/vendor/javascripts/emscripted-ruby/lib/yaml.rb +440 -0
  476. data/vendor/javascripts/emscripted-ruby/lib/yaml/baseemitter.rb +247 -0
  477. data/vendor/javascripts/emscripted-ruby/lib/yaml/basenode.rb +216 -0
  478. data/vendor/javascripts/emscripted-ruby/lib/yaml/constants.rb +45 -0
  479. data/vendor/javascripts/emscripted-ruby/lib/yaml/dbm.rb +111 -0
  480. data/vendor/javascripts/emscripted-ruby/lib/yaml/encoding.rb +33 -0
  481. data/vendor/javascripts/emscripted-ruby/lib/yaml/error.rb +34 -0
  482. data/vendor/javascripts/emscripted-ruby/lib/yaml/loader.rb +14 -0
  483. data/vendor/javascripts/emscripted-ruby/lib/yaml/rubytypes.rb +408 -0
  484. data/vendor/javascripts/emscripted-ruby/lib/yaml/store.rb +43 -0
  485. data/vendor/javascripts/emscripted-ruby/lib/yaml/stream.rb +40 -0
  486. data/vendor/javascripts/emscripted-ruby/lib/yaml/stringio.rb +83 -0
  487. data/vendor/javascripts/emscripted-ruby/lib/yaml/syck.rb +19 -0
  488. data/vendor/javascripts/emscripted-ruby/lib/yaml/tag.rb +91 -0
  489. data/vendor/javascripts/emscripted-ruby/lib/yaml/types.rb +192 -0
  490. data/vendor/javascripts/emscripted-ruby/lib/yaml/yamlnode.rb +54 -0
  491. data/vendor/javascripts/emscripted-ruby/lib/yaml/ypath.rb +52 -0
  492. data/vendor/javascripts/emscripted-ruby/ruby.closure.js +7201 -0
  493. metadata +554 -0
@@ -0,0 +1,235 @@
1
+ #
2
+ # = un.rb
3
+ #
4
+ # Copyright (c) 2003 WATANABE Hirofumi <eban@ruby-lang.org>
5
+ #
6
+ # This program is free software.
7
+ # You can distribute/modify this program under the same terms of Ruby.
8
+ #
9
+ # == Utilities to replace common UNIX commands in Makefiles etc
10
+ #
11
+ # == SYNOPSIS
12
+ #
13
+ # ruby -run -e cp -- [OPTION] SOURCE DEST
14
+ # ruby -run -e ln -- [OPTION] TARGET LINK_NAME
15
+ # ruby -run -e mv -- [OPTION] SOURCE DEST
16
+ # ruby -run -e rm -- [OPTION] FILE
17
+ # ruby -run -e mkdir -- [OPTION] DIRS
18
+ # ruby -run -e rmdir -- [OPTION] DIRS
19
+ # ruby -run -e install -- [OPTION] SOURCE DEST
20
+ # ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE
21
+ # ruby -run -e touch -- [OPTION] FILE
22
+ # ruby -run -e help [COMMAND]
23
+
24
+ require "fileutils"
25
+ require "optparse"
26
+
27
+ module FileUtils
28
+ # @fileutils_label = ""
29
+ @fileutils_output = $stdout
30
+ end
31
+
32
+ def setup(options = "")
33
+ ARGV.map! do |x|
34
+ case x
35
+ when /^-/
36
+ x.delete "^-#{options}v"
37
+ when /[*?\[{]/
38
+ Dir[x]
39
+ else
40
+ x
41
+ end
42
+ end
43
+ ARGV.flatten!
44
+ ARGV.delete_if{|x| x == "-"}
45
+ opt_hash = {}
46
+ OptionParser.new do |o|
47
+ options.scan(/.:?/) do |s|
48
+ o.on("-" + s.tr(":", " ")) do |val|
49
+ opt_hash[s.delete(":").intern] = val
50
+ end
51
+ end
52
+ o.on("-v") do opt_hash[:verbose] = true end
53
+ o.parse!
54
+ end
55
+ yield ARGV, opt_hash
56
+ end
57
+
58
+ ##
59
+ # Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
60
+ #
61
+ # ruby -run -e cp -- [OPTION] SOURCE DEST
62
+ #
63
+ # -p preserve file attributes if possible
64
+ # -r copy recursively
65
+ # -v verbose
66
+ #
67
+
68
+ def cp
69
+ setup("pr") do |argv, options|
70
+ cmd = "cp"
71
+ cmd += "_r" if options.delete :r
72
+ options[:preserve] = true if options.delete :p
73
+ dest = argv.pop
74
+ argv = argv[0] if argv.size == 1
75
+ FileUtils.send cmd, argv, dest, options
76
+ end
77
+ end
78
+
79
+ ##
80
+ # Create a link to the specified TARGET with LINK_NAME.
81
+ #
82
+ # ruby -run -e ln -- [OPTION] TARGET LINK_NAME
83
+ #
84
+ # -s make symbolic links instead of hard links
85
+ # -f remove existing destination files
86
+ # -v verbose
87
+ #
88
+
89
+ def ln
90
+ setup("sf") do |argv, options|
91
+ cmd = "ln"
92
+ cmd += "_s" if options.delete :s
93
+ options[:force] = true if options.delete :f
94
+ dest = argv.pop
95
+ argv = argv[0] if argv.size == 1
96
+ FileUtils.send cmd, argv, dest, options
97
+ end
98
+ end
99
+
100
+ ##
101
+ # Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
102
+ #
103
+ # ruby -run -e mv -- [OPTION] SOURCE DEST
104
+ #
105
+ # -v verbose
106
+ #
107
+
108
+ def mv
109
+ setup do |argv, options|
110
+ dest = argv.pop
111
+ argv = argv[0] if argv.size == 1
112
+ FileUtils.mv argv, dest, options
113
+ end
114
+ end
115
+
116
+ ##
117
+ # Remove the FILE
118
+ #
119
+ # ruby -run -e rm -- [OPTION] FILE
120
+ #
121
+ # -f ignore nonexistent files
122
+ # -r remove the contents of directories recursively
123
+ # -v verbose
124
+ #
125
+
126
+ def rm
127
+ setup("fr") do |argv, options|
128
+ cmd = "rm"
129
+ cmd += "_r" if options.delete :r
130
+ options[:force] = true if options.delete :f
131
+ FileUtils.send cmd, argv, options
132
+ end
133
+ end
134
+
135
+ ##
136
+ # Create the DIR, if they do not already exist.
137
+ #
138
+ # ruby -run -e mkdir -- [OPTION] DIR
139
+ #
140
+ # -p no error if existing, make parent directories as needed
141
+ # -v verbose
142
+ #
143
+
144
+ def mkdir
145
+ setup("p") do |argv, options|
146
+ cmd = "mkdir"
147
+ cmd += "_p" if options.delete :p
148
+ FileUtils.send cmd, argv, options
149
+ end
150
+ end
151
+
152
+ ##
153
+ # Remove the DIR.
154
+ #
155
+ # ruby -run -e rmdir -- [OPTION] DIR
156
+ #
157
+ # -v verbose
158
+ #
159
+
160
+ def rmdir
161
+ setup do |argv, options|
162
+ FileUtils.rmdir argv, options
163
+ end
164
+ end
165
+
166
+ ##
167
+ # Copy SOURCE to DEST.
168
+ #
169
+ # ruby -run -e install -- [OPTION] SOURCE DEST
170
+ #
171
+ # -p apply access/modification times of SOURCE files to
172
+ # corresponding destination files
173
+ # -m set permission mode (as in chmod), instead of 0755
174
+ # -v verbose
175
+ #
176
+
177
+ def install
178
+ setup("pm:") do |argv, options|
179
+ options[:mode] = (mode = options.delete :m) ? mode.oct : 0755
180
+ options[:preserve] = true if options.delete :p
181
+ dest = argv.pop
182
+ argv = argv[0] if argv.size == 1
183
+ FileUtils.install argv, dest, options
184
+ end
185
+ end
186
+
187
+ ##
188
+ # Change the mode of each FILE to OCTAL-MODE.
189
+ #
190
+ # ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE
191
+ #
192
+ # -v verbose
193
+ #
194
+
195
+ def chmod
196
+ setup do |argv, options|
197
+ mode = argv.shift.oct
198
+ FileUtils.chmod mode, argv, options
199
+ end
200
+ end
201
+
202
+ ##
203
+ # Update the access and modification times of each FILE to the current time.
204
+ #
205
+ # ruby -run -e touch -- [OPTION] FILE
206
+ #
207
+ # -v verbose
208
+ #
209
+
210
+ def touch
211
+ setup do |argv, options|
212
+ FileUtils.touch argv, options
213
+ end
214
+ end
215
+
216
+ ##
217
+ # Display help message.
218
+ #
219
+ # ruby -run -e help [COMMAND]
220
+ #
221
+
222
+ def help
223
+ setup do |argv,|
224
+ all = argv.empty?
225
+ open(__FILE__) do |me|
226
+ while me.gets("##\n")
227
+ if help = me.gets("\n\n")
228
+ if all or argv.delete help[/-e \w+/].sub(/-e /, "")
229
+ print help.gsub(/^# ?/, "")
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
@@ -0,0 +1,29 @@
1
+ #
2
+ # URI support for Ruby
3
+ #
4
+ # Author:: Akira Yamada <akira@ruby-lang.org>
5
+ # Documentation:: Akira Yamada <akira@ruby-lang.org>, Dmitry V. Sabanin <sdmitry@lrn.ru>
6
+ # License::
7
+ # Copyright (c) 2001 akira yamada <akira@ruby-lang.org>
8
+ # You can redistribute it and/or modify it under the same term as Ruby.
9
+ # Revision:: $Id: uri.rb 16038 2008-04-15 09:41:47Z kazu $
10
+ #
11
+ # See URI for documentation
12
+ #
13
+
14
+ module URI
15
+ # :stopdoc:
16
+ VERSION_CODE = '000911'.freeze
17
+ VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
18
+ # :startdoc:
19
+
20
+ end
21
+
22
+ require 'uri/common'
23
+ require 'uri/generic'
24
+ require 'uri/ftp'
25
+ require 'uri/http'
26
+ require 'uri/https'
27
+ require 'uri/ldap'
28
+ require 'uri/ldaps'
29
+ require 'uri/mailto'
@@ -0,0 +1,611 @@
1
+ # = uri/common.rb
2
+ #
3
+ # Author:: Akira Yamada <akira@ruby-lang.org>
4
+ # Revision:: $Id: common.rb 14178 2007-12-10 09:31:55Z matz $
5
+ # License::
6
+ # You can redistribute it and/or modify it under the same term as Ruby.
7
+ #
8
+
9
+ module URI
10
+ module REGEXP
11
+ #
12
+ # Patterns used to parse URI's
13
+ #
14
+ module PATTERN
15
+ # :stopdoc:
16
+
17
+ # RFC 2396 (URI Generic Syntax)
18
+ # RFC 2732 (IPv6 Literal Addresses in URL's)
19
+ # RFC 2373 (IPv6 Addressing Architecture)
20
+
21
+ # alpha = lowalpha | upalpha
22
+ ALPHA = "a-zA-Z"
23
+ # alphanum = alpha | digit
24
+ ALNUM = "#{ALPHA}\\d"
25
+
26
+ # hex = digit | "A" | "B" | "C" | "D" | "E" | "F" |
27
+ # "a" | "b" | "c" | "d" | "e" | "f"
28
+ HEX = "a-fA-F\\d"
29
+ # escaped = "%" hex hex
30
+ ESCAPED = "%[#{HEX}]{2}"
31
+ # mark = "-" | "_" | "." | "!" | "~" | "*" | "'" |
32
+ # "(" | ")"
33
+ # unreserved = alphanum | mark
34
+ UNRESERVED = "-_.!~*'()#{ALNUM}"
35
+ # reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
36
+ # "$" | ","
37
+ # reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
38
+ # "$" | "," | "[" | "]" (RFC 2732)
39
+ RESERVED = ";/?:@&=+$,\\[\\]"
40
+
41
+ # uric = reserved | unreserved | escaped
42
+ URIC = "(?:[#{UNRESERVED}#{RESERVED}]|#{ESCAPED})"
43
+ # uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
44
+ # "&" | "=" | "+" | "$" | ","
45
+ URIC_NO_SLASH = "(?:[#{UNRESERVED};?:@&=+$,]|#{ESCAPED})"
46
+ # query = *uric
47
+ QUERY = "#{URIC}*"
48
+ # fragment = *uric
49
+ FRAGMENT = "#{URIC}*"
50
+
51
+ # domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
52
+ DOMLABEL = "(?:[#{ALNUM}](?:[-#{ALNUM}]*[#{ALNUM}])?)"
53
+ # toplabel = alpha | alpha *( alphanum | "-" ) alphanum
54
+ TOPLABEL = "(?:[#{ALPHA}](?:[-#{ALNUM}]*[#{ALNUM}])?)"
55
+ # hostname = *( domainlabel "." ) toplabel [ "." ]
56
+ HOSTNAME = "(?:#{DOMLABEL}\\.)*#{TOPLABEL}\\.?"
57
+
58
+ # RFC 2373, APPENDIX B:
59
+ # IPv6address = hexpart [ ":" IPv4address ]
60
+ # IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT
61
+ # hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ]
62
+ # hexseq = hex4 *( ":" hex4)
63
+ # hex4 = 1*4HEXDIG
64
+ #
65
+ # XXX: This definition has a flaw. "::" + IPv4address must be
66
+ # allowed too. Here is a replacement.
67
+ #
68
+ # IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT
69
+ IPV4ADDR = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"
70
+ # hex4 = 1*4HEXDIG
71
+ HEX4 = "[#{HEX}]{1,4}"
72
+ # lastpart = hex4 | IPv4address
73
+ LASTPART = "(?:#{HEX4}|#{IPV4ADDR})"
74
+ # hexseq1 = *( hex4 ":" ) hex4
75
+ HEXSEQ1 = "(?:#{HEX4}:)*#{HEX4}"
76
+ # hexseq2 = *( hex4 ":" ) lastpart
77
+ HEXSEQ2 = "(?:#{HEX4}:)*#{LASTPART}"
78
+ # IPv6address = hexseq2 | [ hexseq1 ] "::" [ hexseq2 ]
79
+ IPV6ADDR = "(?:#{HEXSEQ2}|(?:#{HEXSEQ1})?::(?:#{HEXSEQ2})?)"
80
+
81
+ # IPv6prefix = ( hexseq1 | [ hexseq1 ] "::" [ hexseq1 ] ) "/" 1*2DIGIT
82
+ # unused
83
+
84
+ # ipv6reference = "[" IPv6address "]" (RFC 2732)
85
+ IPV6REF = "\\[#{IPV6ADDR}\\]"
86
+
87
+ # host = hostname | IPv4address
88
+ # host = hostname | IPv4address | IPv6reference (RFC 2732)
89
+ HOST = "(?:#{HOSTNAME}|#{IPV4ADDR}|#{IPV6REF})"
90
+ # port = *digit
91
+ PORT = '\d*'
92
+ # hostport = host [ ":" port ]
93
+ HOSTPORT = "#{HOST}(?::#{PORT})?"
94
+
95
+ # userinfo = *( unreserved | escaped |
96
+ # ";" | ":" | "&" | "=" | "+" | "$" | "," )
97
+ USERINFO = "(?:[#{UNRESERVED};:&=+$,]|#{ESCAPED})*"
98
+
99
+ # pchar = unreserved | escaped |
100
+ # ":" | "@" | "&" | "=" | "+" | "$" | ","
101
+ PCHAR = "(?:[#{UNRESERVED}:@&=+$,]|#{ESCAPED})"
102
+ # param = *pchar
103
+ PARAM = "#{PCHAR}*"
104
+ # segment = *pchar *( ";" param )
105
+ SEGMENT = "#{PCHAR}*(?:;#{PARAM})*"
106
+ # path_segments = segment *( "/" segment )
107
+ PATH_SEGMENTS = "#{SEGMENT}(?:/#{SEGMENT})*"
108
+
109
+ # server = [ [ userinfo "@" ] hostport ]
110
+ SERVER = "(?:#{USERINFO}@)?#{HOSTPORT}"
111
+ # reg_name = 1*( unreserved | escaped | "$" | "," |
112
+ # ";" | ":" | "@" | "&" | "=" | "+" )
113
+ REG_NAME = "(?:[#{UNRESERVED}$,;:@&=+]|#{ESCAPED})+"
114
+ # authority = server | reg_name
115
+ AUTHORITY = "(?:#{SERVER}|#{REG_NAME})"
116
+
117
+ # rel_segment = 1*( unreserved | escaped |
118
+ # ";" | "@" | "&" | "=" | "+" | "$" | "," )
119
+ REL_SEGMENT = "(?:[#{UNRESERVED};@&=+$,]|#{ESCAPED})+"
120
+
121
+ # scheme = alpha *( alpha | digit | "+" | "-" | "." )
122
+ SCHEME = "[#{ALPHA}][-+.#{ALPHA}\\d]*"
123
+
124
+ # abs_path = "/" path_segments
125
+ ABS_PATH = "/#{PATH_SEGMENTS}"
126
+ # rel_path = rel_segment [ abs_path ]
127
+ REL_PATH = "#{REL_SEGMENT}(?:#{ABS_PATH})?"
128
+ # net_path = "//" authority [ abs_path ]
129
+ NET_PATH = "//#{AUTHORITY}(?:#{ABS_PATH})?"
130
+
131
+ # hier_part = ( net_path | abs_path ) [ "?" query ]
132
+ HIER_PART = "(?:#{NET_PATH}|#{ABS_PATH})(?:\\?(?:#{QUERY}))?"
133
+ # opaque_part = uric_no_slash *uric
134
+ OPAQUE_PART = "#{URIC_NO_SLASH}#{URIC}*"
135
+
136
+ # absoluteURI = scheme ":" ( hier_part | opaque_part )
137
+ ABS_URI = "#{SCHEME}:(?:#{HIER_PART}|#{OPAQUE_PART})"
138
+ # relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ]
139
+ REL_URI = "(?:#{NET_PATH}|#{ABS_PATH}|#{REL_PATH})(?:\\?#{QUERY})?"
140
+
141
+ # URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
142
+ URI_REF = "(?:#{ABS_URI}|#{REL_URI})?(?:##{FRAGMENT})?"
143
+
144
+ # XXX:
145
+ X_ABS_URI = "
146
+ (#{PATTERN::SCHEME}): (?# 1: scheme)
147
+ (?:
148
+ (#{PATTERN::OPAQUE_PART}) (?# 2: opaque)
149
+ |
150
+ (?:(?:
151
+ //(?:
152
+ (?:(?:(#{PATTERN::USERINFO})@)? (?# 3: userinfo)
153
+ (?:(#{PATTERN::HOST})(?::(\\d*))?))?(?# 4: host, 5: port)
154
+ |
155
+ (#{PATTERN::REG_NAME}) (?# 6: registry)
156
+ )
157
+ |
158
+ (?!//)) (?# XXX: '//' is the mark for hostport)
159
+ (#{PATTERN::ABS_PATH})? (?# 7: path)
160
+ )(?:\\?(#{PATTERN::QUERY}))? (?# 8: query)
161
+ )
162
+ (?:\\#(#{PATTERN::FRAGMENT}))? (?# 9: fragment)
163
+ "
164
+ X_REL_URI = "
165
+ (?:
166
+ (?:
167
+ //
168
+ (?:
169
+ (?:(#{PATTERN::USERINFO})@)? (?# 1: userinfo)
170
+ (#{PATTERN::HOST})?(?::(\\d*))? (?# 2: host, 3: port)
171
+ |
172
+ (#{PATTERN::REG_NAME}) (?# 4: registry)
173
+ )
174
+ )
175
+ |
176
+ (#{PATTERN::REL_SEGMENT}) (?# 5: rel_segment)
177
+ )?
178
+ (#{PATTERN::ABS_PATH})? (?# 6: abs_path)
179
+ (?:\\?(#{PATTERN::QUERY}))? (?# 7: query)
180
+ (?:\\#(#{PATTERN::FRAGMENT}))? (?# 8: fragment)
181
+ "
182
+ # :startdoc:
183
+ end # PATTERN
184
+
185
+ # :stopdoc:
186
+
187
+ # for URI::split
188
+ ABS_URI = Regexp.new('^' + PATTERN::X_ABS_URI + '$', #'
189
+ Regexp::EXTENDED, 'N').freeze
190
+ REL_URI = Regexp.new('^' + PATTERN::X_REL_URI + '$', #'
191
+ Regexp::EXTENDED, 'N').freeze
192
+
193
+ # for URI::extract
194
+ URI_REF = Regexp.new(PATTERN::URI_REF, false, 'N').freeze
195
+ ABS_URI_REF = Regexp.new(PATTERN::X_ABS_URI, Regexp::EXTENDED, 'N').freeze
196
+ REL_URI_REF = Regexp.new(PATTERN::X_REL_URI, Regexp::EXTENDED, 'N').freeze
197
+
198
+ # for URI::escape/unescape
199
+ ESCAPED = Regexp.new(PATTERN::ESCAPED, false, 'N').freeze
200
+ UNSAFE = Regexp.new("[^#{PATTERN::UNRESERVED}#{PATTERN::RESERVED}]",
201
+ false, 'N').freeze
202
+
203
+ # for Generic#initialize
204
+ SCHEME = Regexp.new("^#{PATTERN::SCHEME}$", false, 'N').freeze #"
205
+ USERINFO = Regexp.new("^#{PATTERN::USERINFO}$", false, 'N').freeze #"
206
+ HOST = Regexp.new("^#{PATTERN::HOST}$", false, 'N').freeze #"
207
+ PORT = Regexp.new("^#{PATTERN::PORT}$", false, 'N').freeze #"
208
+ OPAQUE = Regexp.new("^#{PATTERN::OPAQUE_PART}$", false, 'N').freeze #"
209
+ REGISTRY = Regexp.new("^#{PATTERN::REG_NAME}$", false, 'N').freeze #"
210
+ ABS_PATH = Regexp.new("^#{PATTERN::ABS_PATH}$", false, 'N').freeze #"
211
+ REL_PATH = Regexp.new("^#{PATTERN::REL_PATH}$", false, 'N').freeze #"
212
+ QUERY = Regexp.new("^#{PATTERN::QUERY}$", false, 'N').freeze #"
213
+ FRAGMENT = Regexp.new("^#{PATTERN::FRAGMENT}$", false, 'N').freeze #"
214
+ # :startdoc:
215
+ end # REGEXP
216
+
217
+ module Util # :nodoc:
218
+ def make_components_hash(klass, array_hash)
219
+ tmp = {}
220
+ if array_hash.kind_of?(Array) &&
221
+ array_hash.size == klass.component.size - 1
222
+ klass.component[1..-1].each_index do |i|
223
+ begin
224
+ tmp[klass.component[i + 1]] = array_hash[i].clone
225
+ rescue TypeError
226
+ tmp[klass.component[i + 1]] = array_hash[i]
227
+ end
228
+ end
229
+
230
+ elsif array_hash.kind_of?(Hash)
231
+ array_hash.each do |key, value|
232
+ begin
233
+ tmp[key] = value.clone
234
+ rescue TypeError
235
+ tmp[key] = value
236
+ end
237
+ end
238
+ else
239
+ raise ArgumentError,
240
+ "expected Array of or Hash of components of #{klass.to_s} (#{klass.component[1..-1].join(', ')})"
241
+ end
242
+ tmp[:scheme] = klass.to_s.sub(/\A.*::/, '').downcase
243
+
244
+ return tmp
245
+ end
246
+ module_function :make_components_hash
247
+ end
248
+
249
+ module Escape
250
+ include REGEXP
251
+
252
+ #
253
+ # == Synopsis
254
+ #
255
+ # URI.escape(str [, unsafe])
256
+ #
257
+ # == Args
258
+ #
259
+ # +str+::
260
+ # String to replaces in.
261
+ # +unsafe+::
262
+ # Regexp that matches all symbols that must be replaced with codes.
263
+ # By default uses <tt>REGEXP::UNSAFE</tt>.
264
+ # When this argument is a String, it represents a character set.
265
+ #
266
+ # == Description
267
+ #
268
+ # Escapes the string, replacing all unsafe characters with codes.
269
+ #
270
+ # == Usage
271
+ #
272
+ # require 'uri'
273
+ #
274
+ # enc_uri = URI.escape("http://example.com/?a=\11\15")
275
+ # p enc_uri
276
+ # # => "http://example.com/?a=%09%0D"
277
+ #
278
+ # p URI.unescape(enc_uri)
279
+ # # => "http://example.com/?a=\t\r"
280
+ #
281
+ # p URI.escape("@?@!", "!?")
282
+ # # => "@%3F@%21"
283
+ #
284
+ def escape(str, unsafe = UNSAFE)
285
+ unless unsafe.kind_of?(Regexp)
286
+ # perhaps unsafe is String object
287
+ unsafe = Regexp.new("[#{Regexp.quote(unsafe)}]", false, 'N')
288
+ end
289
+ str.gsub(unsafe) do |us|
290
+ tmp = ''
291
+ us.each_byte do |uc|
292
+ tmp << sprintf('%%%02X', uc)
293
+ end
294
+ tmp
295
+ end
296
+ end
297
+ alias encode escape
298
+ #
299
+ # == Synopsis
300
+ #
301
+ # URI.unescape(str)
302
+ #
303
+ # == Args
304
+ #
305
+ # +str+::
306
+ # Unescapes the string.
307
+ #
308
+ # == Usage
309
+ #
310
+ # require 'uri'
311
+ #
312
+ # enc_uri = URI.escape("http://example.com/?a=\11\15")
313
+ # p enc_uri
314
+ # # => "http://example.com/?a=%09%0D"
315
+ #
316
+ # p URI.unescape(enc_uri)
317
+ # # => "http://example.com/?a=\t\r"
318
+ #
319
+ def unescape(str)
320
+ str.gsub(ESCAPED) do
321
+ $&[1,2].hex.chr
322
+ end
323
+ end
324
+ alias decode unescape
325
+ end
326
+
327
+ include REGEXP
328
+ extend Escape
329
+
330
+ @@schemes = {}
331
+
332
+ #
333
+ # Base class for all URI exceptions.
334
+ #
335
+ class Error < StandardError; end
336
+ #
337
+ # Not a URI.
338
+ #
339
+ class InvalidURIError < Error; end
340
+ #
341
+ # Not a URI component.
342
+ #
343
+ class InvalidComponentError < Error; end
344
+ #
345
+ # URI is valid, bad usage is not.
346
+ #
347
+ class BadURIError < Error; end
348
+
349
+ #
350
+ # == Synopsis
351
+ #
352
+ # URI::split(uri)
353
+ #
354
+ # == Args
355
+ #
356
+ # +uri+::
357
+ # String with URI.
358
+ #
359
+ # == Description
360
+ #
361
+ # Splits the string on following parts and returns array with result:
362
+ #
363
+ # * Scheme
364
+ # * Userinfo
365
+ # * Host
366
+ # * Port
367
+ # * Registry
368
+ # * Path
369
+ # * Opaque
370
+ # * Query
371
+ # * Fragment
372
+ #
373
+ # == Usage
374
+ #
375
+ # require 'uri'
376
+ #
377
+ # p URI.split("http://www.ruby-lang.org/")
378
+ # # => ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]
379
+ #
380
+ def self.split(uri)
381
+ case uri
382
+ when ''
383
+ # null uri
384
+
385
+ when ABS_URI
386
+ scheme, opaque, userinfo, host, port,
387
+ registry, path, query, fragment = $~[1..-1]
388
+
389
+ # URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
390
+
391
+ # absoluteURI = scheme ":" ( hier_part | opaque_part )
392
+ # hier_part = ( net_path | abs_path ) [ "?" query ]
393
+ # opaque_part = uric_no_slash *uric
394
+
395
+ # abs_path = "/" path_segments
396
+ # net_path = "//" authority [ abs_path ]
397
+
398
+ # authority = server | reg_name
399
+ # server = [ [ userinfo "@" ] hostport ]
400
+
401
+ if !scheme
402
+ raise InvalidURIError,
403
+ "bad URI(absolute but no scheme): #{uri}"
404
+ end
405
+ if !opaque && (!path && (!host && !registry))
406
+ raise InvalidURIError,
407
+ "bad URI(absolute but no path): #{uri}"
408
+ end
409
+
410
+ when REL_URI
411
+ scheme = nil
412
+ opaque = nil
413
+
414
+ userinfo, host, port, registry,
415
+ rel_segment, abs_path, query, fragment = $~[1..-1]
416
+ if rel_segment && abs_path
417
+ path = rel_segment + abs_path
418
+ elsif rel_segment
419
+ path = rel_segment
420
+ elsif abs_path
421
+ path = abs_path
422
+ end
423
+
424
+ # URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
425
+
426
+ # relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ]
427
+
428
+ # net_path = "//" authority [ abs_path ]
429
+ # abs_path = "/" path_segments
430
+ # rel_path = rel_segment [ abs_path ]
431
+
432
+ # authority = server | reg_name
433
+ # server = [ [ userinfo "@" ] hostport ]
434
+
435
+ else
436
+ raise InvalidURIError, "bad URI(is not URI?): #{uri}"
437
+ end
438
+
439
+ path = '' if !path && !opaque # (see RFC2396 Section 5.2)
440
+ ret = [
441
+ scheme,
442
+ userinfo, host, port, # X
443
+ registry, # X
444
+ path, # Y
445
+ opaque, # Y
446
+ query,
447
+ fragment
448
+ ]
449
+ return ret
450
+ end
451
+
452
+ #
453
+ # == Synopsis
454
+ #
455
+ # URI::parse(uri_str)
456
+ #
457
+ # == Args
458
+ #
459
+ # +uri_str+::
460
+ # String with URI.
461
+ #
462
+ # == Description
463
+ #
464
+ # Creates one of the URI's subclasses instance from the string.
465
+ #
466
+ # == Raises
467
+ #
468
+ # URI::InvalidURIError
469
+ # Raised if URI given is not a correct one.
470
+ #
471
+ # == Usage
472
+ #
473
+ # require 'uri'
474
+ #
475
+ # uri = URI.parse("http://www.ruby-lang.org/")
476
+ # p uri
477
+ # # => #<URI::HTTP:0x202281be URL:http://www.ruby-lang.org/>
478
+ # p uri.scheme
479
+ # # => "http"
480
+ # p uri.host
481
+ # # => "www.ruby-lang.org"
482
+ #
483
+ def self.parse(uri)
484
+ scheme, userinfo, host, port,
485
+ registry, path, opaque, query, fragment = self.split(uri)
486
+
487
+ if scheme && @@schemes.include?(scheme.upcase)
488
+ @@schemes[scheme.upcase].new(scheme, userinfo, host, port,
489
+ registry, path, opaque, query,
490
+ fragment)
491
+ else
492
+ Generic.new(scheme, userinfo, host, port,
493
+ registry, path, opaque, query,
494
+ fragment)
495
+ end
496
+ end
497
+
498
+ #
499
+ # == Synopsis
500
+ #
501
+ # URI::join(str[, str, ...])
502
+ #
503
+ # == Args
504
+ #
505
+ # +str+::
506
+ # String(s) to work with
507
+ #
508
+ # == Description
509
+ #
510
+ # Joins URIs.
511
+ #
512
+ # == Usage
513
+ #
514
+ # require 'uri'
515
+ #
516
+ # p URI.join("http://localhost/","main.rbx")
517
+ # # => #<URI::HTTP:0x2022ac02 URL:http://localhost/main.rbx>
518
+ #
519
+ def self.join(*str)
520
+ u = self.parse(str[0])
521
+ str[1 .. -1].each do |x|
522
+ u = u.merge(x)
523
+ end
524
+ u
525
+ end
526
+
527
+ #
528
+ # == Synopsis
529
+ #
530
+ # URI::extract(str[, schemes][,&blk])
531
+ #
532
+ # == Args
533
+ #
534
+ # +str+::
535
+ # String to extract URIs from.
536
+ # +schemes+::
537
+ # Limit URI matching to a specific schemes.
538
+ #
539
+ # == Description
540
+ #
541
+ # Extracts URIs from a string. If block given, iterates through all matched URIs.
542
+ # Returns nil if block given or array with matches.
543
+ #
544
+ # == Usage
545
+ #
546
+ # require "uri"
547
+ #
548
+ # URI.extract("text here http://foo.example.org/bla and here mailto:test@example.com and here also.")
549
+ # # => ["http://foo.example.com/bla", "mailto:test@example.com"]
550
+ #
551
+ def self.extract(str, schemes = nil, &block)
552
+ if block_given?
553
+ str.scan(regexp(schemes)) { yield $& }
554
+ nil
555
+ else
556
+ result = []
557
+ str.scan(regexp(schemes)) { result.push $& }
558
+ result
559
+ end
560
+ end
561
+
562
+ #
563
+ # == Synopsis
564
+ #
565
+ # URI::regexp([match_schemes])
566
+ #
567
+ # == Args
568
+ #
569
+ # +match_schemes+::
570
+ # Array of schemes. If given, resulting regexp matches to URIs
571
+ # whose scheme is one of the match_schemes.
572
+ #
573
+ # == Description
574
+ # Returns a Regexp object which matches to URI-like strings.
575
+ # The Regexp object returned by this method includes arbitrary
576
+ # number of capture group (parentheses). Never rely on it's number.
577
+ #
578
+ # == Usage
579
+ #
580
+ # require 'uri'
581
+ #
582
+ # # extract first URI from html_string
583
+ # html_string.slice(URI.regexp)
584
+ #
585
+ # # remove ftp URIs
586
+ # html_string.sub(URI.regexp(['ftp'])
587
+ #
588
+ # # You should not rely on the number of parentheses
589
+ # html_string.scan(URI.regexp) do |*matches|
590
+ # p $&
591
+ # end
592
+ #
593
+ def self.regexp(schemes = nil)
594
+ unless schemes
595
+ ABS_URI_REF
596
+ else
597
+ /(?=#{Regexp.union(*schemes)}:)#{PATTERN::X_ABS_URI}/xn
598
+ end
599
+ end
600
+
601
+ end
602
+
603
+ module Kernel
604
+ # alias for URI.parse.
605
+ #
606
+ # This method is introduced at 1.8.2.
607
+ def URI(uri_str) # :doc:
608
+ URI.parse(uri_str)
609
+ end
610
+ module_function :URI
611
+ end