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,1269 @@
1
+ # XSD4R - XML Schema Datatype implementation.
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
+ require 'xsd/qname'
10
+ require 'xsd/charset'
11
+ require 'uri'
12
+
13
+
14
+ ###
15
+ ## XMLSchamaDatatypes general definitions.
16
+ #
17
+ module XSD
18
+
19
+
20
+ Namespace = 'http://www.w3.org/2001/XMLSchema'
21
+ InstanceNamespace = 'http://www.w3.org/2001/XMLSchema-instance'
22
+
23
+ AttrType = 'type'
24
+ NilValue = 'true'
25
+
26
+ AnyTypeLiteral = 'anyType'
27
+ AnySimpleTypeLiteral = 'anySimpleType'
28
+ NilLiteral = 'nil'
29
+ StringLiteral = 'string'
30
+ BooleanLiteral = 'boolean'
31
+ DecimalLiteral = 'decimal'
32
+ FloatLiteral = 'float'
33
+ DoubleLiteral = 'double'
34
+ DurationLiteral = 'duration'
35
+ DateTimeLiteral = 'dateTime'
36
+ TimeLiteral = 'time'
37
+ DateLiteral = 'date'
38
+ GYearMonthLiteral = 'gYearMonth'
39
+ GYearLiteral = 'gYear'
40
+ GMonthDayLiteral = 'gMonthDay'
41
+ GDayLiteral = 'gDay'
42
+ GMonthLiteral = 'gMonth'
43
+ HexBinaryLiteral = 'hexBinary'
44
+ Base64BinaryLiteral = 'base64Binary'
45
+ AnyURILiteral = 'anyURI'
46
+ QNameLiteral = 'QName'
47
+
48
+ NormalizedStringLiteral = 'normalizedString'
49
+ #3.3.2 token
50
+ #3.3.3 language
51
+ #3.3.4 NMTOKEN
52
+ #3.3.5 NMTOKENS
53
+ #3.3.6 Name
54
+ #3.3.7 NCName
55
+ #3.3.8 ID
56
+ #3.3.9 IDREF
57
+ #3.3.10 IDREFS
58
+ #3.3.11 ENTITY
59
+ #3.3.12 ENTITIES
60
+ IntegerLiteral = 'integer'
61
+ NonPositiveIntegerLiteral = 'nonPositiveInteger'
62
+ NegativeIntegerLiteral = 'negativeInteger'
63
+ LongLiteral = 'long'
64
+ IntLiteral = 'int'
65
+ ShortLiteral = 'short'
66
+ ByteLiteral = 'byte'
67
+ NonNegativeIntegerLiteral = 'nonNegativeInteger'
68
+ UnsignedLongLiteral = 'unsignedLong'
69
+ UnsignedIntLiteral = 'unsignedInt'
70
+ UnsignedShortLiteral = 'unsignedShort'
71
+ UnsignedByteLiteral = 'unsignedByte'
72
+ PositiveIntegerLiteral = 'positiveInteger'
73
+
74
+ AttrTypeName = QName.new(InstanceNamespace, AttrType)
75
+ AttrNilName = QName.new(InstanceNamespace, NilLiteral)
76
+
77
+ AnyTypeName = QName.new(Namespace, AnyTypeLiteral)
78
+ AnySimpleTypeName = QName.new(Namespace, AnySimpleTypeLiteral)
79
+
80
+ class Error < StandardError; end
81
+ class ValueSpaceError < Error; end
82
+
83
+
84
+ ###
85
+ ## The base class of all datatypes with Namespace.
86
+ #
87
+ class NSDBase
88
+ @@types = []
89
+
90
+ attr_accessor :type
91
+
92
+ def self.inherited(klass)
93
+ @@types << klass
94
+ end
95
+
96
+ def self.types
97
+ @@types
98
+ end
99
+
100
+ def initialize
101
+ end
102
+
103
+ def init(type)
104
+ @type = type
105
+ end
106
+ end
107
+
108
+
109
+ ###
110
+ ## The base class of XSD datatypes.
111
+ #
112
+ class XSDAnySimpleType < NSDBase
113
+ include XSD
114
+ Type = QName.new(Namespace, AnySimpleTypeLiteral)
115
+
116
+ # @data represents canonical space (ex. Integer: 123).
117
+ attr_reader :data
118
+ # @is_nil represents this data is nil or not.
119
+ attr_accessor :is_nil
120
+
121
+ def initialize(value = nil)
122
+ init(Type, value)
123
+ end
124
+
125
+ # true or raise
126
+ def check_lexical_format(value)
127
+ screen_data(value)
128
+ true
129
+ end
130
+
131
+ # set accepts a string which follows lexical space (ex. String: "+123"), or
132
+ # an object which follows canonical space (ex. Integer: 123).
133
+ def set(value)
134
+ if value.nil?
135
+ @is_nil = true
136
+ @data = nil
137
+ _set(nil)
138
+ else
139
+ @is_nil = false
140
+ _set(screen_data(value))
141
+ end
142
+ end
143
+
144
+ # to_s creates a string which follows lexical space (ex. String: "123").
145
+ def to_s()
146
+ if @is_nil
147
+ ""
148
+ else
149
+ _to_s
150
+ end
151
+ end
152
+
153
+ private
154
+
155
+ def init(type, value)
156
+ super(type)
157
+ set(value)
158
+ end
159
+
160
+ # raises ValueSpaceError if check failed
161
+ def screen_data(value)
162
+ value
163
+ end
164
+
165
+ def _set(value)
166
+ @data = value
167
+ end
168
+
169
+ def _to_s
170
+ @data.to_s
171
+ end
172
+ end
173
+
174
+ class XSDNil < XSDAnySimpleType
175
+ Type = QName.new(Namespace, NilLiteral)
176
+ Value = 'true'
177
+
178
+ def initialize(value = nil)
179
+ init(Type, value)
180
+ end
181
+ end
182
+
183
+
184
+ ###
185
+ ## Primitive datatypes.
186
+ #
187
+ class XSDString < XSDAnySimpleType
188
+ Type = QName.new(Namespace, StringLiteral)
189
+
190
+ def initialize(value = nil)
191
+ init(Type, value)
192
+ end
193
+
194
+ private
195
+
196
+ def screen_data(value)
197
+ unless XSD::Charset.is_ces(value, XSD::Charset.encoding)
198
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
199
+ end
200
+ value
201
+ end
202
+ end
203
+
204
+ class XSDBoolean < XSDAnySimpleType
205
+ Type = QName.new(Namespace, BooleanLiteral)
206
+
207
+ def initialize(value = nil)
208
+ init(Type, value)
209
+ end
210
+
211
+ private
212
+
213
+ def screen_data(value)
214
+ if value.is_a?(String)
215
+ str = value.strip
216
+ if str == 'true' || str == '1'
217
+ true
218
+ elsif str == 'false' || str == '0'
219
+ false
220
+ else
221
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
222
+ end
223
+ else
224
+ value ? true : false
225
+ end
226
+ end
227
+ end
228
+
229
+ class XSDDecimal < XSDAnySimpleType
230
+ Type = QName.new(Namespace, DecimalLiteral)
231
+
232
+ def initialize(value = nil)
233
+ init(Type, value)
234
+ end
235
+
236
+ def nonzero?
237
+ (@number != '0')
238
+ end
239
+
240
+ private
241
+
242
+ def screen_data(d)
243
+ if d.is_a?(String)
244
+ # Integer("00012") => 10 in Ruby.
245
+ d.sub!(/^([+\-]?)0*(?=\d)/, "\\1")
246
+ end
247
+ screen_data_str(d)
248
+ end
249
+
250
+ def screen_data_str(str)
251
+ /^([+\-]?)(\d*)(?:\.(\d*)?)?$/ =~ str.to_s.strip
252
+ unless Regexp.last_match
253
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
254
+ end
255
+ sign = $1 || '+'
256
+ int_part = $2
257
+ frac_part = $3
258
+ int_part = '0' if int_part.empty?
259
+ frac_part = frac_part ? frac_part.sub(/0+$/, '') : ''
260
+ point = - frac_part.size
261
+ number = int_part + frac_part
262
+ # normalize
263
+ if sign == '+'
264
+ sign = ''
265
+ elsif sign == '-'
266
+ if number == '0'
267
+ sign = ''
268
+ end
269
+ end
270
+ [sign, point, number]
271
+ end
272
+
273
+ def _set(data)
274
+ if data.nil?
275
+ @sign = @point = @number = @data = nil
276
+ return
277
+ end
278
+ @sign, @point, @number = data
279
+ @data = _to_s
280
+ @data.freeze
281
+ end
282
+
283
+ # 0.0 -> 0; right?
284
+ def _to_s
285
+ str = @number.dup
286
+ if @point.nonzero?
287
+ str[@number.size + @point, 0] = '.'
288
+ end
289
+ @sign + str
290
+ end
291
+ end
292
+
293
+ module FloatConstants
294
+ NaN = 0.0/0.0
295
+ POSITIVE_INF = +1.0/0.0
296
+ NEGATIVE_INF = -1.0/0.0
297
+ POSITIVE_ZERO = +1.0/POSITIVE_INF
298
+ NEGATIVE_ZERO = -1.0/POSITIVE_INF
299
+ MIN_POSITIVE_SINGLE = 2.0 ** -149
300
+ end
301
+
302
+ class XSDFloat < XSDAnySimpleType
303
+ include FloatConstants
304
+ Type = QName.new(Namespace, FloatLiteral)
305
+
306
+ def initialize(value = nil)
307
+ init(Type, value)
308
+ end
309
+
310
+ private
311
+
312
+ def screen_data(value)
313
+ # "NaN".to_f => 0 in some environment. libc?
314
+ if value.is_a?(Float)
315
+ return narrow32bit(value)
316
+ end
317
+ str = value.to_s.strip
318
+ if str == 'NaN'
319
+ NaN
320
+ elsif str == 'INF'
321
+ POSITIVE_INF
322
+ elsif str == '-INF'
323
+ NEGATIVE_INF
324
+ else
325
+ if /^[+\-\.\deE]+$/ !~ str
326
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
327
+ end
328
+ # Float("-1.4E") might fail on some system.
329
+ str << '0' if /e$/i =~ str
330
+ begin
331
+ return narrow32bit(Float(str))
332
+ rescue ArgumentError
333
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
334
+ end
335
+ end
336
+ end
337
+
338
+ def _to_s
339
+ if @data.nan?
340
+ 'NaN'
341
+ elsif @data.infinite? == 1
342
+ 'INF'
343
+ elsif @data.infinite? == -1
344
+ '-INF'
345
+ else
346
+ sign = XSDFloat.positive?(@data) ? '+' : '-'
347
+ sign + sprintf("%.10g", @data.abs).sub(/[eE]([+-])?0+/) { 'e' + $1 }
348
+ end
349
+ end
350
+
351
+ # Convert to single-precision 32-bit floating point value.
352
+ def narrow32bit(f)
353
+ if f.nan? || f.infinite?
354
+ f
355
+ elsif f.abs < MIN_POSITIVE_SINGLE
356
+ XSDFloat.positive?(f) ? POSITIVE_ZERO : NEGATIVE_ZERO
357
+ else
358
+ f
359
+ end
360
+ end
361
+
362
+ def self.positive?(value)
363
+ (1 / value) > 0.0
364
+ end
365
+ end
366
+
367
+ # Ruby's Float is double-precision 64-bit floating point value.
368
+ class XSDDouble < XSDAnySimpleType
369
+ include FloatConstants
370
+ Type = QName.new(Namespace, DoubleLiteral)
371
+
372
+ def initialize(value = nil)
373
+ init(Type, value)
374
+ end
375
+
376
+ private
377
+
378
+ def screen_data(value)
379
+ # "NaN".to_f => 0 in some environment. libc?
380
+ if value.is_a?(Float)
381
+ return value
382
+ end
383
+ str = value.to_s.strip
384
+ if str == 'NaN'
385
+ NaN
386
+ elsif str == 'INF'
387
+ POSITIVE_INF
388
+ elsif str == '-INF'
389
+ NEGATIVE_INF
390
+ else
391
+ begin
392
+ return Float(str)
393
+ rescue ArgumentError
394
+ # '1.4e' cannot be parsed on some architecture.
395
+ if /e\z/i =~ str
396
+ begin
397
+ return Float(str + '0')
398
+ rescue ArgumentError
399
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
400
+ end
401
+ else
402
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
403
+ end
404
+ end
405
+ end
406
+ end
407
+
408
+ def _to_s
409
+ if @data.nan?
410
+ 'NaN'
411
+ elsif @data.infinite? == 1
412
+ 'INF'
413
+ elsif @data.infinite? == -1
414
+ '-INF'
415
+ else
416
+ sign = (1 / @data > 0.0) ? '+' : '-'
417
+ sign + sprintf("%.16g", @data.abs).sub(/[eE]([+-])?0+/) { 'e' + $1 }
418
+ end
419
+ end
420
+ end
421
+
422
+ class XSDDuration < XSDAnySimpleType
423
+ Type = QName.new(Namespace, DurationLiteral)
424
+
425
+ attr_accessor :sign
426
+ attr_accessor :year
427
+ attr_accessor :month
428
+ attr_accessor :day
429
+ attr_accessor :hour
430
+ attr_accessor :min
431
+ attr_accessor :sec
432
+
433
+ def initialize(value = nil)
434
+ init(Type, value)
435
+ end
436
+
437
+ private
438
+
439
+ def screen_data(value)
440
+ /^([+\-]?)P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/ =~ value.to_s.strip
441
+ unless Regexp.last_match
442
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
443
+ end
444
+ if ($5 and ((!$2 and !$3 and !$4) or (!$6 and !$7 and !$8)))
445
+ # Should we allow 'PT5S' here?
446
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
447
+ end
448
+ sign = $1
449
+ year = $2.to_i
450
+ month = $3.to_i
451
+ day = $4.to_i
452
+ hour = $6.to_i
453
+ min = $7.to_i
454
+ sec = $8 ? XSDDecimal.new($8) : 0
455
+ [sign, year, month, day, hour, min, sec]
456
+ end
457
+
458
+ def _set(data)
459
+ if data.nil?
460
+ @sign = @year = @month = @day = @hour = @min = @sec = @data = nil
461
+ return
462
+ end
463
+ @sign, @year, @month, @day, @hour, @min, @sec = data
464
+ @data = _to_s
465
+ @data.freeze
466
+ end
467
+
468
+ def _to_s
469
+ str = ''
470
+ str << @sign if @sign
471
+ str << 'P'
472
+ l = ''
473
+ l << "#{ @year }Y" if @year.nonzero?
474
+ l << "#{ @month }M" if @month.nonzero?
475
+ l << "#{ @day }D" if @day.nonzero?
476
+ r = ''
477
+ r << "#{ @hour }H" if @hour.nonzero?
478
+ r << "#{ @min }M" if @min.nonzero?
479
+ r << "#{ @sec }S" if @sec.nonzero?
480
+ str << l
481
+ if l.empty?
482
+ str << "0D"
483
+ end
484
+ unless r.empty?
485
+ str << "T" << r
486
+ end
487
+ str
488
+ end
489
+ end
490
+
491
+
492
+ require 'rational'
493
+ require 'date'
494
+
495
+ module XSDDateTimeImpl
496
+ SecInDay = 86400 # 24 * 60 * 60
497
+
498
+ def to_obj(klass)
499
+ if klass == Time
500
+ to_time
501
+ elsif klass == Date
502
+ to_date
503
+ elsif klass == DateTime
504
+ to_datetime
505
+ else
506
+ nil
507
+ end
508
+ end
509
+
510
+ def to_time
511
+ begin
512
+ if @data.offset * SecInDay == Time.now.utc_offset
513
+ d = @data
514
+ usec = (d.sec_fraction * SecInDay * 1000000).round
515
+ Time.local(d.year, d.month, d.mday, d.hour, d.min, d.sec, usec)
516
+ else
517
+ d = @data.newof
518
+ usec = (d.sec_fraction * SecInDay * 1000000).round
519
+ Time.gm(d.year, d.month, d.mday, d.hour, d.min, d.sec, usec)
520
+ end
521
+ rescue ArgumentError
522
+ nil
523
+ end
524
+ end
525
+
526
+ def to_date
527
+ Date.new0(@data.class.jd_to_ajd(@data.jd, 0, 0), 0, @data.start)
528
+ end
529
+
530
+ def to_datetime
531
+ data
532
+ end
533
+
534
+ def tz2of(str)
535
+ /^(?:Z|(?:([+\-])(\d\d):(\d\d))?)$/ =~ str
536
+ sign = $1
537
+ hour = $2.to_i
538
+ min = $3.to_i
539
+
540
+ of = case sign
541
+ when '+'
542
+ of = +(hour.to_r * 60 + min) / 1440 # 24 * 60
543
+ when '-'
544
+ of = -(hour.to_r * 60 + min) / 1440 # 24 * 60
545
+ else
546
+ 0
547
+ end
548
+ of
549
+ end
550
+
551
+ def of2tz(offset)
552
+ diffmin = offset * 24 * 60
553
+ if diffmin.zero?
554
+ 'Z'
555
+ else
556
+ ((diffmin < 0) ? '-' : '+') << format('%02d:%02d',
557
+ (diffmin.abs / 60.0).to_i, (diffmin.abs % 60.0).to_i)
558
+ end
559
+ end
560
+
561
+ def screen_data(t)
562
+ # convert t to a DateTime as an internal representation.
563
+ if t.respond_to?(:to_datetime) # 1.9 or later
564
+ t.to_datetime
565
+ elsif t.is_a?(DateTime)
566
+ t
567
+ elsif t.is_a?(Date)
568
+ t = screen_data_str(t)
569
+ t <<= 12 if t.year < 0
570
+ t
571
+ elsif t.is_a?(Time)
572
+ jd = DateTime.civil_to_jd(t.year, t.mon, t.mday, DateTime::ITALY)
573
+ fr = DateTime.time_to_day_fraction(t.hour, t.min, [t.sec, 59].min) +
574
+ t.usec.to_r / 1000000 / SecInDay
575
+ of = t.utc_offset.to_r / SecInDay
576
+ DateTime.new0(DateTime.jd_to_ajd(jd, fr, of), of, DateTime::ITALY)
577
+ else
578
+ screen_data_str(t)
579
+ end
580
+ end
581
+
582
+ def add_tz(s)
583
+ s + of2tz(@data.offset)
584
+ end
585
+ end
586
+
587
+ class XSDDateTime < XSDAnySimpleType
588
+ include XSDDateTimeImpl
589
+ Type = QName.new(Namespace, DateTimeLiteral)
590
+
591
+ def initialize(value = nil)
592
+ init(Type, value)
593
+ end
594
+
595
+ private
596
+
597
+ def screen_data_str(t)
598
+ /^([+\-]?\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d(?:\.(\d*))?)(Z|(?:[+\-]\d\d:\d\d)?)?$/ =~ t.to_s.strip
599
+ unless Regexp.last_match
600
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
601
+ end
602
+ if $1 == '0000'
603
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
604
+ end
605
+ year = $1.to_i
606
+ if year < 0
607
+ year += 1
608
+ end
609
+ mon = $2.to_i
610
+ mday = $3.to_i
611
+ hour = $4.to_i
612
+ min = $5.to_i
613
+ sec = $6.to_i
614
+ secfrac = $7
615
+ zonestr = $8
616
+ data = DateTime.civil(year, mon, mday, hour, min, sec, tz2of(zonestr))
617
+ if secfrac
618
+ diffday = secfrac.to_i.to_r / (10 ** secfrac.size) / SecInDay
619
+ data += diffday
620
+ # FYI: new0 and jd_to_rjd are not necessary to use if you don't have
621
+ # exceptional reason.
622
+ end
623
+ [data, secfrac]
624
+ end
625
+
626
+ def _set(data)
627
+ if data.nil?
628
+ @data = @secfrac = nil
629
+ return
630
+ end
631
+ @data, @secfrac = data
632
+ end
633
+
634
+ def _to_s
635
+ year = (@data.year > 0) ? @data.year : @data.year - 1
636
+ s = format('%.4d-%02d-%02dT%02d:%02d:%02d',
637
+ year, @data.mon, @data.mday, @data.hour, @data.min, @data.sec)
638
+ if @data.sec_fraction.nonzero?
639
+ if @secfrac
640
+ s << ".#{ @secfrac }"
641
+ else
642
+ s << sprintf("%.16f",
643
+ (@data.sec_fraction * SecInDay).to_f).sub(/^0/, '').sub(/0*$/, '')
644
+ end
645
+ end
646
+ add_tz(s)
647
+ end
648
+ end
649
+
650
+ class XSDTime < XSDAnySimpleType
651
+ include XSDDateTimeImpl
652
+ Type = QName.new(Namespace, TimeLiteral)
653
+
654
+ def initialize(value = nil)
655
+ init(Type, value)
656
+ end
657
+
658
+ private
659
+
660
+ def screen_data_str(t)
661
+ /^(\d\d):(\d\d):(\d\d(?:\.(\d*))?)(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip
662
+ unless Regexp.last_match
663
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
664
+ end
665
+ hour = $1.to_i
666
+ min = $2.to_i
667
+ sec = $3.to_i
668
+ secfrac = $4
669
+ zonestr = $5
670
+ data = DateTime.civil(1, 1, 1, hour, min, sec, tz2of(zonestr))
671
+ if secfrac
672
+ diffday = secfrac.to_i.to_r / (10 ** secfrac.size) / SecInDay
673
+ data += diffday
674
+ end
675
+ [data, secfrac]
676
+ end
677
+
678
+ def _set(data)
679
+ if data.nil?
680
+ @data = @secfrac = nil
681
+ return
682
+ end
683
+ @data, @secfrac = data
684
+ end
685
+
686
+ def _to_s
687
+ s = format('%02d:%02d:%02d', @data.hour, @data.min, @data.sec)
688
+ if @data.sec_fraction.nonzero?
689
+ if @secfrac
690
+ s << ".#{ @secfrac }"
691
+ else
692
+ s << sprintf("%.16f",
693
+ (@data.sec_fraction * SecInDay).to_f).sub(/^0/, '').sub(/0*$/, '')
694
+ end
695
+ end
696
+ add_tz(s)
697
+ end
698
+ end
699
+
700
+ class XSDDate < XSDAnySimpleType
701
+ include XSDDateTimeImpl
702
+ Type = QName.new(Namespace, DateLiteral)
703
+
704
+ def initialize(value = nil)
705
+ init(Type, value)
706
+ end
707
+
708
+ private
709
+
710
+ def screen_data_str(t)
711
+ /^([+\-]?\d{4,})-(\d\d)-(\d\d)(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip
712
+ unless Regexp.last_match
713
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
714
+ end
715
+ year = $1.to_i
716
+ if year < 0
717
+ year += 1
718
+ end
719
+ mon = $2.to_i
720
+ mday = $3.to_i
721
+ zonestr = $4
722
+ DateTime.civil(year, mon, mday, 0, 0, 0, tz2of(zonestr))
723
+ end
724
+
725
+ def _to_s
726
+ year = (@data.year > 0) ? @data.year : @data.year - 1
727
+ s = format('%.4d-%02d-%02d', year, @data.mon, @data.mday)
728
+ add_tz(s)
729
+ end
730
+ end
731
+
732
+ class XSDGYearMonth < XSDAnySimpleType
733
+ include XSDDateTimeImpl
734
+ Type = QName.new(Namespace, GYearMonthLiteral)
735
+
736
+ def initialize(value = nil)
737
+ init(Type, value)
738
+ end
739
+
740
+ private
741
+
742
+ def screen_data_str(t)
743
+ /^([+\-]?\d{4,})-(\d\d)(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip
744
+ unless Regexp.last_match
745
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
746
+ end
747
+ year = $1.to_i
748
+ if year < 0
749
+ year += 1
750
+ end
751
+ mon = $2.to_i
752
+ zonestr = $3
753
+ DateTime.civil(year, mon, 1, 0, 0, 0, tz2of(zonestr))
754
+ end
755
+
756
+ def _to_s
757
+ year = (@data.year > 0) ? @data.year : @data.year - 1
758
+ s = format('%.4d-%02d', year, @data.mon)
759
+ add_tz(s)
760
+ end
761
+ end
762
+
763
+ class XSDGYear < XSDAnySimpleType
764
+ include XSDDateTimeImpl
765
+ Type = QName.new(Namespace, GYearLiteral)
766
+
767
+ def initialize(value = nil)
768
+ init(Type, value)
769
+ end
770
+
771
+ private
772
+
773
+ def screen_data_str(t)
774
+ /^([+\-]?\d{4,})(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip
775
+ unless Regexp.last_match
776
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
777
+ end
778
+ year = $1.to_i
779
+ if year < 0
780
+ year += 1
781
+ end
782
+ zonestr = $2
783
+ DateTime.civil(year, 1, 1, 0, 0, 0, tz2of(zonestr))
784
+ end
785
+
786
+ def _to_s
787
+ year = (@data.year > 0) ? @data.year : @data.year - 1
788
+ s = format('%.4d', year)
789
+ add_tz(s)
790
+ end
791
+ end
792
+
793
+ class XSDGMonthDay < XSDAnySimpleType
794
+ include XSDDateTimeImpl
795
+ Type = QName.new(Namespace, GMonthDayLiteral)
796
+
797
+ def initialize(value = nil)
798
+ init(Type, value)
799
+ end
800
+
801
+ private
802
+
803
+ def screen_data_str(t)
804
+ /^(\d\d)-(\d\d)(Z|(?:[+\-]\d\d:\d\d)?)?$/ =~ t.to_s.strip
805
+ unless Regexp.last_match
806
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
807
+ end
808
+ mon = $1.to_i
809
+ mday = $2.to_i
810
+ zonestr = $3
811
+ DateTime.civil(1, mon, mday, 0, 0, 0, tz2of(zonestr))
812
+ end
813
+
814
+ def _to_s
815
+ s = format('%02d-%02d', @data.mon, @data.mday)
816
+ add_tz(s)
817
+ end
818
+ end
819
+
820
+ class XSDGDay < XSDAnySimpleType
821
+ include XSDDateTimeImpl
822
+ Type = QName.new(Namespace, GDayLiteral)
823
+
824
+ def initialize(value = nil)
825
+ init(Type, value)
826
+ end
827
+
828
+ private
829
+
830
+ def screen_data_str(t)
831
+ /^(\d\d)(Z|(?:[+\-]\d\d:\d\d)?)?$/ =~ t.to_s.strip
832
+ unless Regexp.last_match
833
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
834
+ end
835
+ mday = $1.to_i
836
+ zonestr = $2
837
+ DateTime.civil(1, 1, mday, 0, 0, 0, tz2of(zonestr))
838
+ end
839
+
840
+ def _to_s
841
+ s = format('%02d', @data.mday)
842
+ add_tz(s)
843
+ end
844
+ end
845
+
846
+ class XSDGMonth < XSDAnySimpleType
847
+ include XSDDateTimeImpl
848
+ Type = QName.new(Namespace, GMonthLiteral)
849
+
850
+ def initialize(value = nil)
851
+ init(Type, value)
852
+ end
853
+
854
+ private
855
+
856
+ def screen_data_str(t)
857
+ /^(\d\d)(Z|(?:[+\-]\d\d:\d\d)?)?$/ =~ t.to_s.strip
858
+ unless Regexp.last_match
859
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
860
+ end
861
+ mon = $1.to_i
862
+ zonestr = $2
863
+ DateTime.civil(1, mon, 1, 0, 0, 0, tz2of(zonestr))
864
+ end
865
+
866
+ def _to_s
867
+ s = format('%02d', @data.mon)
868
+ add_tz(s)
869
+ end
870
+ end
871
+
872
+ class XSDHexBinary < XSDAnySimpleType
873
+ Type = QName.new(Namespace, HexBinaryLiteral)
874
+
875
+ # String in Ruby could be a binary.
876
+ def initialize(value = nil)
877
+ init(Type, value)
878
+ end
879
+
880
+ def set_encoded(value)
881
+ if /^[0-9a-fA-F]*$/ !~ value
882
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
883
+ end
884
+ @data = String.new(value).strip
885
+ @is_nil = false
886
+ end
887
+
888
+ def string
889
+ [@data].pack("H*")
890
+ end
891
+
892
+ private
893
+
894
+ def screen_data(value)
895
+ value.unpack("H*")[0].tr('a-f', 'A-F')
896
+ end
897
+ end
898
+
899
+ class XSDBase64Binary < XSDAnySimpleType
900
+ Type = QName.new(Namespace, Base64BinaryLiteral)
901
+
902
+ # String in Ruby could be a binary.
903
+ def initialize(value = nil)
904
+ init(Type, value)
905
+ end
906
+
907
+ def set_encoded(value)
908
+ if /^[A-Za-z0-9+\/=]*$/ !~ value
909
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
910
+ end
911
+ @data = String.new(value).strip
912
+ @is_nil = false
913
+ end
914
+
915
+ def string
916
+ @data.unpack("m")[0]
917
+ end
918
+
919
+ private
920
+
921
+ def screen_data(value)
922
+ [value].pack("m").strip
923
+ end
924
+ end
925
+
926
+ class XSDAnyURI < XSDAnySimpleType
927
+ Type = QName.new(Namespace, AnyURILiteral)
928
+
929
+ def initialize(value = nil)
930
+ init(Type, value)
931
+ end
932
+
933
+ private
934
+
935
+ def screen_data(value)
936
+ begin
937
+ URI.parse(value.to_s.strip)
938
+ rescue URI::InvalidURIError
939
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
940
+ end
941
+ end
942
+ end
943
+
944
+ class XSDQName < XSDAnySimpleType
945
+ Type = QName.new(Namespace, QNameLiteral)
946
+
947
+ def initialize(value = nil)
948
+ init(Type, value)
949
+ end
950
+
951
+ private
952
+
953
+ def screen_data(value)
954
+ /^(?:([^:]+):)?([^:]+)$/ =~ value.to_s.strip
955
+ unless Regexp.last_match
956
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
957
+ end
958
+ prefix = $1
959
+ localpart = $2
960
+ [prefix, localpart]
961
+ end
962
+
963
+ def _set(data)
964
+ if data.nil?
965
+ @prefix = @localpart = @data = nil
966
+ return
967
+ end
968
+ @prefix, @localpart = data
969
+ @data = _to_s
970
+ @data.freeze
971
+ end
972
+
973
+ def _to_s
974
+ if @prefix
975
+ "#{ @prefix }:#{ @localpart }"
976
+ else
977
+ "#{ @localpart }"
978
+ end
979
+ end
980
+ end
981
+
982
+
983
+ ###
984
+ ## Derived types
985
+ #
986
+ class XSDNormalizedString < XSDString
987
+ Type = QName.new(Namespace, NormalizedStringLiteral)
988
+
989
+ def initialize(value = nil)
990
+ init(Type, value)
991
+ end
992
+
993
+ private
994
+
995
+ def screen_data(value)
996
+ if /[\t\r\n]/ =~ value
997
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ value }'.")
998
+ end
999
+ super
1000
+ end
1001
+ end
1002
+
1003
+ class XSDInteger < XSDDecimal
1004
+ Type = QName.new(Namespace, IntegerLiteral)
1005
+
1006
+ def initialize(value = nil)
1007
+ init(Type, value)
1008
+ end
1009
+
1010
+ private
1011
+
1012
+ def screen_data_str(str)
1013
+ begin
1014
+ data = Integer(str)
1015
+ rescue ArgumentError
1016
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
1017
+ end
1018
+ unless validate(data)
1019
+ raise ValueSpaceError.new("#{ type }: cannot accept '#{ str }'.")
1020
+ end
1021
+ data
1022
+ end
1023
+
1024
+ def _set(value)
1025
+ @data = value
1026
+ end
1027
+
1028
+ def _to_s()
1029
+ @data.to_s
1030
+ end
1031
+
1032
+ def validate(v)
1033
+ max = maxinclusive
1034
+ min = mininclusive
1035
+ (max.nil? or v <= max) and (min.nil? or v >= min)
1036
+ end
1037
+
1038
+ def maxinclusive
1039
+ nil
1040
+ end
1041
+
1042
+ def mininclusive
1043
+ nil
1044
+ end
1045
+
1046
+ PositiveMinInclusive = 1
1047
+ def positive(v)
1048
+ PositiveMinInclusive <= v
1049
+ end
1050
+ end
1051
+
1052
+ class XSDNonPositiveInteger < XSDInteger
1053
+ Type = QName.new(Namespace, NonPositiveIntegerLiteral)
1054
+
1055
+ def initialize(value = nil)
1056
+ init(Type, value)
1057
+ end
1058
+
1059
+ private
1060
+
1061
+ def maxinclusive
1062
+ 0
1063
+ end
1064
+
1065
+ def mininclusive
1066
+ nil
1067
+ end
1068
+ end
1069
+
1070
+ class XSDNegativeInteger < XSDNonPositiveInteger
1071
+ Type = QName.new(Namespace, NegativeIntegerLiteral)
1072
+
1073
+ def initialize(value = nil)
1074
+ init(Type, value)
1075
+ end
1076
+
1077
+ private
1078
+
1079
+ def maxinclusive
1080
+ -1
1081
+ end
1082
+
1083
+ def mininclusive
1084
+ nil
1085
+ end
1086
+ end
1087
+
1088
+ class XSDLong < XSDInteger
1089
+ Type = QName.new(Namespace, LongLiteral)
1090
+
1091
+ def initialize(value = nil)
1092
+ init(Type, value)
1093
+ end
1094
+
1095
+ private
1096
+
1097
+ def maxinclusive
1098
+ +9223372036854775807
1099
+ end
1100
+
1101
+ def mininclusive
1102
+ -9223372036854775808
1103
+ end
1104
+ end
1105
+
1106
+ class XSDInt < XSDLong
1107
+ Type = QName.new(Namespace, IntLiteral)
1108
+
1109
+ def initialize(value = nil)
1110
+ init(Type, value)
1111
+ end
1112
+
1113
+ private
1114
+
1115
+ def maxinclusive
1116
+ +2147483647
1117
+ end
1118
+
1119
+ def mininclusive
1120
+ -2147483648
1121
+ end
1122
+ end
1123
+
1124
+ class XSDShort < XSDInt
1125
+ Type = QName.new(Namespace, ShortLiteral)
1126
+
1127
+ def initialize(value = nil)
1128
+ init(Type, value)
1129
+ end
1130
+
1131
+ private
1132
+
1133
+ def maxinclusive
1134
+ +32767
1135
+ end
1136
+
1137
+ def mininclusive
1138
+ -32768
1139
+ end
1140
+ end
1141
+
1142
+ class XSDByte < XSDShort
1143
+ Type = QName.new(Namespace, ByteLiteral)
1144
+
1145
+ def initialize(value = nil)
1146
+ init(Type, value)
1147
+ end
1148
+
1149
+ private
1150
+
1151
+ def maxinclusive
1152
+ +127
1153
+ end
1154
+
1155
+ def mininclusive
1156
+ -128
1157
+ end
1158
+ end
1159
+
1160
+ class XSDNonNegativeInteger < XSDInteger
1161
+ Type = QName.new(Namespace, NonNegativeIntegerLiteral)
1162
+
1163
+ def initialize(value = nil)
1164
+ init(Type, value)
1165
+ end
1166
+
1167
+ private
1168
+
1169
+ def maxinclusive
1170
+ nil
1171
+ end
1172
+
1173
+ def mininclusive
1174
+ 0
1175
+ end
1176
+ end
1177
+
1178
+ class XSDUnsignedLong < XSDNonNegativeInteger
1179
+ Type = QName.new(Namespace, UnsignedLongLiteral)
1180
+
1181
+ def initialize(value = nil)
1182
+ init(Type, value)
1183
+ end
1184
+
1185
+ private
1186
+
1187
+ def maxinclusive
1188
+ +18446744073709551615
1189
+ end
1190
+
1191
+ def mininclusive
1192
+ 0
1193
+ end
1194
+ end
1195
+
1196
+ class XSDUnsignedInt < XSDUnsignedLong
1197
+ Type = QName.new(Namespace, UnsignedIntLiteral)
1198
+
1199
+ def initialize(value = nil)
1200
+ init(Type, value)
1201
+ end
1202
+
1203
+ private
1204
+
1205
+ def maxinclusive
1206
+ +4294967295
1207
+ end
1208
+
1209
+ def mininclusive
1210
+ 0
1211
+ end
1212
+ end
1213
+
1214
+ class XSDUnsignedShort < XSDUnsignedInt
1215
+ Type = QName.new(Namespace, UnsignedShortLiteral)
1216
+
1217
+ def initialize(value = nil)
1218
+ init(Type, value)
1219
+ end
1220
+
1221
+ private
1222
+
1223
+ def maxinclusive
1224
+ +65535
1225
+ end
1226
+
1227
+ def mininclusive
1228
+ 0
1229
+ end
1230
+ end
1231
+
1232
+ class XSDUnsignedByte < XSDUnsignedShort
1233
+ Type = QName.new(Namespace, UnsignedByteLiteral)
1234
+
1235
+ def initialize(value = nil)
1236
+ init(Type, value)
1237
+ end
1238
+
1239
+ private
1240
+
1241
+ def maxinclusive
1242
+ +255
1243
+ end
1244
+
1245
+ def mininclusive
1246
+ 0
1247
+ end
1248
+ end
1249
+
1250
+ class XSDPositiveInteger < XSDNonNegativeInteger
1251
+ Type = QName.new(Namespace, PositiveIntegerLiteral)
1252
+
1253
+ def initialize(value = nil)
1254
+ init(Type, value)
1255
+ end
1256
+
1257
+ private
1258
+
1259
+ def maxinclusive
1260
+ nil
1261
+ end
1262
+
1263
+ def mininclusive
1264
+ 1
1265
+ end
1266
+ end
1267
+
1268
+
1269
+ end