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,107 @@
1
+ # soap/attachment.rb: SOAP4R - SwA implementation.
2
+ # Copyright (C) 2002, 2003 Jamie Herre and NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/baseData'
10
+ require 'soap/mapping'
11
+
12
+
13
+ module SOAP
14
+
15
+
16
+ class SOAPAttachment < SOAPExternalReference
17
+ attr_reader :data
18
+
19
+ def initialize(value)
20
+ super()
21
+ @data = value
22
+ end
23
+
24
+ private
25
+
26
+ def external_contentid
27
+ @data.contentid
28
+ end
29
+ end
30
+
31
+
32
+ class Attachment
33
+ attr_reader :io
34
+ attr_accessor :contenttype
35
+
36
+ def initialize(string_or_readable = nil)
37
+ @string_or_readable = string_or_readable
38
+ @contenttype = "application/octet-stream"
39
+ @contentid = nil
40
+ end
41
+
42
+ def contentid
43
+ @contentid ||= Attachment.contentid(self)
44
+ end
45
+
46
+ def contentid=(contentid)
47
+ @contentid = contentid
48
+ end
49
+
50
+ def mime_contentid
51
+ '<' + contentid + '>'
52
+ end
53
+
54
+ def content
55
+ if @content == nil and @string_or_readable != nil
56
+ @content = @string_or_readable.respond_to?(:read) ?
57
+ @string_or_readable.read : @string_or_readable
58
+ end
59
+ @content
60
+ end
61
+
62
+ def to_s
63
+ content
64
+ end
65
+
66
+ def write(out)
67
+ out.write(content)
68
+ end
69
+
70
+ def save(filename)
71
+ File.open(filename, "wb") do |f|
72
+ write(f)
73
+ end
74
+ end
75
+
76
+ def self.contentid(obj)
77
+ # this needs to be fixed
78
+ [obj.__id__.to_s, Process.pid.to_s].join('.')
79
+ end
80
+
81
+ def self.mime_contentid(obj)
82
+ '<' + contentid(obj) + '>'
83
+ end
84
+ end
85
+
86
+
87
+ module Mapping
88
+ class AttachmentFactory < SOAP::Mapping::Factory
89
+ def obj2soap(soap_class, obj, info, map)
90
+ soap_obj = soap_class.new(obj)
91
+ mark_marshalled_obj(obj, soap_obj)
92
+ soap_obj
93
+ end
94
+
95
+ def soap2obj(obj_class, node, info, map)
96
+ obj = node.data
97
+ mark_unmarshalled_obj(node, obj)
98
+ return true, obj
99
+ end
100
+ end
101
+
102
+ DefaultRegistry.add(::SOAP::Attachment, ::SOAP::SOAPAttachment,
103
+ AttachmentFactory.new, nil)
104
+ end
105
+
106
+
107
+ end
@@ -0,0 +1,942 @@
1
+ # soap/baseData.rb: SOAP4R - Base type library
2
+ # Copyright (C) 2000, 2001, 2003-2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'xsd/datatypes'
10
+ require 'soap/soap'
11
+
12
+
13
+ module SOAP
14
+
15
+
16
+ ###
17
+ ## Mix-in module for SOAP base type classes.
18
+ #
19
+ module SOAPModuleUtils
20
+ include SOAP
21
+
22
+ public
23
+
24
+ def decode(elename)
25
+ d = self.new
26
+ d.elename = elename
27
+ d
28
+ end
29
+ end
30
+
31
+
32
+ ###
33
+ ## for SOAP type(base and compound)
34
+ #
35
+ module SOAPType
36
+ attr_accessor :encodingstyle
37
+ attr_accessor :elename
38
+ attr_accessor :id
39
+ attr_reader :precedents
40
+ attr_accessor :root
41
+ attr_accessor :parent
42
+ attr_accessor :position
43
+ attr_reader :extraattr
44
+ attr_accessor :definedtype
45
+
46
+ def initialize(*arg)
47
+ super
48
+ @encodingstyle = nil
49
+ @elename = XSD::QName::EMPTY
50
+ @id = nil
51
+ @precedents = []
52
+ @root = false
53
+ @parent = nil
54
+ @position = nil
55
+ @definedtype = nil
56
+ @extraattr = {}
57
+ end
58
+
59
+ def inspect
60
+ if self.is_a?(XSD::NSDBase)
61
+ sprintf("#<%s:0x%x %s %s>", self.class.name, __id__, self.elename, self.type)
62
+ else
63
+ sprintf("#<%s:0x%x %s>", self.class.name, __id__, self.elename)
64
+ end
65
+ end
66
+
67
+ def rootnode
68
+ node = self
69
+ while node = node.parent
70
+ break if SOAPEnvelope === node
71
+ end
72
+ node
73
+ end
74
+ end
75
+
76
+
77
+ ###
78
+ ## for SOAP base type
79
+ #
80
+ module SOAPBasetype
81
+ include SOAPType
82
+ include SOAP
83
+
84
+ def initialize(*arg)
85
+ super
86
+ end
87
+ end
88
+
89
+
90
+ ###
91
+ ## for SOAP compound type
92
+ #
93
+ module SOAPCompoundtype
94
+ include SOAPType
95
+ include SOAP
96
+
97
+ def initialize(*arg)
98
+ super
99
+ end
100
+ end
101
+
102
+
103
+ ###
104
+ ## Convenience datatypes.
105
+ #
106
+ class SOAPReference < XSD::NSDBase
107
+ include SOAPBasetype
108
+ extend SOAPModuleUtils
109
+
110
+ public
111
+
112
+ attr_accessor :refid
113
+
114
+ # Override the definition in SOAPBasetype.
115
+ def initialize(obj = nil)
116
+ super()
117
+ @type = XSD::QName::EMPTY
118
+ @refid = nil
119
+ @obj = nil
120
+ __setobj__(obj) if obj
121
+ end
122
+
123
+ def __getobj__
124
+ @obj
125
+ end
126
+
127
+ def __setobj__(obj)
128
+ @obj = obj
129
+ @refid = @obj.id || SOAPReference.create_refid(@obj)
130
+ @obj.id = @refid unless @obj.id
131
+ @obj.precedents << self
132
+ # Copies NSDBase information
133
+ @obj.type = @type unless @obj.type
134
+ end
135
+
136
+ # Why don't I use delegate.rb?
137
+ # -> delegate requires target object type at initialize time.
138
+ # Why don't I use forwardable.rb?
139
+ # -> forwardable requires a list of forwarding methods.
140
+ #
141
+ # ToDo: Maybe I should use forwardable.rb and give it a methods list like
142
+ # delegate.rb...
143
+ #
144
+ def method_missing(msg_id, *params)
145
+ if @obj
146
+ @obj.send(msg_id, *params)
147
+ else
148
+ nil
149
+ end
150
+ end
151
+
152
+ def refidstr
153
+ '#' + @refid
154
+ end
155
+
156
+ def self.create_refid(obj)
157
+ 'id' + obj.__id__.to_s
158
+ end
159
+
160
+ def self.decode(elename, refidstr)
161
+ if /\A#(.*)\z/ =~ refidstr
162
+ refid = $1
163
+ elsif /\Acid:(.*)\z/ =~ refidstr
164
+ refid = $1
165
+ else
166
+ raise ArgumentError.new("illegal refid #{refidstr}")
167
+ end
168
+ d = super(elename)
169
+ d.refid = refid
170
+ d
171
+ end
172
+ end
173
+
174
+
175
+ class SOAPExternalReference < XSD::NSDBase
176
+ include SOAPBasetype
177
+ extend SOAPModuleUtils
178
+
179
+ def initialize
180
+ super()
181
+ @type = XSD::QName::EMPTY
182
+ end
183
+
184
+ def referred
185
+ rootnode.external_content[external_contentid] = self
186
+ end
187
+
188
+ def refidstr
189
+ 'cid:' + external_contentid
190
+ end
191
+
192
+ private
193
+
194
+ def external_contentid
195
+ raise NotImplementedError.new
196
+ end
197
+ end
198
+
199
+
200
+ class SOAPNil < XSD::XSDNil
201
+ include SOAPBasetype
202
+ extend SOAPModuleUtils
203
+ end
204
+
205
+ # SOAPRawString is for sending raw string. In contrast to SOAPString,
206
+ # SOAP4R does not do XML encoding and does not convert its CES. The string it
207
+ # holds is embedded to XML instance directly as a 'xsd:string'.
208
+ class SOAPRawString < XSD::XSDString
209
+ include SOAPBasetype
210
+ extend SOAPModuleUtils
211
+ end
212
+
213
+
214
+ ###
215
+ ## Basic datatypes.
216
+ #
217
+ class SOAPAnySimpleType < XSD::XSDAnySimpleType
218
+ include SOAPBasetype
219
+ extend SOAPModuleUtils
220
+ end
221
+
222
+ class SOAPString < XSD::XSDString
223
+ include SOAPBasetype
224
+ extend SOAPModuleUtils
225
+ end
226
+
227
+ class SOAPBoolean < XSD::XSDBoolean
228
+ include SOAPBasetype
229
+ extend SOAPModuleUtils
230
+ end
231
+
232
+ class SOAPDecimal < XSD::XSDDecimal
233
+ include SOAPBasetype
234
+ extend SOAPModuleUtils
235
+ end
236
+
237
+ class SOAPFloat < XSD::XSDFloat
238
+ include SOAPBasetype
239
+ extend SOAPModuleUtils
240
+ end
241
+
242
+ class SOAPDouble < XSD::XSDDouble
243
+ include SOAPBasetype
244
+ extend SOAPModuleUtils
245
+ end
246
+
247
+ class SOAPDuration < XSD::XSDDuration
248
+ include SOAPBasetype
249
+ extend SOAPModuleUtils
250
+ end
251
+
252
+ class SOAPDateTime < XSD::XSDDateTime
253
+ include SOAPBasetype
254
+ extend SOAPModuleUtils
255
+ end
256
+
257
+ class SOAPTime < XSD::XSDTime
258
+ include SOAPBasetype
259
+ extend SOAPModuleUtils
260
+ end
261
+
262
+ class SOAPDate < XSD::XSDDate
263
+ include SOAPBasetype
264
+ extend SOAPModuleUtils
265
+ end
266
+
267
+ class SOAPGYearMonth < XSD::XSDGYearMonth
268
+ include SOAPBasetype
269
+ extend SOAPModuleUtils
270
+ end
271
+
272
+ class SOAPGYear < XSD::XSDGYear
273
+ include SOAPBasetype
274
+ extend SOAPModuleUtils
275
+ end
276
+
277
+ class SOAPGMonthDay < XSD::XSDGMonthDay
278
+ include SOAPBasetype
279
+ extend SOAPModuleUtils
280
+ end
281
+
282
+ class SOAPGDay < XSD::XSDGDay
283
+ include SOAPBasetype
284
+ extend SOAPModuleUtils
285
+ end
286
+
287
+ class SOAPGMonth < XSD::XSDGMonth
288
+ include SOAPBasetype
289
+ extend SOAPModuleUtils
290
+ end
291
+
292
+ class SOAPHexBinary < XSD::XSDHexBinary
293
+ include SOAPBasetype
294
+ extend SOAPModuleUtils
295
+ end
296
+
297
+ class SOAPBase64 < XSD::XSDBase64Binary
298
+ include SOAPBasetype
299
+ extend SOAPModuleUtils
300
+ Type = QName.new(EncodingNamespace, Base64Literal)
301
+
302
+ public
303
+ # Override the definition in SOAPBasetype.
304
+ def initialize(value = nil)
305
+ super(value)
306
+ @type = Type
307
+ end
308
+
309
+ def as_xsd
310
+ @type = XSD::XSDBase64Binary::Type
311
+ end
312
+ end
313
+
314
+ class SOAPAnyURI < XSD::XSDAnyURI
315
+ include SOAPBasetype
316
+ extend SOAPModuleUtils
317
+ end
318
+
319
+ class SOAPQName < XSD::XSDQName
320
+ include SOAPBasetype
321
+ extend SOAPModuleUtils
322
+ end
323
+
324
+
325
+ class SOAPInteger < XSD::XSDInteger
326
+ include SOAPBasetype
327
+ extend SOAPModuleUtils
328
+ end
329
+
330
+ class SOAPNonPositiveInteger < XSD::XSDNonPositiveInteger
331
+ include SOAPBasetype
332
+ extend SOAPModuleUtils
333
+ end
334
+
335
+ class SOAPNegativeInteger < XSD::XSDNegativeInteger
336
+ include SOAPBasetype
337
+ extend SOAPModuleUtils
338
+ end
339
+
340
+ class SOAPLong < XSD::XSDLong
341
+ include SOAPBasetype
342
+ extend SOAPModuleUtils
343
+ end
344
+
345
+ class SOAPInt < XSD::XSDInt
346
+ include SOAPBasetype
347
+ extend SOAPModuleUtils
348
+ end
349
+
350
+ class SOAPShort < XSD::XSDShort
351
+ include SOAPBasetype
352
+ extend SOAPModuleUtils
353
+ end
354
+
355
+ class SOAPByte < XSD::XSDByte
356
+ include SOAPBasetype
357
+ extend SOAPModuleUtils
358
+ end
359
+
360
+ class SOAPNonNegativeInteger < XSD::XSDNonNegativeInteger
361
+ include SOAPBasetype
362
+ extend SOAPModuleUtils
363
+ end
364
+
365
+ class SOAPUnsignedLong < XSD::XSDUnsignedLong
366
+ include SOAPBasetype
367
+ extend SOAPModuleUtils
368
+ end
369
+
370
+ class SOAPUnsignedInt < XSD::XSDUnsignedInt
371
+ include SOAPBasetype
372
+ extend SOAPModuleUtils
373
+ end
374
+
375
+ class SOAPUnsignedShort < XSD::XSDUnsignedShort
376
+ include SOAPBasetype
377
+ extend SOAPModuleUtils
378
+ end
379
+
380
+ class SOAPUnsignedByte < XSD::XSDUnsignedByte
381
+ include SOAPBasetype
382
+ extend SOAPModuleUtils
383
+ end
384
+
385
+ class SOAPPositiveInteger < XSD::XSDPositiveInteger
386
+ include SOAPBasetype
387
+ extend SOAPModuleUtils
388
+ end
389
+
390
+
391
+ ###
392
+ ## Compound datatypes.
393
+ #
394
+ class SOAPStruct < XSD::NSDBase
395
+ include SOAPCompoundtype
396
+ include Enumerable
397
+
398
+ public
399
+
400
+ def initialize(type = nil)
401
+ super()
402
+ @type = type || XSD::QName::EMPTY
403
+ @array = []
404
+ @data = []
405
+ end
406
+
407
+ def to_s()
408
+ str = ''
409
+ self.each do |key, data|
410
+ str << "#{key}: #{data}\n"
411
+ end
412
+ str
413
+ end
414
+
415
+ def add(name, value)
416
+ add_member(name, value)
417
+ end
418
+
419
+ def [](idx)
420
+ if idx.is_a?(Range)
421
+ @data[idx]
422
+ elsif idx.is_a?(Integer)
423
+ if (idx > @array.size)
424
+ raise ArrayIndexOutOfBoundsError.new('In ' << @type.name)
425
+ end
426
+ @data[idx]
427
+ else
428
+ if @array.include?(idx)
429
+ @data[@array.index(idx)]
430
+ else
431
+ nil
432
+ end
433
+ end
434
+ end
435
+
436
+ def []=(idx, data)
437
+ if @array.include?(idx)
438
+ data.parent = self if data.respond_to?(:parent=)
439
+ @data[@array.index(idx)] = data
440
+ else
441
+ add(idx, data)
442
+ end
443
+ end
444
+
445
+ def key?(name)
446
+ @array.include?(name)
447
+ end
448
+
449
+ def members
450
+ @array
451
+ end
452
+
453
+ def to_obj
454
+ hash = {}
455
+ proptype = {}
456
+ each do |k, v|
457
+ value = v.respond_to?(:to_obj) ? v.to_obj : v.to_s
458
+ case proptype[k]
459
+ when :single
460
+ hash[k] = [hash[k], value]
461
+ proptype[k] = :multi
462
+ when :multi
463
+ hash[k] << value
464
+ else
465
+ hash[k] = value
466
+ proptype[k] = :single
467
+ end
468
+ end
469
+ hash
470
+ end
471
+
472
+ def each
473
+ idx = 0
474
+ while idx < @array.length
475
+ yield(@array[idx], @data[idx])
476
+ idx += 1
477
+ end
478
+ end
479
+
480
+ def replace
481
+ members.each do |member|
482
+ self[member] = yield(self[member])
483
+ end
484
+ end
485
+
486
+ def self.decode(elename, type)
487
+ s = SOAPStruct.new(type)
488
+ s.elename = elename
489
+ s
490
+ end
491
+
492
+ private
493
+
494
+ def add_member(name, value = nil)
495
+ value = SOAPNil.new() if value.nil?
496
+ @array.push(name)
497
+ value.elename = value.elename.dup_name(name)
498
+ @data.push(value)
499
+ value.parent = self if value.respond_to?(:parent=)
500
+ value
501
+ end
502
+ end
503
+
504
+
505
+ # SOAPElement is not typed so it is not derived from NSDBase.
506
+ class SOAPElement
507
+ include Enumerable
508
+
509
+ attr_accessor :encodingstyle
510
+
511
+ attr_accessor :elename
512
+ attr_accessor :id
513
+ attr_reader :precedents
514
+ attr_accessor :root
515
+ attr_accessor :parent
516
+ attr_accessor :position
517
+ attr_accessor :extraattr
518
+
519
+ attr_accessor :qualified
520
+
521
+ def initialize(elename, text = nil)
522
+ if !elename.is_a?(XSD::QName)
523
+ elename = XSD::QName.new(nil, elename)
524
+ end
525
+ @encodingstyle = LiteralNamespace
526
+ @elename = elename
527
+ @id = nil
528
+ @precedents = []
529
+ @root = false
530
+ @parent = nil
531
+ @position = nil
532
+ @extraattr = {}
533
+
534
+ @qualified = nil
535
+
536
+ @array = []
537
+ @data = []
538
+ @text = text
539
+ end
540
+
541
+ def inspect
542
+ sprintf("#<%s:0x%x %s>", self.class.name, __id__, self.elename)
543
+ end
544
+
545
+ # Text interface.
546
+ attr_accessor :text
547
+ alias data text
548
+
549
+ # Element interfaces.
550
+ def add(value)
551
+ add_member(value.elename.name, value)
552
+ end
553
+
554
+ def [](idx)
555
+ if @array.include?(idx)
556
+ @data[@array.index(idx)]
557
+ else
558
+ nil
559
+ end
560
+ end
561
+
562
+ def []=(idx, data)
563
+ if @array.include?(idx)
564
+ data.parent = self if data.respond_to?(:parent=)
565
+ @data[@array.index(idx)] = data
566
+ else
567
+ add(data)
568
+ end
569
+ end
570
+
571
+ def key?(name)
572
+ @array.include?(name)
573
+ end
574
+
575
+ def members
576
+ @array
577
+ end
578
+
579
+ def to_obj
580
+ if members.empty?
581
+ @text
582
+ else
583
+ hash = {}
584
+ proptype = {}
585
+ each do |k, v|
586
+ value = v.respond_to?(:to_obj) ? v.to_obj : v.to_s
587
+ case proptype[k]
588
+ when :single
589
+ hash[k] = [hash[k], value]
590
+ proptype[k] = :multi
591
+ when :multi
592
+ hash[k] << value
593
+ else
594
+ hash[k] = value
595
+ proptype[k] = :single
596
+ end
597
+ end
598
+ hash
599
+ end
600
+ end
601
+
602
+ def each
603
+ idx = 0
604
+ while idx < @array.length
605
+ yield(@array[idx], @data[idx])
606
+ idx += 1
607
+ end
608
+ end
609
+
610
+ def self.decode(elename)
611
+ o = SOAPElement.new(elename)
612
+ o
613
+ end
614
+
615
+ def self.from_obj(obj, namespace = nil)
616
+ o = SOAPElement.new(nil)
617
+ case obj
618
+ when nil
619
+ o.text = nil
620
+ when Hash
621
+ obj.each do |elename, value|
622
+ if value.is_a?(Array)
623
+ value.each do |subvalue|
624
+ child = from_obj(subvalue, namespace)
625
+ child.elename = to_elename(elename, namespace)
626
+ o.add(child)
627
+ end
628
+ else
629
+ child = from_obj(value, namespace)
630
+ child.elename = to_elename(elename, namespace)
631
+ o.add(child)
632
+ end
633
+ end
634
+ else
635
+ o.text = obj.to_s
636
+ end
637
+ o
638
+ end
639
+
640
+ def self.to_elename(obj, namespace = nil)
641
+ if obj.is_a?(XSD::QName)
642
+ obj
643
+ elsif /\A(.+):([^:]+)\z/ =~ obj.to_s
644
+ XSD::QName.new($1, $2)
645
+ else
646
+ XSD::QName.new(namespace, obj.to_s)
647
+ end
648
+ end
649
+
650
+ private
651
+
652
+ def add_member(name, value)
653
+ add_accessor(name)
654
+ @array.push(name)
655
+ @data.push(value)
656
+ value.parent = self if value.respond_to?(:parent=)
657
+ value
658
+ end
659
+
660
+ if RUBY_VERSION > "1.7.0"
661
+ def add_accessor(name)
662
+ methodname = name
663
+ if self.respond_to?(methodname)
664
+ methodname = safe_accessor_name(methodname)
665
+ end
666
+ Mapping.define_singleton_method(self, methodname) do
667
+ @data[@array.index(name)]
668
+ end
669
+ Mapping.define_singleton_method(self, methodname + '=') do |value|
670
+ @data[@array.index(name)] = value
671
+ end
672
+ end
673
+ else
674
+ def add_accessor(name)
675
+ methodname = safe_accessor_name(name)
676
+ instance_eval <<-EOS
677
+ def #{methodname}
678
+ @data[@array.index(#{name.dump})]
679
+ end
680
+
681
+ def #{methodname}=(value)
682
+ @data[@array.index(#{name.dump})] = value
683
+ end
684
+ EOS
685
+ end
686
+ end
687
+
688
+ def safe_accessor_name(name)
689
+ "var_" << name.gsub(/[^a-zA-Z0-9_]/, '')
690
+ end
691
+ end
692
+
693
+
694
+ class SOAPArray < XSD::NSDBase
695
+ include SOAPCompoundtype
696
+ include Enumerable
697
+
698
+ public
699
+
700
+ attr_accessor :sparse
701
+
702
+ attr_reader :offset, :rank
703
+ attr_accessor :size, :size_fixed
704
+ attr_reader :arytype
705
+
706
+ def initialize(type = nil, rank = 1, arytype = nil)
707
+ super()
708
+ @type = type || ValueArrayName
709
+ @rank = rank
710
+ @data = Array.new
711
+ @sparse = false
712
+ @offset = Array.new(rank, 0)
713
+ @size = Array.new(rank, 0)
714
+ @size_fixed = false
715
+ @position = nil
716
+ @arytype = arytype
717
+ end
718
+
719
+ def offset=(var)
720
+ @offset = var
721
+ @sparse = true
722
+ end
723
+
724
+ def add(value)
725
+ self[*(@offset)] = value
726
+ end
727
+
728
+ def [](*idxary)
729
+ if idxary.size != @rank
730
+ raise ArgumentError.new("given #{idxary.size} params does not match rank: #{@rank}")
731
+ end
732
+
733
+ retrieve(idxary)
734
+ end
735
+
736
+ def []=(*idxary)
737
+ value = idxary.slice!(-1)
738
+
739
+ if idxary.size != @rank
740
+ raise ArgumentError.new("given #{idxary.size} params(#{idxary})" +
741
+ " does not match rank: #{@rank}")
742
+ end
743
+
744
+ idx = 0
745
+ while idx < idxary.size
746
+ if idxary[idx] + 1 > @size[idx]
747
+ @size[idx] = idxary[idx] + 1
748
+ end
749
+ idx += 1
750
+ end
751
+
752
+ data = retrieve(idxary[0, idxary.size - 1])
753
+ data[idxary.last] = value
754
+
755
+ if value.is_a?(SOAPType)
756
+ value.elename = ITEM_NAME
757
+ # Sync type
758
+ unless @type.name
759
+ @type = XSD::QName.new(value.type.namespace,
760
+ SOAPArray.create_arytype(value.type.name, @rank))
761
+ end
762
+ value.type ||= @type
763
+ end
764
+
765
+ @offset = idxary
766
+ value.parent = self if value.respond_to?(:parent=)
767
+ offsetnext
768
+ end
769
+
770
+ def each
771
+ @data.each do |data|
772
+ yield(data)
773
+ end
774
+ end
775
+
776
+ def to_a
777
+ @data.dup
778
+ end
779
+
780
+ def replace
781
+ @data = deep_map(@data) do |ele|
782
+ yield(ele)
783
+ end
784
+ end
785
+
786
+ def deep_map(ary, &block)
787
+ ary.collect do |ele|
788
+ if ele.is_a?(Array)
789
+ deep_map(ele, &block)
790
+ else
791
+ new_obj = block.call(ele)
792
+ new_obj.elename = ITEM_NAME
793
+ new_obj
794
+ end
795
+ end
796
+ end
797
+
798
+ def include?(var)
799
+ traverse_data(@data) do |v, *rank|
800
+ if v.is_a?(SOAPBasetype) && v.data == var
801
+ return true
802
+ end
803
+ end
804
+ false
805
+ end
806
+
807
+ def traverse
808
+ traverse_data(@data) do |v, *rank|
809
+ unless @sparse
810
+ yield(v)
811
+ else
812
+ yield(v, *rank) if v && !v.is_a?(SOAPNil)
813
+ end
814
+ end
815
+ end
816
+
817
+ def soap2array(ary)
818
+ traverse_data(@data) do |v, *position|
819
+ iteary = ary
820
+ rank = 1
821
+ while rank < position.size
822
+ idx = position[rank - 1]
823
+ if iteary[idx].nil?
824
+ iteary = iteary[idx] = Array.new
825
+ else
826
+ iteary = iteary[idx]
827
+ end
828
+ rank += 1
829
+ end
830
+ if block_given?
831
+ iteary[position.last] = yield(v)
832
+ else
833
+ iteary[position.last] = v
834
+ end
835
+ end
836
+ end
837
+
838
+ def position
839
+ @position
840
+ end
841
+
842
+ private
843
+
844
+ ITEM_NAME = XSD::QName.new(nil, 'item')
845
+
846
+ def retrieve(idxary)
847
+ data = @data
848
+ rank = 1
849
+ while rank <= idxary.size
850
+ idx = idxary[rank - 1]
851
+ if data[idx].nil?
852
+ data = data[idx] = Array.new
853
+ else
854
+ data = data[idx]
855
+ end
856
+ rank += 1
857
+ end
858
+ data
859
+ end
860
+
861
+ def traverse_data(data, rank = 1)
862
+ idx = 0
863
+ while idx < ranksize(rank)
864
+ if rank < @rank
865
+ traverse_data(data[idx], rank + 1) do |*v|
866
+ v[1, 0] = idx
867
+ yield(*v)
868
+ end
869
+ else
870
+ yield(data[idx], idx)
871
+ end
872
+ idx += 1
873
+ end
874
+ end
875
+
876
+ def ranksize(rank)
877
+ @size[rank - 1]
878
+ end
879
+
880
+ def offsetnext
881
+ move = false
882
+ idx = @offset.size - 1
883
+ while !move && idx >= 0
884
+ @offset[idx] += 1
885
+ if @size_fixed
886
+ if @offset[idx] < @size[idx]
887
+ move = true
888
+ else
889
+ @offset[idx] = 0
890
+ idx -= 1
891
+ end
892
+ else
893
+ move = true
894
+ end
895
+ end
896
+ end
897
+
898
+ # Module function
899
+
900
+ public
901
+
902
+ def self.decode(elename, type, arytype)
903
+ typestr, nofary = parse_type(arytype.name)
904
+ rank = nofary.count(',') + 1
905
+ plain_arytype = XSD::QName.new(arytype.namespace, typestr)
906
+ o = SOAPArray.new(type, rank, plain_arytype)
907
+ size = []
908
+ nofary.split(',').each do |s|
909
+ if s.empty?
910
+ size.clear
911
+ break
912
+ else
913
+ size << s.to_i
914
+ end
915
+ end
916
+ unless size.empty?
917
+ o.size = size
918
+ o.size_fixed = true
919
+ end
920
+ o.elename = elename
921
+ o
922
+ end
923
+
924
+ private
925
+
926
+ def self.create_arytype(typename, rank)
927
+ "#{typename}[" << ',' * (rank - 1) << ']'
928
+ end
929
+
930
+ TypeParseRegexp = Regexp.new('^(.+)\[([\d,]*)\]$')
931
+
932
+ def self.parse_type(string)
933
+ TypeParseRegexp =~ string
934
+ return $1, $2
935
+ end
936
+ end
937
+
938
+
939
+ require 'soap/mapping/typeMap'
940
+
941
+
942
+ end