ruby_on_ruby 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,100 @@
1
+ # SOAP4R - EncodingStyle handler library
2
+ # Copyright (C) 2001, 2003 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/soap'
10
+ require 'soap/baseData'
11
+ require 'soap/element'
12
+
13
+
14
+ module SOAP
15
+ module EncodingStyle
16
+
17
+
18
+ class Handler
19
+ @@handlers = {}
20
+
21
+ class EncodingStyleError < Error; end
22
+
23
+ class << self
24
+ def uri
25
+ self::Namespace
26
+ end
27
+
28
+ def handler(uri)
29
+ @@handlers[uri]
30
+ end
31
+
32
+ def each
33
+ @@handlers.each do |key, value|
34
+ yield(value)
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def add_handler
41
+ @@handlers[self.uri] = self
42
+ end
43
+ end
44
+
45
+ attr_reader :charset
46
+ attr_accessor :generate_explicit_type
47
+ def decode_typemap=(definedtypes)
48
+ @decode_typemap = definedtypes
49
+ end
50
+
51
+ def initialize(charset)
52
+ @charset = charset
53
+ @generate_explicit_type = true
54
+ @decode_typemap = nil
55
+ end
56
+
57
+ ###
58
+ ## encode interface.
59
+ #
60
+ # Returns a XML instance as a string.
61
+ def encode_data(generator, ns, data, parent)
62
+ raise NotImplementError
63
+ end
64
+
65
+ def encode_data_end(generator, ns, data, parent)
66
+ raise NotImplementError
67
+ end
68
+
69
+ def encode_prologue
70
+ end
71
+
72
+ def encode_epilogue
73
+ end
74
+
75
+ ###
76
+ ## decode interface.
77
+ #
78
+ # Returns SOAP/OM data.
79
+ def decode_tag(ns, name, attrs, parent)
80
+ raise NotImplementError.new('Method decode_tag must be defined in derived class.')
81
+ end
82
+
83
+ def decode_tag_end(ns, name)
84
+ raise NotImplementError.new('Method decode_tag_end must be defined in derived class.')
85
+ end
86
+
87
+ def decode_text(ns, text)
88
+ raise NotImplementError.new('Method decode_text must be defined in derived class.')
89
+ end
90
+
91
+ def decode_prologue
92
+ end
93
+
94
+ def decode_epilogue
95
+ end
96
+ end
97
+
98
+
99
+ end
100
+ end
@@ -0,0 +1,226 @@
1
+ # SOAP4R - XML Literal EncodingStyle handler library
2
+ # Copyright (C) 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 'soap/encodingstyle/handler'
10
+
11
+
12
+ module SOAP
13
+ module EncodingStyle
14
+
15
+
16
+ class LiteralHandler < Handler
17
+ Namespace = SOAP::LiteralNamespace
18
+ add_handler
19
+
20
+ def initialize(charset = nil)
21
+ super(charset)
22
+ @textbuf = ''
23
+ end
24
+
25
+
26
+ ###
27
+ ## encode interface.
28
+ #
29
+ def encode_data(generator, ns, data, parent)
30
+ attrs = {}
31
+ name = generator.encode_name(ns, data, attrs)
32
+ data.extraattr.each do |k, v|
33
+ # ToDo: check generator.attributeformdefault here
34
+ if k.is_a?(XSD::QName)
35
+ if k.namespace
36
+ SOAPGenerator.assign_ns(attrs, ns, k.namespace)
37
+ k = ns.name(k)
38
+ else
39
+ k = k.name
40
+ end
41
+ end
42
+ attrs[k] = v
43
+ end
44
+ case data
45
+ when SOAPRawString
46
+ generator.encode_tag(name, attrs)
47
+ generator.encode_rawstring(data.to_s)
48
+ when XSD::XSDString
49
+ generator.encode_tag(name, attrs)
50
+ str = data.to_s
51
+ str = XSD::Charset.encoding_to_xml(str, @charset) if @charset
52
+ generator.encode_string(str)
53
+ when XSD::XSDAnySimpleType
54
+ generator.encode_tag(name, attrs)
55
+ generator.encode_string(data.to_s)
56
+ when SOAPStruct
57
+ generator.encode_tag(name, attrs)
58
+ data.each do |key, value|
59
+ generator.encode_child(ns, value, data)
60
+ end
61
+ when SOAPArray
62
+ generator.encode_tag(name, attrs)
63
+ data.traverse do |child, *rank|
64
+ data.position = nil
65
+ generator.encode_child(ns, child, data)
66
+ end
67
+ when SOAPElement
68
+ # passes 2 times for simplifying namespace definition
69
+ data.each do |key, value|
70
+ if value.elename.namespace
71
+ SOAPGenerator.assign_ns(attrs, ns, value.elename.namespace)
72
+ end
73
+ end
74
+ generator.encode_tag(name, attrs)
75
+ generator.encode_rawstring(data.text) if data.text
76
+ data.each do |key, value|
77
+ generator.encode_child(ns, value, data)
78
+ end
79
+ else
80
+ raise EncodingStyleError.new(
81
+ "unknown object:#{data} in this encodingStyle")
82
+ end
83
+ end
84
+
85
+ def encode_data_end(generator, ns, data, parent)
86
+ name = generator.encode_name_end(ns, data)
87
+ cr = (data.is_a?(SOAPCompoundtype) or
88
+ (data.is_a?(SOAPElement) and !data.text))
89
+ generator.encode_tag_end(name, cr)
90
+ end
91
+
92
+
93
+ ###
94
+ ## decode interface.
95
+ #
96
+ class SOAPTemporalObject
97
+ attr_accessor :parent
98
+
99
+ def initialize
100
+ @parent = nil
101
+ end
102
+ end
103
+
104
+ class SOAPUnknown < SOAPTemporalObject
105
+ def initialize(handler, elename, extraattr)
106
+ super()
107
+ @handler = handler
108
+ @elename = elename
109
+ @extraattr = extraattr
110
+ end
111
+
112
+ def as_element
113
+ o = SOAPElement.decode(@elename)
114
+ o.parent = @parent
115
+ o.extraattr.update(@extraattr)
116
+ @handler.decode_parent(@parent, o)
117
+ o
118
+ end
119
+
120
+ def as_string
121
+ o = SOAPString.decode(@elename)
122
+ o.parent = @parent
123
+ o.extraattr.update(@extraattr)
124
+ @handler.decode_parent(@parent, o)
125
+ o
126
+ end
127
+
128
+ def as_nil
129
+ o = SOAPNil.decode(@elename)
130
+ o.parent = @parent
131
+ o.extraattr.update(@extraattr)
132
+ @handler.decode_parent(@parent, o)
133
+ o
134
+ end
135
+ end
136
+
137
+ def decode_tag(ns, elename, attrs, parent)
138
+ @textbuf = ''
139
+ o = SOAPUnknown.new(self, elename, decode_attrs(ns, attrs))
140
+ o.parent = parent
141
+ o
142
+ end
143
+
144
+ def decode_tag_end(ns, node)
145
+ o = node.node
146
+ if o.is_a?(SOAPUnknown)
147
+ newnode = if /\A\s*\z/ =~ @textbuf
148
+ o.as_element
149
+ else
150
+ o.as_string
151
+ end
152
+ node.replace_node(newnode)
153
+ o = node.node
154
+ end
155
+
156
+ decode_textbuf(o)
157
+ @textbuf = ''
158
+ end
159
+
160
+ def decode_text(ns, text)
161
+ # @textbuf is set at decode_tag_end.
162
+ @textbuf << text
163
+ end
164
+
165
+ def decode_attrs(ns, attrs)
166
+ extraattr = {}
167
+ attrs.each do |key, value|
168
+ qname = ns.parse_local(key)
169
+ extraattr[qname] = value
170
+ end
171
+ extraattr
172
+ end
173
+
174
+ def decode_prologue
175
+ end
176
+
177
+ def decode_epilogue
178
+ end
179
+
180
+ def decode_parent(parent, node)
181
+ return unless parent.node
182
+ case parent.node
183
+ when SOAPUnknown
184
+ newparent = parent.node.as_element
185
+ node.parent = newparent
186
+ parent.replace_node(newparent)
187
+ decode_parent(parent, node)
188
+ when SOAPElement
189
+ parent.node.add(node)
190
+ node.parent = parent.node
191
+ when SOAPStruct
192
+ parent.node.add(node.elename.name, node)
193
+ node.parent = parent.node
194
+ when SOAPArray
195
+ if node.position
196
+ parent.node[*(decode_arypos(node.position))] = node
197
+ parent.node.sparse = true
198
+ else
199
+ parent.node.add(node)
200
+ end
201
+ node.parent = parent.node
202
+ else
203
+ raise EncodingStyleError.new("illegal parent: #{parent.node}")
204
+ end
205
+ end
206
+
207
+ private
208
+
209
+ def decode_textbuf(node)
210
+ if node.is_a?(XSD::XSDString)
211
+ if @charset
212
+ node.set(XSD::Charset.encoding_from_xml(@textbuf, @charset))
213
+ else
214
+ node.set(@textbuf)
215
+ end
216
+ else
217
+ # Nothing to do...
218
+ end
219
+ end
220
+ end
221
+
222
+ LiteralHandler.new
223
+
224
+
225
+ end
226
+ end
@@ -0,0 +1,582 @@
1
+ # SOAP4R - SOAP EncodingStyle handler library
2
+ # Copyright (C) 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 'soap/encodingstyle/handler'
10
+
11
+
12
+ module SOAP
13
+ module EncodingStyle
14
+
15
+
16
+ class SOAPHandler < Handler
17
+ Namespace = SOAP::EncodingNamespace
18
+ add_handler
19
+
20
+ def initialize(charset = nil)
21
+ super(charset)
22
+ @refpool = []
23
+ @idpool = []
24
+ @textbuf = ''
25
+ @is_first_top_ele = true
26
+ end
27
+
28
+
29
+ ###
30
+ ## encode interface.
31
+ #
32
+ def encode_data(generator, ns, data, parent)
33
+ attrs = encode_attrs(generator, ns, data, parent)
34
+ if parent && parent.is_a?(SOAPArray) && parent.position
35
+ attrs[ns.name(AttrPositionName)] = "[#{parent.position.join(',')}]"
36
+ end
37
+ name = generator.encode_name(ns, data, attrs)
38
+ case data
39
+ when SOAPReference
40
+ attrs['href'] = data.refidstr
41
+ generator.encode_tag(name, attrs)
42
+ when SOAPExternalReference
43
+ data.referred
44
+ attrs['href'] = data.refidstr
45
+ generator.encode_tag(name, attrs)
46
+ when SOAPRawString
47
+ generator.encode_tag(name, attrs)
48
+ generator.encode_rawstring(data.to_s)
49
+ when XSD::XSDString
50
+ generator.encode_tag(name, attrs)
51
+ generator.encode_string(@charset ?
52
+ XSD::Charset.encoding_to_xml(data.to_s, @charset) : data.to_s)
53
+ when XSD::XSDAnySimpleType
54
+ generator.encode_tag(name, attrs)
55
+ generator.encode_string(data.to_s)
56
+ when SOAPStruct
57
+ generator.encode_tag(name, attrs)
58
+ data.each do |key, value|
59
+ generator.encode_child(ns, value, data)
60
+ end
61
+ when SOAPArray
62
+ generator.encode_tag(name, attrs)
63
+ data.traverse do |child, *rank|
64
+ data.position = data.sparse ? rank : nil
65
+ generator.encode_child(ns, child, data)
66
+ end
67
+ else
68
+ raise EncodingStyleError.new(
69
+ "unknown object:#{data} in this encodingStyle")
70
+ end
71
+ end
72
+
73
+ def encode_data_end(generator, ns, data, parent)
74
+ name = generator.encode_name_end(ns, data)
75
+ cr = data.is_a?(SOAPCompoundtype)
76
+ generator.encode_tag_end(name, cr)
77
+ end
78
+
79
+
80
+ ###
81
+ ## decode interface.
82
+ #
83
+ class SOAPTemporalObject
84
+ attr_accessor :parent
85
+ attr_accessor :position
86
+ attr_accessor :id
87
+ attr_accessor :root
88
+
89
+ def initialize
90
+ @parent = nil
91
+ @position = nil
92
+ @id = nil
93
+ @root = nil
94
+ end
95
+ end
96
+
97
+ class SOAPUnknown < SOAPTemporalObject
98
+ attr_reader :type
99
+ attr_accessor :definedtype
100
+ attr_reader :extraattr
101
+
102
+ def initialize(handler, elename, type, extraattr)
103
+ super()
104
+ @handler = handler
105
+ @elename = elename
106
+ @type = type
107
+ @extraattr = extraattr
108
+ @definedtype = nil
109
+ end
110
+
111
+ def as_struct
112
+ o = SOAPStruct.decode(@elename, @type)
113
+ o.id = @id
114
+ o.root = @root
115
+ o.parent = @parent
116
+ o.position = @position
117
+ o.extraattr.update(@extraattr)
118
+ @handler.decode_parent(@parent, o)
119
+ o
120
+ end
121
+
122
+ def as_string
123
+ o = SOAPString.decode(@elename)
124
+ o.id = @id
125
+ o.root = @root
126
+ o.parent = @parent
127
+ o.position = @position
128
+ o.extraattr.update(@extraattr)
129
+ @handler.decode_parent(@parent, o)
130
+ o
131
+ end
132
+
133
+ def as_nil
134
+ o = SOAPNil.decode(@elename)
135
+ o.id = @id
136
+ o.root = @root
137
+ o.parent = @parent
138
+ o.position = @position
139
+ o.extraattr.update(@extraattr)
140
+ @handler.decode_parent(@parent, o)
141
+ o
142
+ end
143
+ end
144
+
145
+ def decode_tag(ns, elename, attrs, parent)
146
+ @textbuf = ''
147
+ is_nil, type, arytype, root, offset, position, href, id, extraattr =
148
+ decode_attrs(ns, attrs)
149
+ o = nil
150
+ if is_nil
151
+ o = SOAPNil.decode(elename)
152
+ elsif href
153
+ o = SOAPReference.decode(elename, href)
154
+ @refpool << o
155
+ elsif @decode_typemap
156
+ o = decode_tag_by_wsdl(ns, elename, type, parent.node, arytype, extraattr)
157
+ else
158
+ o = decode_tag_by_type(ns, elename, type, parent.node, arytype, extraattr)
159
+ end
160
+
161
+ if o.is_a?(SOAPArray)
162
+ if offset
163
+ o.offset = decode_arypos(offset)
164
+ o.sparse = true
165
+ else
166
+ o.sparse = false
167
+ end
168
+ end
169
+
170
+ o.parent = parent
171
+ o.id = id
172
+ o.root = root
173
+ o.position = position
174
+
175
+ unless o.is_a?(SOAPTemporalObject)
176
+ @idpool << o if o.id
177
+ decode_parent(parent, o)
178
+ end
179
+ o
180
+ end
181
+
182
+ def decode_tag_end(ns, node)
183
+ o = node.node
184
+ if o.is_a?(SOAPUnknown)
185
+ newnode = if /\A\s*\z/ =~ @textbuf
186
+ o.as_struct
187
+ else
188
+ o.as_string
189
+ end
190
+ if newnode.id
191
+ @idpool << newnode
192
+ end
193
+ node.replace_node(newnode)
194
+ o = node.node
195
+ end
196
+ decode_textbuf(o)
197
+ # unlink definedtype
198
+ o.definedtype = nil
199
+ end
200
+
201
+ def decode_text(ns, text)
202
+ @textbuf << text
203
+ end
204
+
205
+ def decode_prologue
206
+ @refpool.clear
207
+ @idpool.clear
208
+ @is_first_top_ele = true
209
+ end
210
+
211
+ def decode_epilogue
212
+ decode_resolve_id
213
+ end
214
+
215
+ def decode_parent(parent, node)
216
+ return unless parent.node
217
+ case parent.node
218
+ when SOAPUnknown
219
+ newparent = parent.node.as_struct
220
+ node.parent = newparent
221
+ if newparent.id
222
+ @idpool << newparent
223
+ end
224
+ parent.replace_node(newparent)
225
+ decode_parent(parent, node)
226
+ when SOAPStruct
227
+ parent.node.add(node.elename.name, node)
228
+ node.parent = parent.node
229
+ when SOAPArray
230
+ if node.position
231
+ parent.node[*(decode_arypos(node.position))] = node
232
+ parent.node.sparse = true
233
+ else
234
+ parent.node.add(node)
235
+ end
236
+ node.parent = parent.node
237
+ else
238
+ raise EncodingStyleError.new("illegal parent: #{parent.node}")
239
+ end
240
+ end
241
+
242
+ private
243
+
244
+ def content_ranksize(typename)
245
+ typename.scan(/\[[\d,]*\]$/)[0]
246
+ end
247
+
248
+ def content_typename(typename)
249
+ typename.sub(/\[,*\]$/, '')
250
+ end
251
+
252
+ def create_arytype(ns, data)
253
+ XSD::QName.new(data.arytype.namespace,
254
+ content_typename(data.arytype.name) + "[#{data.size.join(',')}]")
255
+ end
256
+
257
+ def encode_attrs(generator, ns, data, parent)
258
+ attrs = {}
259
+ return attrs if data.is_a?(SOAPReference)
260
+
261
+ if !parent || parent.encodingstyle != EncodingNamespace
262
+ if @generate_explicit_type
263
+ SOAPGenerator.assign_ns(attrs, ns, EnvelopeNamespace)
264
+ attrs[ns.name(AttrEncodingStyleName)] = EncodingNamespace
265
+ end
266
+ data.encodingstyle = EncodingNamespace
267
+ end
268
+
269
+ if data.is_a?(SOAPNil)
270
+ attrs[ns.name(XSD::AttrNilName)] = XSD::NilValue
271
+ elsif @generate_explicit_type
272
+ if data.type.namespace
273
+ SOAPGenerator.assign_ns(attrs, ns, data.type.namespace)
274
+ end
275
+ if data.is_a?(SOAPArray)
276
+ if data.arytype.namespace
277
+ SOAPGenerator.assign_ns(attrs, ns, data.arytype.namespace)
278
+ end
279
+ SOAPGenerator.assign_ns(attrs, ns, EncodingNamespace)
280
+ attrs[ns.name(AttrArrayTypeName)] = ns.name(create_arytype(ns, data))
281
+ if data.type.name
282
+ attrs[ns.name(XSD::AttrTypeName)] = ns.name(data.type)
283
+ end
284
+ elsif parent && parent.is_a?(SOAPArray) && (parent.arytype == data.type)
285
+ # No need to add.
286
+ elsif !data.type.namespace
287
+ # No need to add.
288
+ else
289
+ attrs[ns.name(XSD::AttrTypeName)] = ns.name(data.type)
290
+ end
291
+ end
292
+
293
+ data.extraattr.each do |key, value|
294
+ SOAPGenerator.assign_ns(attrs, ns, key.namespace)
295
+ attrs[ns.name(key)] = encode_attr_value(generator, ns, key, value)
296
+ end
297
+ if data.id
298
+ attrs['id'] = data.id
299
+ end
300
+ attrs
301
+ end
302
+
303
+ def encode_attr_value(generator, ns, qname, value)
304
+ if value.is_a?(SOAPType)
305
+ ref = SOAPReference.new(value)
306
+ generator.add_reftarget(qname.name, value)
307
+ ref.refidstr
308
+ else
309
+ value.to_s
310
+ end
311
+ end
312
+
313
+ def decode_tag_by_wsdl(ns, elename, typestr, parent, arytypestr, extraattr)
314
+ o = nil
315
+ if parent.class == SOAPBody
316
+ # root element: should branch by root attribute?
317
+ if @is_first_top_ele
318
+ # Unqualified name is allowed here.
319
+ @is_first_top_ele = false
320
+ type = @decode_typemap[elename] ||
321
+ @decode_typemap.find_name(elename.name)
322
+ if type
323
+ o = SOAPStruct.new(elename)
324
+ o.definedtype = type
325
+ return o
326
+ end
327
+ end
328
+ # multi-ref element.
329
+ if typestr
330
+ typename = ns.parse(typestr)
331
+ typedef = @decode_typemap[typename]
332
+ if typedef
333
+ return decode_definedtype(elename, typename, typedef, arytypestr)
334
+ end
335
+ end
336
+ return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
337
+ extraattr)
338
+ end
339
+
340
+ if parent.type == XSD::AnyTypeName
341
+ return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
342
+ extraattr)
343
+ end
344
+
345
+ # parent.definedtype == nil means the parent is SOAPUnknown. SOAPUnknown
346
+ # is generated by decode_tag_by_type when its type is anyType.
347
+ parenttype = parent.definedtype || @decode_typemap[parent.type]
348
+ unless parenttype
349
+ return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
350
+ extraattr)
351
+ end
352
+
353
+ definedtype_name = parenttype.child_type(elename)
354
+ if definedtype_name and (klass = TypeMap[definedtype_name])
355
+ return decode_basetype(klass, elename)
356
+ elsif definedtype_name == XSD::AnyTypeName
357
+ return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
358
+ extraattr)
359
+ end
360
+
361
+ if definedtype_name
362
+ typedef = @decode_typemap[definedtype_name]
363
+ else
364
+ typedef = parenttype.child_defined_complextype(elename)
365
+ end
366
+ decode_definedtype(elename, definedtype_name, typedef, arytypestr)
367
+ end
368
+
369
+ def decode_definedtype(elename, typename, typedef, arytypestr)
370
+ unless typedef
371
+ raise EncodingStyleError.new("unknown type '#{typename}'")
372
+ end
373
+ if typedef.is_a?(::WSDL::XMLSchema::SimpleType)
374
+ decode_defined_simpletype(elename, typename, typedef, arytypestr)
375
+ else
376
+ decode_defined_complextype(elename, typename, typedef, arytypestr)
377
+ end
378
+ end
379
+
380
+ def decode_basetype(klass, elename)
381
+ klass.decode(elename)
382
+ end
383
+
384
+ def decode_defined_simpletype(elename, typename, typedef, arytypestr)
385
+ o = decode_basetype(TypeMap[typedef.base], elename)
386
+ o.definedtype = typedef
387
+ o
388
+ end
389
+
390
+ def decode_defined_complextype(elename, typename, typedef, arytypestr)
391
+ case typedef.compoundtype
392
+ when :TYPE_STRUCT, :TYPE_MAP
393
+ o = SOAPStruct.decode(elename, typename)
394
+ o.definedtype = typedef
395
+ return o
396
+ when :TYPE_ARRAY
397
+ expected_arytype = typedef.find_arytype
398
+ if arytypestr
399
+ actual_arytype = XSD::QName.new(expected_arytype.namespace,
400
+ content_typename(expected_arytype.name) <<
401
+ content_ranksize(arytypestr))
402
+ o = SOAPArray.decode(elename, typename, actual_arytype)
403
+ else
404
+ o = SOAPArray.new(typename, 1, expected_arytype)
405
+ o.elename = elename
406
+ end
407
+ o.definedtype = typedef
408
+ return o
409
+ when :TYPE_EMPTY
410
+ o = SOAPNil.decode(elename)
411
+ o.definedtype = typedef
412
+ return o
413
+ else
414
+ raise RuntimeError.new(
415
+ "Unknown kind of complexType: #{typedef.compoundtype}")
416
+ end
417
+ nil
418
+ end
419
+
420
+ def decode_tag_by_type(ns, elename, typestr, parent, arytypestr, extraattr)
421
+ if arytypestr
422
+ type = typestr ? ns.parse(typestr) : ValueArrayName
423
+ node = SOAPArray.decode(elename, type, ns.parse(arytypestr))
424
+ node.extraattr.update(extraattr)
425
+ return node
426
+ end
427
+
428
+ type = nil
429
+ if typestr
430
+ type = ns.parse(typestr)
431
+ elsif parent.is_a?(SOAPArray)
432
+ type = parent.arytype
433
+ else
434
+ # Since it's in dynamic(without any type) encoding process,
435
+ # assumes entity as its type itself.
436
+ # <SOAP-ENC:Array ...> => type Array in SOAP-ENC.
437
+ # <Country xmlns="foo"> => type Country in foo.
438
+ type = elename
439
+ end
440
+
441
+ if (klass = TypeMap[type])
442
+ node = decode_basetype(klass, elename)
443
+ node.extraattr.update(extraattr)
444
+ return node
445
+ end
446
+
447
+ # Unknown type... Struct or String
448
+ SOAPUnknown.new(self, elename, type, extraattr)
449
+ end
450
+
451
+ def decode_textbuf(node)
452
+ case node
453
+ when XSD::XSDHexBinary, XSD::XSDBase64Binary
454
+ node.set_encoded(@textbuf)
455
+ when XSD::XSDString
456
+ if @charset
457
+ @textbuf = XSD::Charset.encoding_from_xml(@textbuf, @charset)
458
+ end
459
+ if node.definedtype
460
+ node.definedtype.check_lexical_format(@textbuf)
461
+ end
462
+ node.set(@textbuf)
463
+ when SOAPNil
464
+ # Nothing to do.
465
+ when SOAPBasetype
466
+ node.set(@textbuf)
467
+ else
468
+ # Nothing to do...
469
+ end
470
+ @textbuf = ''
471
+ end
472
+
473
+ NilLiteralMap = {
474
+ 'true' => true,
475
+ '1' => true,
476
+ 'false' => false,
477
+ '0' => false
478
+ }
479
+ RootLiteralMap = {
480
+ '1' => 1,
481
+ '0' => 0
482
+ }
483
+ def decode_attrs(ns, attrs)
484
+ is_nil = false
485
+ type = nil
486
+ arytype = nil
487
+ root = nil
488
+ offset = nil
489
+ position = nil
490
+ href = nil
491
+ id = nil
492
+ extraattr = {}
493
+
494
+ attrs.each do |key, value|
495
+ qname = ns.parse(key)
496
+ case qname.namespace
497
+ when XSD::InstanceNamespace
498
+ case qname.name
499
+ when XSD::NilLiteral
500
+ is_nil = NilLiteralMap[value] or
501
+ raise EncodingStyleError.new("cannot accept attribute value: #{value} as the value of xsi:#{XSD::NilLiteral} (expected 'true', 'false', '1', or '0')")
502
+ next
503
+ when XSD::AttrType
504
+ type = value
505
+ next
506
+ end
507
+ when EncodingNamespace
508
+ case qname.name
509
+ when AttrArrayType
510
+ arytype = value
511
+ next
512
+ when AttrRoot
513
+ root = RootLiteralMap[value] or
514
+ raise EncodingStyleError.new(
515
+ "illegal root attribute value: #{value}")
516
+ next
517
+ when AttrOffset
518
+ offset = value
519
+ next
520
+ when AttrPosition
521
+ position = value
522
+ next
523
+ end
524
+ end
525
+ if key == 'href'
526
+ href = value
527
+ next
528
+ elsif key == 'id'
529
+ id = value
530
+ next
531
+ end
532
+ qname = ns.parse_local(key)
533
+ extraattr[qname] = decode_attr_value(ns, qname, value)
534
+ end
535
+
536
+ return is_nil, type, arytype, root, offset, position, href, id, extraattr
537
+ end
538
+
539
+ def decode_attr_value(ns, qname, value)
540
+ if /\A#/ =~ value
541
+ o = SOAPReference.decode(nil, value)
542
+ @refpool << o
543
+ o
544
+ else
545
+ value
546
+ end
547
+ end
548
+
549
+ def decode_arypos(position)
550
+ /^\[(.+)\]$/ =~ position
551
+ $1.split(',').collect { |s| s.to_i }
552
+ end
553
+
554
+ def decode_resolve_id
555
+ count = @refpool.length # To avoid infinite loop
556
+ while !@refpool.empty? && count > 0
557
+ @refpool = @refpool.find_all { |ref|
558
+ o = @idpool.find { |item|
559
+ item.id == ref.refid
560
+ }
561
+ if o.is_a?(SOAPReference)
562
+ true # link of link.
563
+ elsif o
564
+ ref.__setobj__(o)
565
+ false
566
+ elsif o = ref.rootnode.external_content[ref.refid]
567
+ ref.__setobj__(o)
568
+ false
569
+ else
570
+ raise EncodingStyleError.new("unresolved reference: #{ref.refid}")
571
+ end
572
+ }
573
+ count -= 1
574
+ end
575
+ end
576
+ end
577
+
578
+ SOAPHandler.new
579
+
580
+
581
+ end
582
+ end