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,10 @@
1
+ # SOAP4R - Ruby type mapping utility.
2
+ # Copyright (C) 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/mapping/mapping'
10
+ require 'soap/mapping/registry'
@@ -0,0 +1,355 @@
1
+ # SOAP4R - Mapping factory.
2
+ # Copyright (C) 2000, 2001, 2002, 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
+ module SOAP
10
+ module Mapping
11
+
12
+
13
+ class Factory
14
+ include TraverseSupport
15
+
16
+ def initialize
17
+ # nothing to do
18
+ end
19
+
20
+ def obj2soap(soap_class, obj, info, map)
21
+ raise NotImplementError.new
22
+ # return soap_obj
23
+ end
24
+
25
+ def soap2obj(obj_class, node, info, map)
26
+ raise NotImplementError.new
27
+ # return convert_succeeded_or_not, obj
28
+ end
29
+
30
+ def setiv2obj(obj, node, map)
31
+ return if node.nil?
32
+ if obj.is_a?(Array)
33
+ setiv2ary(obj, node, map)
34
+ else
35
+ setiv2struct(obj, node, map)
36
+ end
37
+ end
38
+
39
+ def setiv2soap(node, obj, map)
40
+ if obj.class.class_variables.include?('@@schema_element')
41
+ obj.class.class_eval('@@schema_element').each do |name, info|
42
+ type, qname = info
43
+ if qname
44
+ elename = qname.name
45
+ else
46
+ elename = Mapping.name2elename(name)
47
+ end
48
+ node.add(elename,
49
+ Mapping._obj2soap(obj.instance_variable_get('@' + name), map))
50
+ end
51
+ else
52
+ # should we sort instance_variables?
53
+ obj.instance_variables.each do |var|
54
+ name = var.sub(/^@/, '')
55
+ elename = Mapping.name2elename(name)
56
+ node.add(elename,
57
+ Mapping._obj2soap(obj.instance_variable_get(var), map))
58
+ end
59
+ end
60
+ end
61
+
62
+ private
63
+
64
+ def setiv2ary(obj, node, map)
65
+ node.each do |name, value|
66
+ Array.instance_method(:<<).bind(obj).call(Mapping._soap2obj(value, map))
67
+ end
68
+ end
69
+
70
+ def setiv2struct(obj, node, map)
71
+ vars = {}
72
+ node.each do |name, value|
73
+ vars[Mapping.elename2name(name)] = Mapping._soap2obj(value, map)
74
+ end
75
+ Mapping.set_attributes(obj, vars)
76
+ end
77
+ end
78
+
79
+ class StringFactory_ < Factory
80
+ def initialize(allow_original_mapping = false)
81
+ super()
82
+ @allow_original_mapping = allow_original_mapping
83
+ end
84
+
85
+ def obj2soap(soap_class, obj, info, map)
86
+ if !@allow_original_mapping and !obj.instance_variables.empty?
87
+ return nil
88
+ end
89
+ begin
90
+ unless XSD::Charset.is_ces(obj, Thread.current[:SOAPExternalCES])
91
+ return nil
92
+ end
93
+ encoded = XSD::Charset.encoding_conv(obj,
94
+ Thread.current[:SOAPExternalCES], XSD::Charset.encoding)
95
+ soap_obj = soap_class.new(encoded)
96
+ rescue XSD::ValueSpaceError
97
+ return nil
98
+ end
99
+ mark_marshalled_obj(obj, soap_obj)
100
+ soap_obj
101
+ end
102
+
103
+ def soap2obj(obj_class, node, info, map)
104
+ obj = Mapping.create_empty_object(obj_class)
105
+ decoded = XSD::Charset.encoding_conv(node.data, XSD::Charset.encoding,
106
+ Thread.current[:SOAPExternalCES])
107
+ obj.replace(decoded)
108
+ mark_unmarshalled_obj(node, obj)
109
+ return true, obj
110
+ end
111
+ end
112
+
113
+ class BasetypeFactory_ < Factory
114
+ def initialize(allow_original_mapping = false)
115
+ super()
116
+ @allow_original_mapping = allow_original_mapping
117
+ end
118
+
119
+ def obj2soap(soap_class, obj, info, map)
120
+ if !@allow_original_mapping and !obj.instance_variables.empty?
121
+ return nil
122
+ end
123
+ soap_obj = nil
124
+ begin
125
+ soap_obj = soap_class.new(obj)
126
+ rescue XSD::ValueSpaceError
127
+ return nil
128
+ end
129
+ if @allow_original_mapping
130
+ # Basetype except String should not be multiref-ed in SOAP/1.1.
131
+ mark_marshalled_obj(obj, soap_obj)
132
+ end
133
+ soap_obj
134
+ end
135
+
136
+ def soap2obj(obj_class, node, info, map)
137
+ obj = node.data
138
+ mark_unmarshalled_obj(node, obj)
139
+ return true, obj
140
+ end
141
+ end
142
+
143
+ class DateTimeFactory_ < Factory
144
+ def initialize(allow_original_mapping = false)
145
+ super()
146
+ @allow_original_mapping = allow_original_mapping
147
+ end
148
+
149
+ def obj2soap(soap_class, obj, info, map)
150
+ if !@allow_original_mapping and
151
+ Time === obj and !obj.instance_variables.empty?
152
+ return nil
153
+ end
154
+ soap_obj = nil
155
+ begin
156
+ soap_obj = soap_class.new(obj)
157
+ rescue XSD::ValueSpaceError
158
+ return nil
159
+ end
160
+ mark_marshalled_obj(obj, soap_obj)
161
+ soap_obj
162
+ end
163
+
164
+ def soap2obj(obj_class, node, info, map)
165
+ if node.respond_to?(:to_obj)
166
+ obj = node.to_obj(obj_class)
167
+ return false if obj.nil?
168
+ mark_unmarshalled_obj(node, obj)
169
+ return true, obj
170
+ else
171
+ return false
172
+ end
173
+ end
174
+ end
175
+
176
+ class Base64Factory_ < Factory
177
+ def obj2soap(soap_class, obj, info, map)
178
+ return nil unless obj.instance_variables.empty?
179
+ soap_obj = soap_class.new(obj)
180
+ mark_marshalled_obj(obj, soap_obj) if soap_obj
181
+ soap_obj
182
+ end
183
+
184
+ def soap2obj(obj_class, node, info, map)
185
+ obj = node.string
186
+ mark_unmarshalled_obj(node, obj)
187
+ return true, obj
188
+ end
189
+ end
190
+
191
+ class URIFactory_ < Factory
192
+ def obj2soap(soap_class, obj, info, map)
193
+ soap_obj = soap_class.new(obj)
194
+ mark_marshalled_obj(obj, soap_obj) if soap_obj
195
+ soap_obj
196
+ end
197
+
198
+ def soap2obj(obj_class, node, info, map)
199
+ obj = node.data
200
+ mark_unmarshalled_obj(node, obj)
201
+ return true, obj
202
+ end
203
+ end
204
+
205
+ class ArrayFactory_ < Factory
206
+ def initialize(allow_original_mapping = false)
207
+ super()
208
+ @allow_original_mapping = allow_original_mapping
209
+ end
210
+
211
+ # [[1], [2]] is converted to Array of Array, not 2-D Array.
212
+ # To create M-D Array, you must call Mapping.ary2md.
213
+ def obj2soap(soap_class, obj, info, map)
214
+ if !@allow_original_mapping and !obj.instance_variables.empty?
215
+ return nil
216
+ end
217
+ arytype = Mapping.obj2element(obj)
218
+ if arytype.name
219
+ arytype.namespace ||= RubyTypeNamespace
220
+ else
221
+ arytype = XSD::AnyTypeName
222
+ end
223
+ soap_obj = SOAPArray.new(ValueArrayName, 1, arytype)
224
+ mark_marshalled_obj(obj, soap_obj)
225
+ obj.each do |item|
226
+ soap_obj.add(Mapping._obj2soap(item, map))
227
+ end
228
+ soap_obj
229
+ end
230
+
231
+ def soap2obj(obj_class, node, info, map)
232
+ obj = Mapping.create_empty_object(obj_class)
233
+ mark_unmarshalled_obj(node, obj)
234
+ node.soap2array(obj) do |elem|
235
+ elem ? Mapping._soap2obj(elem, map) : nil
236
+ end
237
+ return true, obj
238
+ end
239
+ end
240
+
241
+ class TypedArrayFactory_ < Factory
242
+ def initialize(allow_original_mapping = false)
243
+ super()
244
+ @allow_original_mapping = allow_original_mapping
245
+ end
246
+
247
+ def obj2soap(soap_class, obj, info, map)
248
+ if !@allow_original_mapping and !obj.instance_variables.empty?
249
+ return nil
250
+ end
251
+ arytype = info[:type] || info[0]
252
+ soap_obj = SOAPArray.new(ValueArrayName, 1, arytype)
253
+ mark_marshalled_obj(obj, soap_obj)
254
+ obj.each do |var|
255
+ soap_obj.add(Mapping._obj2soap(var, map))
256
+ end
257
+ soap_obj
258
+ end
259
+
260
+ def soap2obj(obj_class, node, info, map)
261
+ if node.rank > 1
262
+ return false
263
+ end
264
+ arytype = info[:type] || info[0]
265
+ unless node.arytype == arytype
266
+ return false
267
+ end
268
+ obj = Mapping.create_empty_object(obj_class)
269
+ mark_unmarshalled_obj(node, obj)
270
+ node.soap2array(obj) do |elem|
271
+ elem ? Mapping._soap2obj(elem, map) : nil
272
+ end
273
+ return true, obj
274
+ end
275
+ end
276
+
277
+ class TypedStructFactory_ < Factory
278
+ def obj2soap(soap_class, obj, info, map)
279
+ type = info[:type] || info[0]
280
+ soap_obj = soap_class.new(type)
281
+ mark_marshalled_obj(obj, soap_obj)
282
+ if obj.class <= SOAP::Marshallable
283
+ setiv2soap(soap_obj, obj, map)
284
+ else
285
+ setiv2soap(soap_obj, obj, map)
286
+ end
287
+ soap_obj
288
+ end
289
+
290
+ def soap2obj(obj_class, node, info, map)
291
+ type = info[:type] || info[0]
292
+ unless node.type == type
293
+ return false
294
+ end
295
+ obj = Mapping.create_empty_object(obj_class)
296
+ mark_unmarshalled_obj(node, obj)
297
+ setiv2obj(obj, node, map)
298
+ return true, obj
299
+ end
300
+ end
301
+
302
+ MapQName = XSD::QName.new(ApacheSOAPTypeNamespace, 'Map')
303
+ class HashFactory_ < Factory
304
+ def initialize(allow_original_mapping = false)
305
+ super()
306
+ @allow_original_mapping = allow_original_mapping
307
+ end
308
+
309
+ def obj2soap(soap_class, obj, info, map)
310
+ if !@allow_original_mapping and !obj.instance_variables.empty?
311
+ return nil
312
+ end
313
+ if !obj.default.nil? or
314
+ (obj.respond_to?(:default_proc) and obj.default_proc)
315
+ return nil
316
+ end
317
+ soap_obj = SOAPStruct.new(MapQName)
318
+ mark_marshalled_obj(obj, soap_obj)
319
+ obj.each do |key, value|
320
+ elem = SOAPStruct.new
321
+ elem.add("key", Mapping._obj2soap(key, map))
322
+ elem.add("value", Mapping._obj2soap(value, map))
323
+ # ApacheAxis allows only 'item' here.
324
+ soap_obj.add("item", elem)
325
+ end
326
+ soap_obj
327
+ end
328
+
329
+ def soap2obj(obj_class, node, info, map)
330
+ unless node.type == MapQName
331
+ return false
332
+ end
333
+ if node.class == SOAPStruct and node.key?('default')
334
+ return false
335
+ end
336
+ obj = Mapping.create_empty_object(obj_class)
337
+ mark_unmarshalled_obj(node, obj)
338
+ if node.class == SOAPStruct
339
+ node.each do |key, value|
340
+ obj[Mapping._soap2obj(value['key'], map)] =
341
+ Mapping._soap2obj(value['value'], map)
342
+ end
343
+ else
344
+ node.each do |value|
345
+ obj[Mapping._soap2obj(value['key'], map)] =
346
+ Mapping._soap2obj(value['value'], map)
347
+ end
348
+ end
349
+ return true, obj
350
+ end
351
+ end
352
+
353
+
354
+ end
355
+ end
@@ -0,0 +1,381 @@
1
+ # SOAP4R - Ruby type mapping utility.
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/codegen/gensupport'
10
+
11
+
12
+ module SOAP
13
+
14
+
15
+ module Mapping
16
+ RubyTypeNamespace = 'http://www.ruby-lang.org/xmlns/ruby/type/1.6'
17
+ RubyTypeInstanceNamespace =
18
+ 'http://www.ruby-lang.org/xmlns/ruby/type-instance'
19
+ RubyCustomTypeNamespace = 'http://www.ruby-lang.org/xmlns/ruby/type/custom'
20
+ ApacheSOAPTypeNamespace = 'http://xml.apache.org/xml-soap'
21
+
22
+
23
+ # TraverseSupport breaks following thread variables.
24
+ # Thread.current[:SOAPMarshalDataKey]
25
+ module TraverseSupport
26
+ def mark_marshalled_obj(obj, soap_obj)
27
+ raise if obj.nil?
28
+ Thread.current[:SOAPMarshalDataKey][obj.__id__] = soap_obj
29
+ end
30
+
31
+ def mark_unmarshalled_obj(node, obj)
32
+ return if obj.nil?
33
+ # node.id is not Object#id but SOAPReference#id
34
+ Thread.current[:SOAPMarshalDataKey][node.id] = obj
35
+ end
36
+ end
37
+
38
+
39
+ EMPTY_OPT = {}
40
+ def self.obj2soap(obj, registry = nil, type = nil, opt = EMPTY_OPT)
41
+ registry ||= Mapping::DefaultRegistry
42
+ soap_obj = nil
43
+ protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do
44
+ Thread.current[:SOAPMarshalDataKey] = {}
45
+ Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE
46
+ Thread.current[:SOAPMarshalNoReference] = opt[:no_reference]
47
+ soap_obj = _obj2soap(obj, registry, type)
48
+ end
49
+ soap_obj
50
+ end
51
+
52
+ def self.soap2obj(node, registry = nil, klass = nil, opt = EMPTY_OPT)
53
+ registry ||= Mapping::DefaultRegistry
54
+ obj = nil
55
+ protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do
56
+ Thread.current[:SOAPMarshalDataKey] = {}
57
+ Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE
58
+ Thread.current[:SOAPMarshalNoReference] = opt[:no_reference]
59
+ obj = _soap2obj(node, registry, klass)
60
+ end
61
+ obj
62
+ end
63
+
64
+ def self.ary2soap(ary, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT)
65
+ registry ||= Mapping::DefaultRegistry
66
+ type = XSD::QName.new(type_ns, typename)
67
+ soap_ary = SOAPArray.new(ValueArrayName, 1, type)
68
+ protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do
69
+ Thread.current[:SOAPMarshalDataKey] = {}
70
+ Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE
71
+ Thread.current[:SOAPMarshalNoReference] = opt[:no_reference]
72
+ ary.each do |ele|
73
+ soap_ary.add(_obj2soap(ele, registry, type))
74
+ end
75
+ end
76
+ soap_ary
77
+ end
78
+
79
+ def self.ary2md(ary, rank, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT)
80
+ registry ||= Mapping::DefaultRegistry
81
+ type = XSD::QName.new(type_ns, typename)
82
+ md_ary = SOAPArray.new(ValueArrayName, rank, type)
83
+ protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do
84
+ Thread.current[:SOAPMarshalDataKey] = {}
85
+ Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE
86
+ Thread.current[:SOAPMarshalNoReference] = opt[:no_reference]
87
+ add_md_ary(md_ary, ary, [], registry)
88
+ end
89
+ md_ary
90
+ end
91
+
92
+ def self.fault2exception(fault, registry = nil)
93
+ registry ||= Mapping::DefaultRegistry
94
+ detail = if fault.detail
95
+ soap2obj(fault.detail, registry) || ""
96
+ else
97
+ ""
98
+ end
99
+ if detail.is_a?(Mapping::SOAPException)
100
+ begin
101
+ e = detail.to_e
102
+ remote_backtrace = e.backtrace
103
+ e.set_backtrace(nil)
104
+ raise e # ruby sets current caller as local backtrace of e => e2.
105
+ rescue Exception => e
106
+ e.set_backtrace(remote_backtrace + e.backtrace[1..-1])
107
+ raise
108
+ end
109
+ else
110
+ fault.detail = detail
111
+ fault.set_backtrace(
112
+ if detail.is_a?(Array)
113
+ detail
114
+ else
115
+ [detail.to_s]
116
+ end
117
+ )
118
+ raise
119
+ end
120
+ end
121
+
122
+ def self._obj2soap(obj, registry, type = nil)
123
+ if referent = Thread.current[:SOAPMarshalDataKey][obj.__id__] and
124
+ !Thread.current[:SOAPMarshalNoReference]
125
+ SOAPReference.new(referent)
126
+ elsif registry
127
+ registry.obj2soap(obj, type)
128
+ else
129
+ raise MappingError.new("no mapping registry given")
130
+ end
131
+ end
132
+
133
+ def self._soap2obj(node, registry, klass = nil)
134
+ if node.nil?
135
+ return nil
136
+ elsif node.is_a?(SOAPReference)
137
+ target = node.__getobj__
138
+ # target.id is not Object#id but SOAPReference#id
139
+ if referent = Thread.current[:SOAPMarshalDataKey][target.id] and
140
+ !Thread.current[:SOAPMarshalNoReference]
141
+ return referent
142
+ else
143
+ return _soap2obj(target, registry, klass)
144
+ end
145
+ end
146
+ return registry.soap2obj(node, klass)
147
+ end
148
+
149
+ if Object.respond_to?(:allocate)
150
+ # ruby/1.7 or later.
151
+ def self.create_empty_object(klass)
152
+ klass.allocate
153
+ end
154
+ else
155
+ MARSHAL_TAG = {
156
+ String => ['"', 1],
157
+ Regexp => ['/', 2],
158
+ Array => ['[', 1],
159
+ Hash => ['{', 1]
160
+ }
161
+ def self.create_empty_object(klass)
162
+ if klass <= Struct
163
+ name = klass.name
164
+ return ::Marshal.load(sprintf("\004\006S:%c%s\000", name.length + 5, name))
165
+ end
166
+ if MARSHAL_TAG.has_key?(klass)
167
+ tag, terminate = MARSHAL_TAG[klass]
168
+ return ::Marshal.load(sprintf("\004\006%s%s", tag, "\000" * terminate))
169
+ end
170
+ MARSHAL_TAG.each do |k, v|
171
+ if klass < k
172
+ name = klass.name
173
+ tag, terminate = v
174
+ return ::Marshal.load(sprintf("\004\006C:%c%s%s%s", name.length + 5, name, tag, "\000" * terminate))
175
+ end
176
+ end
177
+ name = klass.name
178
+ ::Marshal.load(sprintf("\004\006o:%c%s\000", name.length + 5, name))
179
+ end
180
+ end
181
+
182
+ # Allow only (Letter | '_') (Letter | Digit | '-' | '_')* here.
183
+ # Caution: '.' is not allowed here.
184
+ # To follow XML spec., it should be NCName.
185
+ # (denied chars) => .[0-F][0-F]
186
+ # ex. a.b => a.2eb
187
+ #
188
+ def self.name2elename(name)
189
+ name.gsub(/([^a-zA-Z0-9:_\-]+)/n) {
190
+ '.' << $1.unpack('H2' * $1.size).join('.')
191
+ }.gsub(/::/n, '..')
192
+ end
193
+
194
+ def self.elename2name(name)
195
+ name.gsub(/\.\./n, '::').gsub(/((?:\.[0-9a-fA-F]{2})+)/n) {
196
+ [$1.delete('.')].pack('H*')
197
+ }
198
+ end
199
+
200
+ def self.const_from_name(name, lenient = false)
201
+ const = ::Object
202
+ name.sub(/\A::/, '').split('::').each do |const_str|
203
+ if XSD::CodeGen::GenSupport.safeconstname?(const_str)
204
+ if const.const_defined?(const_str)
205
+ const = const.const_get(const_str)
206
+ next
207
+ end
208
+ elsif lenient
209
+ const_str = XSD::CodeGen::GenSupport.safeconstname(const_str)
210
+ if const.const_defined?(const_str)
211
+ const = const.const_get(const_str)
212
+ next
213
+ end
214
+ end
215
+ return nil
216
+ end
217
+ const
218
+ end
219
+
220
+ def self.class_from_name(name, lenient = false)
221
+ const = const_from_name(name, lenient)
222
+ if const.is_a?(::Class)
223
+ const
224
+ else
225
+ nil
226
+ end
227
+ end
228
+
229
+ def self.module_from_name(name, lenient = false)
230
+ const = const_from_name(name, lenient)
231
+ if const.is_a?(::Module)
232
+ const
233
+ else
234
+ nil
235
+ end
236
+ end
237
+
238
+ def self.class2qname(klass)
239
+ name = schema_type_definition(klass)
240
+ namespace = schema_ns_definition(klass)
241
+ XSD::QName.new(namespace, name)
242
+ end
243
+
244
+ def self.class2element(klass)
245
+ type = Mapping.class2qname(klass)
246
+ type.name ||= Mapping.name2elename(klass.name)
247
+ type.namespace ||= RubyCustomTypeNamespace
248
+ type
249
+ end
250
+
251
+ def self.obj2element(obj)
252
+ name = namespace = nil
253
+ ivars = obj.instance_variables
254
+ if ivars.include?('@schema_type')
255
+ name = obj.instance_variable_get('@schema_type')
256
+ end
257
+ if ivars.include?('@schema_ns')
258
+ namespace = obj.instance_variable_get('@schema_ns')
259
+ end
260
+ if !name or !namespace
261
+ class2qname(obj.class)
262
+ else
263
+ XSD::QName.new(namespace, name)
264
+ end
265
+ end
266
+
267
+ def self.define_singleton_method(obj, name, &block)
268
+ sclass = (class << obj; self; end)
269
+ sclass.class_eval {
270
+ define_method(name, &block)
271
+ }
272
+ end
273
+
274
+ def self.get_attribute(obj, attr_name)
275
+ if obj.is_a?(::Hash)
276
+ obj[attr_name] || obj[attr_name.intern]
277
+ else
278
+ name = XSD::CodeGen::GenSupport.safevarname(attr_name)
279
+ if obj.instance_variables.include?('@' + name)
280
+ obj.instance_variable_get('@' + name)
281
+ elsif ((obj.is_a?(::Struct) or obj.is_a?(Marshallable)) and
282
+ obj.respond_to?(name))
283
+ obj.__send__(name)
284
+ end
285
+ end
286
+ end
287
+
288
+ def self.set_attributes(obj, values)
289
+ if obj.is_a?(::SOAP::Mapping::Object)
290
+ values.each do |attr_name, value|
291
+ obj.__add_xmlele_value(attr_name, value)
292
+ end
293
+ else
294
+ values.each do |attr_name, value|
295
+ name = XSD::CodeGen::GenSupport.safevarname(attr_name)
296
+ setter = name + "="
297
+ if obj.respond_to?(setter)
298
+ obj.__send__(setter, value)
299
+ else
300
+ obj.instance_variable_set('@' + name, value)
301
+ begin
302
+ define_attr_accessor(obj, name,
303
+ proc { instance_variable_get('@' + name) },
304
+ proc { |value| instance_variable_set('@' + name, value) })
305
+ rescue TypeError
306
+ # singleton class may not exist (e.g. Float)
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
312
+
313
+ def self.define_attr_accessor(obj, name, getterproc, setterproc = nil)
314
+ define_singleton_method(obj, name, &getterproc)
315
+ define_singleton_method(obj, name + '=', &setterproc) if setterproc
316
+ end
317
+
318
+ def self.schema_type_definition(klass)
319
+ class_schema_variable(:schema_type, klass)
320
+ end
321
+
322
+ def self.schema_ns_definition(klass)
323
+ class_schema_variable(:schema_ns, klass)
324
+ end
325
+
326
+ def self.schema_element_definition(klass)
327
+ schema_element = class_schema_variable(:schema_element, klass) or return nil
328
+ schema_ns = schema_ns_definition(klass)
329
+ elements = []
330
+ as_array = []
331
+ schema_element.each do |varname, definition|
332
+ class_name, name = definition
333
+ if /\[\]$/ =~ class_name
334
+ class_name = class_name.sub(/\[\]$/, '')
335
+ as_array << (name ? name.name : varname)
336
+ end
337
+ elements << [name || XSD::QName.new(schema_ns, varname), class_name]
338
+ end
339
+ [elements, as_array]
340
+ end
341
+
342
+ def self.schema_attribute_definition(klass)
343
+ class_schema_variable(:schema_attribute, klass)
344
+ end
345
+
346
+ class << Mapping
347
+ private
348
+
349
+ def class_schema_variable(sym, klass)
350
+ var = "@@#{sym}"
351
+ klass.class_variables.include?(var) ? klass.class_eval(var) : nil
352
+ end
353
+
354
+ def protect_threadvars(*symbols)
355
+ backup = {}
356
+ begin
357
+ symbols.each do |sym|
358
+ backup[sym] = Thread.current[sym]
359
+ end
360
+ yield
361
+ ensure
362
+ symbols.each do |sym|
363
+ Thread.current[sym] = backup[sym]
364
+ end
365
+ end
366
+ end
367
+
368
+ def add_md_ary(md_ary, ary, indices, registry)
369
+ for idx in 0..(ary.size - 1)
370
+ if ary[idx].is_a?(Array)
371
+ add_md_ary(md_ary, ary[idx], indices + [idx], registry)
372
+ else
373
+ md_ary[*(indices + [idx])] = _obj2soap(ary[idx], registry)
374
+ end
375
+ end
376
+ end
377
+ end
378
+ end
379
+
380
+
381
+ end