ruby_on_ruby 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. data/.gitignore +18 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +22 -0
  5. data/README.md +66 -0
  6. data/Rakefile +1 -0
  7. data/lib/ruby_on_ruby.rb +5 -0
  8. data/lib/ruby_on_ruby/console.rb +7 -0
  9. data/lib/ruby_on_ruby/context.rb +33 -0
  10. data/lib/ruby_on_ruby/file_loader.rb +31 -0
  11. data/lib/ruby_on_ruby/ruby_stream.rb +27 -0
  12. data/lib/ruby_on_ruby/version.rb +3 -0
  13. data/lib/rubyonruby.rb +1 -0
  14. data/ruby_in_ruby.gemspec +19 -0
  15. data/vendor/javascripts/emscripted-ruby/lib/.document +106 -0
  16. data/vendor/javascripts/emscripted-ruby/lib/English.rb +155 -0
  17. data/vendor/javascripts/emscripted-ruby/lib/Env.rb +18 -0
  18. data/vendor/javascripts/emscripted-ruby/lib/README +96 -0
  19. data/vendor/javascripts/emscripted-ruby/lib/abbrev.rb +103 -0
  20. data/vendor/javascripts/emscripted-ruby/lib/base64.rb +133 -0
  21. data/vendor/javascripts/emscripted-ruby/lib/benchmark.rb +572 -0
  22. data/vendor/javascripts/emscripted-ruby/lib/cgi-lib.rb +272 -0
  23. data/vendor/javascripts/emscripted-ruby/lib/cgi.rb +2308 -0
  24. data/vendor/javascripts/emscripted-ruby/lib/cgi/.document +2 -0
  25. data/vendor/javascripts/emscripted-ruby/lib/cgi/session.rb +498 -0
  26. data/vendor/javascripts/emscripted-ruby/lib/cgi/session/pstore.rb +111 -0
  27. data/vendor/javascripts/emscripted-ruby/lib/complex.rb +663 -0
  28. data/vendor/javascripts/emscripted-ruby/lib/csv.rb +992 -0
  29. data/vendor/javascripts/emscripted-ruby/lib/date.rb +1767 -0
  30. data/vendor/javascripts/emscripted-ruby/lib/date/format.rb +1190 -0
  31. data/vendor/javascripts/emscripted-ruby/lib/date2.rb +5 -0
  32. data/vendor/javascripts/emscripted-ruby/lib/debug.rb +947 -0
  33. data/vendor/javascripts/emscripted-ruby/lib/delegate.rb +337 -0
  34. data/vendor/javascripts/emscripted-ruby/lib/drb.rb +2 -0
  35. data/vendor/javascripts/emscripted-ruby/lib/drb/acl.rb +146 -0
  36. data/vendor/javascripts/emscripted-ruby/lib/drb/drb.rb +1782 -0
  37. data/vendor/javascripts/emscripted-ruby/lib/drb/eq.rb +16 -0
  38. data/vendor/javascripts/emscripted-ruby/lib/drb/extserv.rb +64 -0
  39. data/vendor/javascripts/emscripted-ruby/lib/drb/extservm.rb +89 -0
  40. data/vendor/javascripts/emscripted-ruby/lib/drb/gw.rb +122 -0
  41. data/vendor/javascripts/emscripted-ruby/lib/drb/invokemethod.rb +36 -0
  42. data/vendor/javascripts/emscripted-ruby/lib/drb/observer.rb +22 -0
  43. data/vendor/javascripts/emscripted-ruby/lib/drb/ssl.rb +190 -0
  44. data/vendor/javascripts/emscripted-ruby/lib/drb/timeridconv.rb +91 -0
  45. data/vendor/javascripts/emscripted-ruby/lib/drb/unix.rb +108 -0
  46. data/vendor/javascripts/emscripted-ruby/lib/e2mmap.rb +195 -0
  47. data/vendor/javascripts/emscripted-ruby/lib/erb.rb +880 -0
  48. data/vendor/javascripts/emscripted-ruby/lib/eregex.rb +37 -0
  49. data/vendor/javascripts/emscripted-ruby/lib/fileutils.rb +1591 -0
  50. data/vendor/javascripts/emscripted-ruby/lib/finalize.rb +193 -0
  51. data/vendor/javascripts/emscripted-ruby/lib/find.rb +79 -0
  52. data/vendor/javascripts/emscripted-ruby/lib/forwardable.rb +218 -0
  53. data/vendor/javascripts/emscripted-ruby/lib/ftools.rb +261 -0
  54. data/vendor/javascripts/emscripted-ruby/lib/generator.rb +418 -0
  55. data/vendor/javascripts/emscripted-ruby/lib/getoptlong.rb +621 -0
  56. data/vendor/javascripts/emscripted-ruby/lib/getopts.rb +127 -0
  57. data/vendor/javascripts/emscripted-ruby/lib/gserver.rb +253 -0
  58. data/vendor/javascripts/emscripted-ruby/lib/importenv.rb +33 -0
  59. data/vendor/javascripts/emscripted-ruby/lib/ipaddr.rb +814 -0
  60. data/vendor/javascripts/emscripted-ruby/lib/irb.rb +346 -0
  61. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/chws.rb +33 -0
  62. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/fork.rb +39 -0
  63. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/help.rb +34 -0
  64. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/load.rb +67 -0
  65. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/nop.rb +39 -0
  66. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/pushws.rb +39 -0
  67. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/subirb.rb +43 -0
  68. data/vendor/javascripts/emscripted-ruby/lib/irb/completion.rb +205 -0
  69. data/vendor/javascripts/emscripted-ruby/lib/irb/context.rb +255 -0
  70. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/change-ws.rb +62 -0
  71. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/history.rb +110 -0
  72. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/loader.rb +120 -0
  73. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/math-mode.rb +37 -0
  74. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/multi-irb.rb +241 -0
  75. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/save-history.rb +85 -0
  76. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/tracer.rb +61 -0
  77. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/use-loader.rb +65 -0
  78. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/workspaces.rb +56 -0
  79. data/vendor/javascripts/emscripted-ruby/lib/irb/extend-command.rb +264 -0
  80. data/vendor/javascripts/emscripted-ruby/lib/irb/frame.rb +67 -0
  81. data/vendor/javascripts/emscripted-ruby/lib/irb/help.rb +33 -0
  82. data/vendor/javascripts/emscripted-ruby/lib/irb/init.rb +259 -0
  83. data/vendor/javascripts/emscripted-ruby/lib/irb/input-method.rb +120 -0
  84. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/error.rb +30 -0
  85. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/help-message +35 -0
  86. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/error.rb +27 -0
  87. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/help-message +36 -0
  88. data/vendor/javascripts/emscripted-ruby/lib/irb/locale.rb +184 -0
  89. data/vendor/javascripts/emscripted-ruby/lib/irb/notifier.rb +145 -0
  90. data/vendor/javascripts/emscripted-ruby/lib/irb/output-method.rb +85 -0
  91. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-lex.rb +1149 -0
  92. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-token.rb +273 -0
  93. data/vendor/javascripts/emscripted-ruby/lib/irb/slex.rb +285 -0
  94. data/vendor/javascripts/emscripted-ruby/lib/irb/version.rb +16 -0
  95. data/vendor/javascripts/emscripted-ruby/lib/irb/workspace.rb +107 -0
  96. data/vendor/javascripts/emscripted-ruby/lib/irb/ws-for-case-2.rb +15 -0
  97. data/vendor/javascripts/emscripted-ruby/lib/irb/xmp.rb +86 -0
  98. data/vendor/javascripts/emscripted-ruby/lib/jcode.rb +220 -0
  99. data/vendor/javascripts/emscripted-ruby/lib/logger.rb +703 -0
  100. data/vendor/javascripts/emscripted-ruby/lib/mailread.rb +62 -0
  101. data/vendor/javascripts/emscripted-ruby/lib/mathn.rb +308 -0
  102. data/vendor/javascripts/emscripted-ruby/lib/matrix.rb +1278 -0
  103. data/vendor/javascripts/emscripted-ruby/lib/mkmf.rb +1811 -0
  104. data/vendor/javascripts/emscripted-ruby/lib/monitor.rb +352 -0
  105. data/vendor/javascripts/emscripted-ruby/lib/mutex_m.rb +122 -0
  106. data/vendor/javascripts/emscripted-ruby/lib/net/ftp.rb +927 -0
  107. data/vendor/javascripts/emscripted-ruby/lib/net/http.rb +2277 -0
  108. data/vendor/javascripts/emscripted-ruby/lib/net/https.rb +173 -0
  109. data/vendor/javascripts/emscripted-ruby/lib/net/imap.rb +3371 -0
  110. data/vendor/javascripts/emscripted-ruby/lib/net/pop.rb +999 -0
  111. data/vendor/javascripts/emscripted-ruby/lib/net/protocol.rb +392 -0
  112. data/vendor/javascripts/emscripted-ruby/lib/net/smtp.rb +1014 -0
  113. data/vendor/javascripts/emscripted-ruby/lib/net/telnet.rb +756 -0
  114. data/vendor/javascripts/emscripted-ruby/lib/observer.rb +192 -0
  115. data/vendor/javascripts/emscripted-ruby/lib/open-uri.rb +678 -0
  116. data/vendor/javascripts/emscripted-ruby/lib/open3.rb +101 -0
  117. data/vendor/javascripts/emscripted-ruby/lib/optparse.rb +1790 -0
  118. data/vendor/javascripts/emscripted-ruby/lib/optparse/date.rb +17 -0
  119. data/vendor/javascripts/emscripted-ruby/lib/optparse/shellwords.rb +6 -0
  120. data/vendor/javascripts/emscripted-ruby/lib/optparse/time.rb +10 -0
  121. data/vendor/javascripts/emscripted-ruby/lib/optparse/uri.rb +6 -0
  122. data/vendor/javascripts/emscripted-ruby/lib/optparse/version.rb +70 -0
  123. data/vendor/javascripts/emscripted-ruby/lib/ostruct.rb +146 -0
  124. data/vendor/javascripts/emscripted-ruby/lib/parsearg.rb +87 -0
  125. data/vendor/javascripts/emscripted-ruby/lib/parsedate.rb +53 -0
  126. data/vendor/javascripts/emscripted-ruby/lib/pathname.rb +1062 -0
  127. data/vendor/javascripts/emscripted-ruby/lib/ping.rb +64 -0
  128. data/vendor/javascripts/emscripted-ruby/lib/pp.rb +654 -0
  129. data/vendor/javascripts/emscripted-ruby/lib/prettyprint.rb +896 -0
  130. data/vendor/javascripts/emscripted-ruby/lib/profile.rb +6 -0
  131. data/vendor/javascripts/emscripted-ruby/lib/profiler.rb +59 -0
  132. data/vendor/javascripts/emscripted-ruby/lib/pstore.rb +395 -0
  133. data/vendor/javascripts/emscripted-ruby/lib/racc/parser.rb +442 -0
  134. data/vendor/javascripts/emscripted-ruby/lib/rational.rb +564 -0
  135. data/vendor/javascripts/emscripted-ruby/lib/readbytes.rb +41 -0
  136. data/vendor/javascripts/emscripted-ruby/lib/resolv-replace.rb +62 -0
  137. data/vendor/javascripts/emscripted-ruby/lib/resolv.rb +2210 -0
  138. data/vendor/javascripts/emscripted-ruby/lib/rexml/attlistdecl.rb +62 -0
  139. data/vendor/javascripts/emscripted-ruby/lib/rexml/attribute.rb +185 -0
  140. data/vendor/javascripts/emscripted-ruby/lib/rexml/cdata.rb +67 -0
  141. data/vendor/javascripts/emscripted-ruby/lib/rexml/child.rb +96 -0
  142. data/vendor/javascripts/emscripted-ruby/lib/rexml/comment.rb +80 -0
  143. data/vendor/javascripts/emscripted-ruby/lib/rexml/doctype.rb +271 -0
  144. data/vendor/javascripts/emscripted-ruby/lib/rexml/document.rb +208 -0
  145. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/attlistdecl.rb +10 -0
  146. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/dtd.rb +51 -0
  147. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/elementdecl.rb +17 -0
  148. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/entitydecl.rb +56 -0
  149. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/notationdecl.rb +39 -0
  150. data/vendor/javascripts/emscripted-ruby/lib/rexml/element.rb +1227 -0
  151. data/vendor/javascripts/emscripted-ruby/lib/rexml/encoding.rb +71 -0
  152. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/CP-1252.rb +103 -0
  153. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/EUC-JP.rb +35 -0
  154. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ICONV.rb +22 -0
  155. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-1.rb +7 -0
  156. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-15.rb +72 -0
  157. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT-JIS.rb +37 -0
  158. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT_JIS.rb +1 -0
  159. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UNILE.rb +34 -0
  160. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/US-ASCII.rb +30 -0
  161. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-16.rb +35 -0
  162. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-8.rb +18 -0
  163. data/vendor/javascripts/emscripted-ruby/lib/rexml/entity.rb +165 -0
  164. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/default.rb +109 -0
  165. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/pretty.rb +137 -0
  166. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/transitive.rb +56 -0
  167. data/vendor/javascripts/emscripted-ruby/lib/rexml/functions.rb +382 -0
  168. data/vendor/javascripts/emscripted-ruby/lib/rexml/instruction.rb +70 -0
  169. data/vendor/javascripts/emscripted-ruby/lib/rexml/light/node.rb +196 -0
  170. data/vendor/javascripts/emscripted-ruby/lib/rexml/namespace.rb +47 -0
  171. data/vendor/javascripts/emscripted-ruby/lib/rexml/node.rb +75 -0
  172. data/vendor/javascripts/emscripted-ruby/lib/rexml/output.rb +24 -0
  173. data/vendor/javascripts/emscripted-ruby/lib/rexml/parent.rb +166 -0
  174. data/vendor/javascripts/emscripted-ruby/lib/rexml/parseexception.rb +51 -0
  175. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/baseparser.rb +503 -0
  176. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/lightparser.rb +60 -0
  177. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/pullparser.rb +196 -0
  178. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/sax2parser.rb +238 -0
  179. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/streamparser.rb +46 -0
  180. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/treeparser.rb +97 -0
  181. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/ultralightparser.rb +56 -0
  182. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/xpathparser.rb +698 -0
  183. data/vendor/javascripts/emscripted-ruby/lib/rexml/quickpath.rb +266 -0
  184. data/vendor/javascripts/emscripted-ruby/lib/rexml/rexml.rb +32 -0
  185. data/vendor/javascripts/emscripted-ruby/lib/rexml/sax2listener.rb +97 -0
  186. data/vendor/javascripts/emscripted-ruby/lib/rexml/source.rb +251 -0
  187. data/vendor/javascripts/emscripted-ruby/lib/rexml/streamlistener.rb +92 -0
  188. data/vendor/javascripts/emscripted-ruby/lib/rexml/syncenumerator.rb +33 -0
  189. data/vendor/javascripts/emscripted-ruby/lib/rexml/text.rb +344 -0
  190. data/vendor/javascripts/emscripted-ruby/lib/rexml/undefinednamespaceexception.rb +8 -0
  191. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/relaxng.rb +559 -0
  192. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validation.rb +155 -0
  193. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validationexception.rb +9 -0
  194. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmldecl.rb +119 -0
  195. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmltokens.rb +18 -0
  196. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath.rb +66 -0
  197. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath_parser.rb +792 -0
  198. data/vendor/javascripts/emscripted-ruby/lib/rinda/rinda.rb +283 -0
  199. data/vendor/javascripts/emscripted-ruby/lib/rinda/ring.rb +271 -0
  200. data/vendor/javascripts/emscripted-ruby/lib/rinda/tuplespace.rb +642 -0
  201. data/vendor/javascripts/emscripted-ruby/lib/rss.rb +19 -0
  202. data/vendor/javascripts/emscripted-ruby/lib/rss/0.9.rb +428 -0
  203. data/vendor/javascripts/emscripted-ruby/lib/rss/1.0.rb +452 -0
  204. data/vendor/javascripts/emscripted-ruby/lib/rss/2.0.rb +111 -0
  205. data/vendor/javascripts/emscripted-ruby/lib/rss/atom.rb +749 -0
  206. data/vendor/javascripts/emscripted-ruby/lib/rss/content.rb +31 -0
  207. data/vendor/javascripts/emscripted-ruby/lib/rss/content/1.0.rb +10 -0
  208. data/vendor/javascripts/emscripted-ruby/lib/rss/content/2.0.rb +12 -0
  209. data/vendor/javascripts/emscripted-ruby/lib/rss/converter.rb +162 -0
  210. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore.rb +161 -0
  211. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/1.0.rb +13 -0
  212. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/2.0.rb +13 -0
  213. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/atom.rb +17 -0
  214. data/vendor/javascripts/emscripted-ruby/lib/rss/image.rb +193 -0
  215. data/vendor/javascripts/emscripted-ruby/lib/rss/itunes.rb +410 -0
  216. data/vendor/javascripts/emscripted-ruby/lib/rss/maker.rb +44 -0
  217. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/0.9.rb +467 -0
  218. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/1.0.rb +434 -0
  219. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/2.0.rb +223 -0
  220. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/atom.rb +172 -0
  221. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/base.rb +868 -0
  222. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/content.rb +21 -0
  223. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/dublincore.rb +124 -0
  224. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/entry.rb +163 -0
  225. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/feed.rb +429 -0
  226. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/image.rb +111 -0
  227. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/itunes.rb +242 -0
  228. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/slash.rb +33 -0
  229. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/syndication.rb +18 -0
  230. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/taxonomy.rb +118 -0
  231. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/trackback.rb +61 -0
  232. data/vendor/javascripts/emscripted-ruby/lib/rss/parser.rb +541 -0
  233. data/vendor/javascripts/emscripted-ruby/lib/rss/rexmlparser.rb +54 -0
  234. data/vendor/javascripts/emscripted-ruby/lib/rss/rss.rb +1312 -0
  235. data/vendor/javascripts/emscripted-ruby/lib/rss/slash.rb +49 -0
  236. data/vendor/javascripts/emscripted-ruby/lib/rss/syndication.rb +67 -0
  237. data/vendor/javascripts/emscripted-ruby/lib/rss/taxonomy.rb +145 -0
  238. data/vendor/javascripts/emscripted-ruby/lib/rss/trackback.rb +288 -0
  239. data/vendor/javascripts/emscripted-ruby/lib/rss/utils.rb +111 -0
  240. data/vendor/javascripts/emscripted-ruby/lib/rss/xml-stylesheet.rb +105 -0
  241. data/vendor/javascripts/emscripted-ruby/lib/rss/xml.rb +71 -0
  242. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlparser.rb +93 -0
  243. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlscanner.rb +121 -0
  244. data/vendor/javascripts/emscripted-ruby/lib/rubyunit.rb +6 -0
  245. data/vendor/javascripts/emscripted-ruby/lib/runit/assert.rb +73 -0
  246. data/vendor/javascripts/emscripted-ruby/lib/runit/cui/testrunner.rb +51 -0
  247. data/vendor/javascripts/emscripted-ruby/lib/runit/error.rb +9 -0
  248. data/vendor/javascripts/emscripted-ruby/lib/runit/testcase.rb +45 -0
  249. data/vendor/javascripts/emscripted-ruby/lib/runit/testresult.rb +44 -0
  250. data/vendor/javascripts/emscripted-ruby/lib/runit/testsuite.rb +26 -0
  251. data/vendor/javascripts/emscripted-ruby/lib/runit/topublic.rb +8 -0
  252. data/vendor/javascripts/emscripted-ruby/lib/scanf.rb +702 -0
  253. data/vendor/javascripts/emscripted-ruby/lib/securerandom.rb +137 -0
  254. data/vendor/javascripts/emscripted-ruby/lib/set.rb +1233 -0
  255. data/vendor/javascripts/emscripted-ruby/lib/shell.rb +269 -0
  256. data/vendor/javascripts/emscripted-ruby/lib/shell/builtin-command.rb +154 -0
  257. data/vendor/javascripts/emscripted-ruby/lib/shell/command-processor.rb +592 -0
  258. data/vendor/javascripts/emscripted-ruby/lib/shell/error.rb +26 -0
  259. data/vendor/javascripts/emscripted-ruby/lib/shell/filter.rb +110 -0
  260. data/vendor/javascripts/emscripted-ruby/lib/shell/process-controller.rb +260 -0
  261. data/vendor/javascripts/emscripted-ruby/lib/shell/system-command.rb +168 -0
  262. data/vendor/javascripts/emscripted-ruby/lib/shell/version.rb +16 -0
  263. data/vendor/javascripts/emscripted-ruby/lib/shellwords.rb +172 -0
  264. data/vendor/javascripts/emscripted-ruby/lib/singleton.rb +360 -0
  265. data/vendor/javascripts/emscripted-ruby/lib/soap/attachment.rb +107 -0
  266. data/vendor/javascripts/emscripted-ruby/lib/soap/baseData.rb +942 -0
  267. data/vendor/javascripts/emscripted-ruby/lib/soap/element.rb +258 -0
  268. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/aspDotNetHandler.rb +213 -0
  269. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/handler.rb +100 -0
  270. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/literalHandler.rb +226 -0
  271. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/soapHandler.rb +582 -0
  272. data/vendor/javascripts/emscripted-ruby/lib/soap/generator.rb +268 -0
  273. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handler.rb +57 -0
  274. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handlerset.rb +70 -0
  275. data/vendor/javascripts/emscripted-ruby/lib/soap/header/simplehandler.rb +44 -0
  276. data/vendor/javascripts/emscripted-ruby/lib/soap/httpconfigloader.rb +119 -0
  277. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping.rb +10 -0
  278. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/factory.rb +355 -0
  279. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/mapping.rb +381 -0
  280. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/registry.rb +541 -0
  281. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/rubytypeFactory.rb +475 -0
  282. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/typeMap.rb +50 -0
  283. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlencodedregistry.rb +280 -0
  284. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlliteralregistry.rb +418 -0
  285. data/vendor/javascripts/emscripted-ruby/lib/soap/marshal.rb +59 -0
  286. data/vendor/javascripts/emscripted-ruby/lib/soap/mimemessage.rb +240 -0
  287. data/vendor/javascripts/emscripted-ruby/lib/soap/netHttpClient.rb +190 -0
  288. data/vendor/javascripts/emscripted-ruby/lib/soap/parser.rb +251 -0
  289. data/vendor/javascripts/emscripted-ruby/lib/soap/processor.rb +66 -0
  290. data/vendor/javascripts/emscripted-ruby/lib/soap/property.rb +333 -0
  291. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/cgistub.rb +206 -0
  292. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/driver.rb +254 -0
  293. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/element.rb +325 -0
  294. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/httpserver.rb +129 -0
  295. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/proxy.rb +497 -0
  296. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/router.rb +594 -0
  297. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/rpc.rb +25 -0
  298. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/soaplet.rb +162 -0
  299. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/standaloneServer.rb +43 -0
  300. data/vendor/javascripts/emscripted-ruby/lib/soap/soap.rb +140 -0
  301. data/vendor/javascripts/emscripted-ruby/lib/soap/streamHandler.rb +229 -0
  302. data/vendor/javascripts/emscripted-ruby/lib/soap/wsdlDriver.rb +575 -0
  303. data/vendor/javascripts/emscripted-ruby/lib/sync.rb +311 -0
  304. data/vendor/javascripts/emscripted-ruby/lib/tempfile.rb +209 -0
  305. data/vendor/javascripts/emscripted-ruby/lib/test/unit.rb +280 -0
  306. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertionfailederror.rb +14 -0
  307. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertions.rb +622 -0
  308. data/vendor/javascripts/emscripted-ruby/lib/test/unit/autorunner.rb +220 -0
  309. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector.rb +43 -0
  310. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/dir.rb +107 -0
  311. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/objectspace.rb +34 -0
  312. data/vendor/javascripts/emscripted-ruby/lib/test/unit/error.rb +56 -0
  313. data/vendor/javascripts/emscripted-ruby/lib/test/unit/failure.rb +51 -0
  314. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testcase.rb +160 -0
  315. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testresult.rb +80 -0
  316. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testsuite.rb +76 -0
  317. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/console/testrunner.rb +127 -0
  318. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/fox/testrunner.rb +268 -0
  319. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk/testrunner.rb +416 -0
  320. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk2/testrunner.rb +465 -0
  321. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnermediator.rb +68 -0
  322. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnerutilities.rb +46 -0
  323. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/tk/testrunner.rb +260 -0
  324. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/backtracefilter.rb +40 -0
  325. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/observable.rb +90 -0
  326. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/procwrapper.rb +48 -0
  327. data/vendor/javascripts/emscripted-ruby/lib/thread.rb +479 -0
  328. data/vendor/javascripts/emscripted-ruby/lib/thwait.rb +169 -0
  329. data/vendor/javascripts/emscripted-ruby/lib/time.rb +797 -0
  330. data/vendor/javascripts/emscripted-ruby/lib/timeout.rb +122 -0
  331. data/vendor/javascripts/emscripted-ruby/lib/tmpdir.rb +130 -0
  332. data/vendor/javascripts/emscripted-ruby/lib/tracer.rb +167 -0
  333. data/vendor/javascripts/emscripted-ruby/lib/tsort.rb +290 -0
  334. data/vendor/javascripts/emscripted-ruby/lib/un.rb +235 -0
  335. data/vendor/javascripts/emscripted-ruby/lib/uri.rb +29 -0
  336. data/vendor/javascripts/emscripted-ruby/lib/uri/common.rb +611 -0
  337. data/vendor/javascripts/emscripted-ruby/lib/uri/ftp.rb +198 -0
  338. data/vendor/javascripts/emscripted-ruby/lib/uri/generic.rb +1122 -0
  339. data/vendor/javascripts/emscripted-ruby/lib/uri/http.rb +100 -0
  340. data/vendor/javascripts/emscripted-ruby/lib/uri/https.rb +20 -0
  341. data/vendor/javascripts/emscripted-ruby/lib/uri/ldap.rb +190 -0
  342. data/vendor/javascripts/emscripted-ruby/lib/uri/ldaps.rb +12 -0
  343. data/vendor/javascripts/emscripted-ruby/lib/uri/mailto.rb +266 -0
  344. data/vendor/javascripts/emscripted-ruby/lib/weakref.rb +100 -0
  345. data/vendor/javascripts/emscripted-ruby/lib/webrick.rb +29 -0
  346. data/vendor/javascripts/emscripted-ruby/lib/webrick/accesslog.rb +67 -0
  347. data/vendor/javascripts/emscripted-ruby/lib/webrick/cgi.rb +257 -0
  348. data/vendor/javascripts/emscripted-ruby/lib/webrick/compat.rb +15 -0
  349. data/vendor/javascripts/emscripted-ruby/lib/webrick/config.rb +97 -0
  350. data/vendor/javascripts/emscripted-ruby/lib/webrick/cookie.rb +110 -0
  351. data/vendor/javascripts/emscripted-ruby/lib/webrick/htmlutils.rb +25 -0
  352. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth.rb +45 -0
  353. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/authenticator.rb +79 -0
  354. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/basicauth.rb +65 -0
  355. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/digestauth.rb +343 -0
  356. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htdigest.rb +91 -0
  357. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htgroup.rb +61 -0
  358. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htpasswd.rb +83 -0
  359. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/userdb.rb +29 -0
  360. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpproxy.rb +254 -0
  361. data/vendor/javascripts/emscripted-ruby/lib/webrick/httprequest.rb +365 -0
  362. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpresponse.rb +327 -0
  363. data/vendor/javascripts/emscripted-ruby/lib/webrick/https.rb +63 -0
  364. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpserver.rb +210 -0
  365. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet.rb +22 -0
  366. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/abstract.rb +71 -0
  367. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  368. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgihandler.rb +108 -0
  369. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/erbhandler.rb +54 -0
  370. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/filehandler.rb +435 -0
  371. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/prochandler.rb +33 -0
  372. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpstatus.rb +126 -0
  373. data/vendor/javascripts/emscripted-ruby/lib/webrick/httputils.rb +399 -0
  374. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpversion.rb +49 -0
  375. data/vendor/javascripts/emscripted-ruby/lib/webrick/log.rb +88 -0
  376. data/vendor/javascripts/emscripted-ruby/lib/webrick/server.rb +200 -0
  377. data/vendor/javascripts/emscripted-ruby/lib/webrick/ssl.rb +126 -0
  378. data/vendor/javascripts/emscripted-ruby/lib/webrick/utils.rb +100 -0
  379. data/vendor/javascripts/emscripted-ruby/lib/webrick/version.rb +13 -0
  380. data/vendor/javascripts/emscripted-ruby/lib/wsdl/binding.rb +65 -0
  381. data/vendor/javascripts/emscripted-ruby/lib/wsdl/data.rb +64 -0
  382. data/vendor/javascripts/emscripted-ruby/lib/wsdl/definitions.rb +250 -0
  383. data/vendor/javascripts/emscripted-ruby/lib/wsdl/documentation.rb +32 -0
  384. data/vendor/javascripts/emscripted-ruby/lib/wsdl/import.rb +80 -0
  385. data/vendor/javascripts/emscripted-ruby/lib/wsdl/importer.rb +38 -0
  386. data/vendor/javascripts/emscripted-ruby/lib/wsdl/info.rb +39 -0
  387. data/vendor/javascripts/emscripted-ruby/lib/wsdl/message.rb +54 -0
  388. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operation.rb +130 -0
  389. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operationBinding.rb +108 -0
  390. data/vendor/javascripts/emscripted-ruby/lib/wsdl/param.rb +85 -0
  391. data/vendor/javascripts/emscripted-ruby/lib/wsdl/parser.rb +163 -0
  392. data/vendor/javascripts/emscripted-ruby/lib/wsdl/part.rb +52 -0
  393. data/vendor/javascripts/emscripted-ruby/lib/wsdl/port.rb +84 -0
  394. data/vendor/javascripts/emscripted-ruby/lib/wsdl/portType.rb +73 -0
  395. data/vendor/javascripts/emscripted-ruby/lib/wsdl/service.rb +61 -0
  396. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/address.rb +40 -0
  397. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/binding.rb +49 -0
  398. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/body.rb +56 -0
  399. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/cgiStubCreator.rb +76 -0
  400. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreator.rb +314 -0
  401. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreatorSupport.rb +126 -0
  402. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/clientSkeltonCreator.rb +78 -0
  403. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/complexType.rb +161 -0
  404. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/data.rb +42 -0
  405. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/definitions.rb +149 -0
  406. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/driverCreator.rb +95 -0
  407. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/element.rb +28 -0
  408. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/fault.rb +56 -0
  409. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/header.rb +86 -0
  410. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/headerfault.rb +56 -0
  411. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/mappingRegistryCreator.rb +92 -0
  412. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/methodDefCreator.rb +228 -0
  413. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/operation.rb +122 -0
  414. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/servantSkeltonCreator.rb +67 -0
  415. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/standaloneServerStubCreator.rb +85 -0
  416. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/wsdl2ruby.rb +176 -0
  417. data/vendor/javascripts/emscripted-ruby/lib/wsdl/types.rb +43 -0
  418. data/vendor/javascripts/emscripted-ruby/lib/wsdl/wsdl.rb +23 -0
  419. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/all.rb +69 -0
  420. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/annotation.rb +34 -0
  421. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/any.rb +56 -0
  422. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/attribute.rb +127 -0
  423. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/choice.rb +69 -0
  424. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexContent.rb +92 -0
  425. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexType.rb +139 -0
  426. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/content.rb +96 -0
  427. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/data.rb +80 -0
  428. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/element.rb +154 -0
  429. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  430. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/import.rb +65 -0
  431. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/importer.rb +87 -0
  432. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/include.rb +54 -0
  433. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/length.rb +35 -0
  434. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/parser.rb +166 -0
  435. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/pattern.rb +36 -0
  436. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/schema.rb +143 -0
  437. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/sequence.rb +69 -0
  438. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleContent.rb +65 -0
  439. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  440. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleRestriction.rb +73 -0
  441. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleType.rb +73 -0
  442. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/unique.rb +34 -0
  443. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  444. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/.document +1 -0
  445. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/README.txt +31 -0
  446. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/base64.rb +81 -0
  447. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/client.rb +624 -0
  448. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/config.rb +40 -0
  449. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/create.rb +290 -0
  450. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/datetime.rb +142 -0
  451. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/httpserver.rb +178 -0
  452. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/marshal.rb +76 -0
  453. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/parser.rb +813 -0
  454. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/server.rb +780 -0
  455. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/utils.rb +165 -0
  456. data/vendor/javascripts/emscripted-ruby/lib/xsd/charset.rb +187 -0
  457. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen.rb +12 -0
  458. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/classdef.rb +203 -0
  459. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/commentdef.rb +34 -0
  460. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/gensupport.rb +166 -0
  461. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/methoddef.rb +63 -0
  462. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/moduledef.rb +191 -0
  463. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes.rb +1269 -0
  464. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes1999.rb +20 -0
  465. data/vendor/javascripts/emscripted-ruby/lib/xsd/iconvcharset.rb +33 -0
  466. data/vendor/javascripts/emscripted-ruby/lib/xsd/mapping.rb +42 -0
  467. data/vendor/javascripts/emscripted-ruby/lib/xsd/namedelements.rb +95 -0
  468. data/vendor/javascripts/emscripted-ruby/lib/xsd/ns.rb +140 -0
  469. data/vendor/javascripts/emscripted-ruby/lib/xsd/qname.rb +78 -0
  470. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser.rb +61 -0
  471. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/parser.rb +96 -0
  472. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  473. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlparser.rb +50 -0
  474. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  475. data/vendor/javascripts/emscripted-ruby/lib/yaml.rb +440 -0
  476. data/vendor/javascripts/emscripted-ruby/lib/yaml/baseemitter.rb +247 -0
  477. data/vendor/javascripts/emscripted-ruby/lib/yaml/basenode.rb +216 -0
  478. data/vendor/javascripts/emscripted-ruby/lib/yaml/constants.rb +45 -0
  479. data/vendor/javascripts/emscripted-ruby/lib/yaml/dbm.rb +111 -0
  480. data/vendor/javascripts/emscripted-ruby/lib/yaml/encoding.rb +33 -0
  481. data/vendor/javascripts/emscripted-ruby/lib/yaml/error.rb +34 -0
  482. data/vendor/javascripts/emscripted-ruby/lib/yaml/loader.rb +14 -0
  483. data/vendor/javascripts/emscripted-ruby/lib/yaml/rubytypes.rb +408 -0
  484. data/vendor/javascripts/emscripted-ruby/lib/yaml/store.rb +43 -0
  485. data/vendor/javascripts/emscripted-ruby/lib/yaml/stream.rb +40 -0
  486. data/vendor/javascripts/emscripted-ruby/lib/yaml/stringio.rb +83 -0
  487. data/vendor/javascripts/emscripted-ruby/lib/yaml/syck.rb +19 -0
  488. data/vendor/javascripts/emscripted-ruby/lib/yaml/tag.rb +91 -0
  489. data/vendor/javascripts/emscripted-ruby/lib/yaml/types.rb +192 -0
  490. data/vendor/javascripts/emscripted-ruby/lib/yaml/yamlnode.rb +54 -0
  491. data/vendor/javascripts/emscripted-ruby/lib/yaml/ypath.rb +52 -0
  492. data/vendor/javascripts/emscripted-ruby/ruby.closure.js +7201 -0
  493. metadata +554 -0
@@ -0,0 +1,269 @@
1
+ #
2
+ # shell.rb -
3
+ # $Release Version: 0.6.0 $
4
+ # $Revision: 1.8 $
5
+ # $Date: 2001/03/19 09:01:11 $
6
+ # by Keiju ISHITSUKA(Nippon Rational Inc.)
7
+ #
8
+ # --
9
+ #
10
+ #
11
+ #
12
+
13
+ require "e2mmap"
14
+ require "thread"
15
+
16
+ require "shell/error"
17
+ require "shell/command-processor"
18
+ require "shell/process-controller"
19
+
20
+ class Shell
21
+ @RCS_ID='-$Id: shell.rb,v 1.8 2001/03/19 09:01:11 keiju Exp keiju $-'
22
+
23
+ include Error
24
+ extend Exception2MessageMapper
25
+
26
+ # @cascade = true
27
+ # debug: true -> normal debug
28
+ # debug: 1 -> eval definition debug
29
+ # debug: 2 -> detail inspect debug
30
+ @debug = false
31
+ @verbose = true
32
+
33
+ class << Shell
34
+ attr :cascade, true
35
+ attr :debug, true
36
+ attr :verbose, true
37
+
38
+ # alias cascade? cascade
39
+ alias debug? debug
40
+ alias verbose? verbose
41
+ @verbose = true
42
+
43
+ def debug=(val)
44
+ @debug = val
45
+ @verbose = val if val
46
+ end
47
+
48
+ def cd(path)
49
+ sh = new
50
+ sh.cd path
51
+ sh
52
+ end
53
+
54
+ def default_system_path
55
+ if @default_system_path
56
+ @default_system_path
57
+ else
58
+ ENV["PATH"].split(":")
59
+ end
60
+ end
61
+
62
+ def default_system_path=(path)
63
+ @default_system_path = path
64
+ end
65
+
66
+ def default_record_separator
67
+ if @default_record_separator
68
+ @default_record_separator
69
+ else
70
+ $/
71
+ end
72
+ end
73
+
74
+ def default_record_separator=(rs)
75
+ @default_record_separator = rs
76
+ end
77
+ end
78
+
79
+ def initialize
80
+ @cwd = Dir.pwd
81
+ @dir_stack = []
82
+ @umask = nil
83
+
84
+ @system_path = Shell.default_system_path
85
+ @record_separator = Shell.default_record_separator
86
+
87
+ @command_processor = CommandProcessor.new(self)
88
+ @process_controller = ProcessController.new(self)
89
+
90
+ @verbose = Shell.verbose
91
+ @debug = Shell.debug
92
+ end
93
+
94
+ attr_reader :system_path
95
+
96
+ def system_path=(path)
97
+ @system_path = path
98
+ rehash
99
+ end
100
+
101
+ attr :umask, true
102
+ attr :record_separator, true
103
+
104
+ attr :verbose, true
105
+ attr :debug, true
106
+
107
+ def debug=(val)
108
+ @debug = val
109
+ @verbose = val if val
110
+ end
111
+
112
+ alias verbose? verbose
113
+ alias debug? debug
114
+
115
+ attr_reader :command_processor
116
+ attr_reader :process_controller
117
+
118
+ def expand_path(path)
119
+ File.expand_path(path, @cwd)
120
+ end
121
+
122
+ # Most Shell commands are defined via CommandProcessor
123
+
124
+ #
125
+ # Dir related methods
126
+ #
127
+ # Shell#cwd/dir/getwd/pwd
128
+ # Shell#chdir/cd
129
+ # Shell#pushdir/pushd
130
+ # Shell#popdir/popd
131
+ # Shell#mkdir
132
+ # Shell#rmdir
133
+
134
+ attr :cwd
135
+ alias dir cwd
136
+ alias getwd cwd
137
+ alias pwd cwd
138
+
139
+ attr :dir_stack
140
+ alias dirs dir_stack
141
+
142
+ # If called as iterator, it restores the current directory when the
143
+ # block ends.
144
+ def chdir(path = nil)
145
+ if iterator?
146
+ cwd_old = @cwd
147
+ begin
148
+ chdir(path)
149
+ yield
150
+ ensure
151
+ chdir(cwd_old)
152
+ end
153
+ else
154
+ path = "~" unless path
155
+ @cwd = expand_path(path)
156
+ notify "current dir: #{@cwd}"
157
+ rehash
158
+ self
159
+ end
160
+ end
161
+ alias cd chdir
162
+
163
+ def pushdir(path = nil)
164
+ if iterator?
165
+ pushdir(path)
166
+ begin
167
+ yield
168
+ ensure
169
+ popdir
170
+ end
171
+ elsif path
172
+ @dir_stack.push @cwd
173
+ chdir path
174
+ notify "dir stack: [#{@dir_stack.join ', '}]"
175
+ self
176
+ else
177
+ if pop = @dir_stack.pop
178
+ @dir_stack.push @cwd
179
+ chdir pop
180
+ notify "dir stack: [#{@dir_stack.join ', '}]"
181
+ self
182
+ else
183
+ Shell.Fail DirStackEmpty
184
+ end
185
+ end
186
+ end
187
+ alias pushd pushdir
188
+
189
+ def popdir
190
+ if pop = @dir_stack.pop
191
+ chdir pop
192
+ notify "dir stack: [#{@dir_stack.join ', '}]"
193
+ self
194
+ else
195
+ Shell.Fail DirStackEmpty
196
+ end
197
+ end
198
+ alias popd popdir
199
+
200
+
201
+ #
202
+ # process management
203
+ #
204
+ def jobs
205
+ @process_controller.jobs
206
+ end
207
+
208
+ def kill(sig, command)
209
+ @process_controller.kill_job(sig, command)
210
+ end
211
+
212
+ #
213
+ # command definitions
214
+ #
215
+ def Shell.def_system_command(command, path = command)
216
+ CommandProcessor.def_system_command(command, path)
217
+ end
218
+
219
+ def Shell.undef_system_command(command)
220
+ CommandProcessor.undef_system_command(command)
221
+ end
222
+
223
+ def Shell.alias_command(ali, command, *opts, &block)
224
+ CommandProcessor.alias_command(ali, command, *opts, &block)
225
+ end
226
+
227
+ def Shell.unalias_command(ali)
228
+ CommandProcessor.unalias_command(ali)
229
+ end
230
+
231
+ def Shell.install_system_commands(pre = "sys_")
232
+ CommandProcessor.install_system_commands(pre)
233
+ end
234
+
235
+ #
236
+ def inspect
237
+ if debug.kind_of?(Integer) && debug > 2
238
+ super
239
+ else
240
+ to_s
241
+ end
242
+ end
243
+
244
+ def self.notify(*opts, &block)
245
+ Thread.exclusive do
246
+ if opts[-1].kind_of?(String)
247
+ yorn = verbose?
248
+ else
249
+ yorn = opts.pop
250
+ end
251
+ return unless yorn
252
+
253
+ _head = true
254
+ print opts.collect{|mes|
255
+ mes = mes.dup
256
+ yield mes if iterator?
257
+ if _head
258
+ _head = false
259
+ "shell: " + mes
260
+ else
261
+ " " + mes
262
+ end
263
+ }.join("\n")+"\n"
264
+ end
265
+ end
266
+
267
+ CommandProcessor.initialize
268
+ CommandProcessor.run_config
269
+ end
@@ -0,0 +1,154 @@
1
+ #
2
+ # shell/builtin-command.rb -
3
+ # $Release Version: 0.6.0 $
4
+ # $Revision: 11708 $
5
+ # $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $
6
+ # by Keiju ISHITSUKA(Nihon Rational Software Co.,Ltd)
7
+ #
8
+ # --
9
+ #
10
+ #
11
+ #
12
+
13
+ require "shell/filter"
14
+
15
+ class Shell
16
+ class BuiltInCommand<Filter
17
+ def wait?
18
+ false
19
+ end
20
+ def active?
21
+ true
22
+ end
23
+ end
24
+
25
+ class Echo < BuiltInCommand
26
+ def initialize(sh, *strings)
27
+ super sh
28
+ @strings = strings
29
+ end
30
+
31
+ def each(rs = nil)
32
+ rs = @shell.record_separator unless rs
33
+ for str in @strings
34
+ yield str + rs
35
+ end
36
+ end
37
+ end
38
+
39
+ class Cat < BuiltInCommand
40
+ def initialize(sh, *filenames)
41
+ super sh
42
+ @cat_files = filenames
43
+ end
44
+
45
+ def each(rs = nil)
46
+ if @cat_files.empty?
47
+ super
48
+ else
49
+ for src in @cat_files
50
+ @shell.foreach(src, rs){|l| yield l}
51
+ end
52
+ end
53
+ end
54
+ end
55
+
56
+ class Glob < BuiltInCommand
57
+ def initialize(sh, pattern)
58
+ super sh
59
+
60
+ @pattern = pattern
61
+ Thread.critical = true
62
+ back = Dir.pwd
63
+ begin
64
+ Dir.chdir @shell.cwd
65
+ @files = Dir[pattern]
66
+ ensure
67
+ Dir.chdir back
68
+ Thread.critical = false
69
+ end
70
+ end
71
+
72
+ def each(rs = nil)
73
+ rs = @shell.record_separator unless rs
74
+ for f in @files
75
+ yield f+rs
76
+ end
77
+ end
78
+ end
79
+
80
+ # class Sort < Cat
81
+ # def initialize(sh, *filenames)
82
+ # super
83
+ # end
84
+ #
85
+ # def each(rs = nil)
86
+ # ary = []
87
+ # super{|l| ary.push l}
88
+ # for l in ary.sort!
89
+ # yield l
90
+ # end
91
+ # end
92
+ # end
93
+
94
+ class AppendIO < BuiltInCommand
95
+ def initialize(sh, io, filter)
96
+ super sh
97
+ @input = filter
98
+ @io = io
99
+ end
100
+
101
+ def input=(filter)
102
+ @input.input=filter
103
+ for l in @input
104
+ @io << l
105
+ end
106
+ end
107
+
108
+ end
109
+
110
+ class AppendFile < AppendIO
111
+ def initialize(sh, to_filename, filter)
112
+ @file_name = to_filename
113
+ io = sh.open(to_filename, "a")
114
+ super(sh, io, filter)
115
+ end
116
+
117
+ def input=(filter)
118
+ begin
119
+ super
120
+ ensure
121
+ @io.close
122
+ end
123
+ end
124
+ end
125
+
126
+ class Tee < BuiltInCommand
127
+ def initialize(sh, filename)
128
+ super sh
129
+ @to_filename = filename
130
+ end
131
+
132
+ def each(rs = nil)
133
+ to = @shell.open(@to_filename, "w")
134
+ begin
135
+ super{|l| to << l; yield l}
136
+ ensure
137
+ to.close
138
+ end
139
+ end
140
+ end
141
+
142
+ class Concat < BuiltInCommand
143
+ def initialize(sh, *jobs)
144
+ super(sh)
145
+ @jobs = jobs
146
+ end
147
+
148
+ def each(rs = nil)
149
+ while job = @jobs.shift
150
+ job.each{|l| yield l}
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,592 @@
1
+ #
2
+ # shell/command-controller.rb -
3
+ # $Release Version: 0.6.0 $
4
+ # $Revision: 11708 $
5
+ # $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $
6
+ # by Keiju ISHITSUKA(Nippon Rational Inc.)
7
+ #
8
+ # --
9
+ #
10
+ #
11
+ #
12
+
13
+ require "e2mmap"
14
+ require "ftools"
15
+ require "thread"
16
+
17
+ require "shell/error"
18
+ require "shell/filter"
19
+ require "shell/system-command"
20
+ require "shell/builtin-command"
21
+
22
+ class Shell
23
+ class CommandProcessor
24
+ # include Error
25
+
26
+ #
27
+ # initialize of Shell and related classes.
28
+ #
29
+ NoDelegateMethods = ["initialize", "expand_path"]
30
+ def self.initialize
31
+
32
+ install_builtin_commands
33
+
34
+ # define CommandProccessor#methods to Shell#methods and Filter#methods
35
+ for m in CommandProcessor.instance_methods(false) - NoDelegateMethods
36
+ add_delegate_command_to_shell(m)
37
+ end
38
+
39
+ def self.method_added(id)
40
+ add_delegate_command_to_shell(id)
41
+ end
42
+ end
43
+
44
+ #
45
+ # include run file.
46
+ #
47
+ def self.run_config
48
+ begin
49
+ load File.expand_path("~/.rb_shell") if ENV.key?("HOME")
50
+ rescue LoadError, Errno::ENOENT
51
+ rescue
52
+ print "load error: #{rc}\n"
53
+ print $!.class, ": ", $!, "\n"
54
+ for err in $@[0, $@.size - 2]
55
+ print "\t", err, "\n"
56
+ end
57
+ end
58
+ end
59
+
60
+ def initialize(shell)
61
+ @shell = shell
62
+ @system_commands = {}
63
+ end
64
+
65
+ #
66
+ # CommandProcessor#expand_path(path)
67
+ # path: String
68
+ # return: String
69
+ # returns the absolute path for <path>
70
+ #
71
+ def expand_path(path)
72
+ @shell.expand_path(path)
73
+ end
74
+
75
+ #
76
+ # File related commands
77
+ # Shell#foreach
78
+ # Shell#open
79
+ # Shell#unlink
80
+ # Shell#test
81
+ #
82
+ # -
83
+ #
84
+ # CommandProcessor#foreach(path, rs)
85
+ # path: String
86
+ # rs: String - record separator
87
+ # iterator
88
+ # Same as:
89
+ # File#foreach (when path is file)
90
+ # Dir#foreach (when path is directory)
91
+ # path is relative to pwd
92
+ #
93
+ def foreach(path = nil, *rs)
94
+ path = "." unless path
95
+ path = expand_path(path)
96
+
97
+ if File.directory?(path)
98
+ Dir.foreach(path){|fn| yield fn}
99
+ else
100
+ IO.foreach(path, *rs){|l| yield l}
101
+ end
102
+ end
103
+
104
+ #
105
+ # CommandProcessor#open(path, mode)
106
+ # path: String
107
+ # mode: String
108
+ # return: File or Dir
109
+ # Same as:
110
+ # File#open (when path is file)
111
+ # Dir#open (when path is directory)
112
+ # mode has an effect only when path is a file
113
+ #
114
+ def open(path, mode)
115
+ path = expand_path(path)
116
+ if File.directory?(path)
117
+ Dir.open(path)
118
+ else
119
+ effect_umask do
120
+ File.open(path, mode)
121
+ end
122
+ end
123
+ end
124
+ # public :open
125
+
126
+ #
127
+ # CommandProcessor#unlink(path)
128
+ # same as:
129
+ # Dir#unlink (when path is directory)
130
+ # File#unlink (when path is file)
131
+ #
132
+ def unlink(path)
133
+ path = expand_path(path)
134
+ if File.directory?(path)
135
+ Dir.unlink(path)
136
+ else
137
+ IO.unlink(path)
138
+ end
139
+ end
140
+
141
+ #
142
+ # CommandProcessor#test(command, file1, file2)
143
+ # CommandProcessor#[command, file1, file2]
144
+ # command: char or String or Symbol
145
+ # file1: String
146
+ # file2: String(optional)
147
+ # return: Boolean
148
+ # same as:
149
+ # test() (when command is char or length 1 string or symbol)
150
+ # FileTest.command (others)
151
+ # example:
152
+ # sh[?e, "foo"]
153
+ # sh[:e, "foo"]
154
+ # sh["e", "foo"]
155
+ # sh[:exists?, "foo"]
156
+ # sh["exists?", "foo"]
157
+ #
158
+ def test(command, file1, file2=nil)
159
+ file1 = expand_path(file1)
160
+ file2 = expand_path(file2) if file2
161
+ command = command.id2name if command.kind_of?(Symbol)
162
+
163
+ case command
164
+ when Integer
165
+ top_level_test(command, file1, file2)
166
+ when String
167
+ if command.size == 1
168
+ if file2
169
+ top_level_test(command, file1, file2)
170
+ else
171
+ top_level_test(command, file1)
172
+ end
173
+ else
174
+ if file2
175
+ FileTest.send(command, file1, file2)
176
+ else
177
+ FileTest.send(command, file1)
178
+ end
179
+ end
180
+ end
181
+ end
182
+ alias [] test
183
+
184
+ #
185
+ # Dir related methods
186
+ #
187
+ # Shell#mkdir
188
+ # Shell#rmdir
189
+ #
190
+ #--
191
+ #
192
+ # CommandProcessor#mkdir(*path)
193
+ # path: String
194
+ # same as Dir.mkdir()
195
+ #
196
+ def mkdir(*path)
197
+ for dir in path
198
+ Dir.mkdir(expand_path(dir))
199
+ end
200
+ end
201
+
202
+ #
203
+ # CommandProcessor#rmdir(*path)
204
+ # path: String
205
+ # same as Dir.rmdir()
206
+ #
207
+ def rmdir(*path)
208
+ for dir in path
209
+ Dir.rmdir(expand_path(dir))
210
+ end
211
+ end
212
+
213
+ #
214
+ # CommandProcessor#system(command, *opts)
215
+ # command: String
216
+ # opts: String
217
+ # return: SystemCommand
218
+ # Same as system() function
219
+ # example:
220
+ # print sh.system("ls", "-l")
221
+ # sh.system("ls", "-l") | sh.head > STDOUT
222
+ #
223
+ def system(command, *opts)
224
+ if opts.empty?
225
+ if command =~ /\*|\?|\{|\}|\[|\]|<|>|\(|\)|~|&|\||\\|\$|;|'|`|"|\n/
226
+ return SystemCommand.new(@shell, find_system_command("sh"), "-c", command)
227
+ else
228
+ command, *opts = command.split(/\s+/)
229
+ end
230
+ end
231
+ SystemCommand.new(@shell, find_system_command(command), *opts)
232
+ end
233
+
234
+ #
235
+ # ProcessCommand#rehash
236
+ # clear command hash table.
237
+ #
238
+ def rehash
239
+ @system_commands = {}
240
+ end
241
+
242
+ #
243
+ # ProcessCommand#transact
244
+ #
245
+ def check_point
246
+ @shell.process_controller.wait_all_jobs_execution
247
+ end
248
+ alias finish_all_jobs check_point
249
+
250
+ def transact(&block)
251
+ begin
252
+ @shell.instance_eval(&block)
253
+ ensure
254
+ check_point
255
+ end
256
+ end
257
+
258
+ #
259
+ # internal commands
260
+ #
261
+ def out(dev = STDOUT, &block)
262
+ dev.print transact(&block)
263
+ end
264
+
265
+ def echo(*strings)
266
+ Echo.new(@shell, *strings)
267
+ end
268
+
269
+ def cat(*filenames)
270
+ Cat.new(@shell, *filenames)
271
+ end
272
+
273
+ # def sort(*filenames)
274
+ # Sort.new(self, *filenames)
275
+ # end
276
+
277
+ def glob(pattern)
278
+ Glob.new(@shell, pattern)
279
+ end
280
+
281
+ def append(to, filter)
282
+ case to
283
+ when String
284
+ AppendFile.new(@shell, to, filter)
285
+ when IO
286
+ AppendIO.new(@shell, to, filter)
287
+ else
288
+ Shell.Fail Error::CantApplyMethod, "append", to.class
289
+ end
290
+ end
291
+
292
+ def tee(file)
293
+ Tee.new(@shell, file)
294
+ end
295
+
296
+ def concat(*jobs)
297
+ Concat.new(@shell, *jobs)
298
+ end
299
+
300
+ # %pwd, %cwd -> @pwd
301
+ def notify(*opts, &block)
302
+ Thread.exclusive do
303
+ Shell.notify(*opts) {|mes|
304
+ yield mes if iterator?
305
+
306
+ mes.gsub!("%pwd", "#{@cwd}")
307
+ mes.gsub!("%cwd", "#{@cwd}")
308
+ }
309
+ end
310
+ end
311
+
312
+ #
313
+ # private functions
314
+ #
315
+ def effect_umask
316
+ if @shell.umask
317
+ Thread.critical = true
318
+ save = File.umask
319
+ begin
320
+ yield
321
+ ensure
322
+ File.umask save
323
+ Thread.critical = false
324
+ end
325
+ else
326
+ yield
327
+ end
328
+ end
329
+ private :effect_umask
330
+
331
+ def find_system_command(command)
332
+ return command if /^\// =~ command
333
+ case path = @system_commands[command]
334
+ when String
335
+ if exists?(path)
336
+ return path
337
+ else
338
+ Shell.Fail Error::CommandNotFound, command
339
+ end
340
+ when false
341
+ Shell.Fail Error::CommandNotFound, command
342
+ end
343
+
344
+ for p in @shell.system_path
345
+ path = join(p, command)
346
+ if FileTest.exists?(path)
347
+ @system_commands[command] = path
348
+ return path
349
+ end
350
+ end
351
+ @system_commands[command] = false
352
+ Shell.Fail Error::CommandNotFound, command
353
+ end
354
+
355
+ #
356
+ # CommandProcessor.def_system_command(command, path)
357
+ # command: String
358
+ # path: String
359
+ # define 'command()' method as method.
360
+ #
361
+ def self.def_system_command(command, path = command)
362
+ begin
363
+ eval((d = %Q[def #{command}(*opts)
364
+ SystemCommand.new(@shell, '#{path}', *opts)
365
+ end]), nil, __FILE__, __LINE__ - 1)
366
+ rescue SyntaxError
367
+ Shell.notify "warn: Can't define #{command} path: #{path}."
368
+ end
369
+ Shell.notify "Define #{command} path: #{path}.", Shell.debug?
370
+ Shell.notify("Definition of #{command}: ", d,
371
+ Shell.debug.kind_of?(Integer) && Shell.debug > 1)
372
+ end
373
+
374
+ def self.undef_system_command(command)
375
+ command = command.id2name if command.kind_of?(Symbol)
376
+ remove_method(command)
377
+ Shell.module_eval{remove_method(command)}
378
+ Filter.module_eval{remove_method(command)}
379
+ self
380
+ end
381
+
382
+ # define command alias
383
+ # ex)
384
+ # def_alias_command("ls_c", "ls", "-C", "-F")
385
+ # def_alias_command("ls_c", "ls"){|*opts| ["-C", "-F", *opts]}
386
+ #
387
+ @alias_map = {}
388
+ def self.alias_map
389
+ @alias_map
390
+ end
391
+ def self.alias_command(ali, command, *opts, &block)
392
+ ali = ali.id2name if ali.kind_of?(Symbol)
393
+ command = command.id2name if command.kind_of?(Symbol)
394
+ begin
395
+ if iterator?
396
+ @alias_map[ali.intern] = proc
397
+
398
+ eval((d = %Q[def #{ali}(*opts)
399
+ @shell.__send__(:#{command},
400
+ *(CommandProcessor.alias_map[:#{ali}].call *opts))
401
+ end]), nil, __FILE__, __LINE__ - 1)
402
+
403
+ else
404
+ args = opts.collect{|opt| '"' + opt + '"'}.join(",")
405
+ eval((d = %Q[def #{ali}(*opts)
406
+ @shell.__send__(:#{command}, #{args}, *opts)
407
+ end]), nil, __FILE__, __LINE__ - 1)
408
+ end
409
+ rescue SyntaxError
410
+ Shell.notify "warn: Can't alias #{ali} command: #{command}."
411
+ Shell.notify("Definition of #{ali}: ", d)
412
+ raise
413
+ end
414
+ Shell.notify "Define #{ali} command: #{command}.", Shell.debug?
415
+ Shell.notify("Definition of #{ali}: ", d,
416
+ Shell.debug.kind_of?(Integer) && Shell.debug > 1)
417
+ self
418
+ end
419
+
420
+ def self.unalias_command(ali)
421
+ ali = ali.id2name if ali.kind_of?(Symbol)
422
+ @alias_map.delete ali.intern
423
+ undef_system_command(ali)
424
+ end
425
+
426
+ #
427
+ # CommandProcessor.def_builtin_commands(delegation_class, command_specs)
428
+ # delegation_class: Class or Module
429
+ # command_specs: [[command_name, [argument,...]],...]
430
+ # command_name: String
431
+ # arguments: String
432
+ # FILENAME?? -> expand_path(filename??)
433
+ # *FILENAME?? -> filename??.collect{|f|expand_path(f)}.join(", ")
434
+ # define command_name(argument,...) as
435
+ # delegation_class.command_name(argument,...)
436
+ #
437
+ def self.def_builtin_commands(delegation_class, command_specs)
438
+ for meth, args in command_specs
439
+ arg_str = args.collect{|arg| arg.downcase}.join(", ")
440
+ call_arg_str = args.collect{
441
+ |arg|
442
+ case arg
443
+ when /^(FILENAME.*)$/
444
+ format("expand_path(%s)", $1.downcase)
445
+ when /^(\*FILENAME.*)$/
446
+ # \*FILENAME* -> filenames.collect{|fn| expand_path(fn)}.join(", ")
447
+ $1.downcase + '.collect{|fn| expand_path(fn)}'
448
+ else
449
+ arg
450
+ end
451
+ }.join(", ")
452
+ d = %Q[def #{meth}(#{arg_str})
453
+ #{delegation_class}.#{meth}(#{call_arg_str})
454
+ end]
455
+ Shell.notify "Define #{meth}(#{arg_str})", Shell.debug?
456
+ Shell.notify("Definition of #{meth}: ", d,
457
+ Shell.debug.kind_of?(Integer) && Shell.debug > 1)
458
+ eval d
459
+ end
460
+ end
461
+
462
+ #
463
+ # CommandProcessor.install_system_commands(pre)
464
+ # pre: String - command name prefix
465
+ # defines every command which belongs in default_system_path via
466
+ # CommandProcessor.command(). It doesn't define already defined
467
+ # methods twice. By default, "pre_" is prefixes to each method
468
+ # name. Characters that may not be used in a method name are
469
+ # all converted to '_'. Definition errors are just ignored.
470
+ #
471
+ def self.install_system_commands(pre = "sys_")
472
+ defined_meth = {}
473
+ for m in Shell.methods
474
+ defined_meth[m] = true
475
+ end
476
+ sh = Shell.new
477
+ for path in Shell.default_system_path
478
+ next unless sh.directory? path
479
+ sh.cd path
480
+ sh.foreach do
481
+ |cn|
482
+ if !defined_meth[pre + cn] && sh.file?(cn) && sh.executable?(cn)
483
+ command = (pre + cn).gsub(/\W/, "_").sub(/^([0-9])/, '_\1')
484
+ begin
485
+ def_system_command(command, sh.expand_path(cn))
486
+ rescue
487
+ Shell.notify "warn: Can't define #{command} path: #{cn}"
488
+ end
489
+ defined_meth[command] = command
490
+ end
491
+ end
492
+ end
493
+ end
494
+
495
+ #----------------------------------------------------------------------
496
+ #
497
+ # class initializing methods -
498
+ #
499
+ #----------------------------------------------------------------------
500
+ def self.add_delegate_command_to_shell(id)
501
+ id = id.intern if id.kind_of?(String)
502
+ name = id.id2name
503
+ if Shell.method_defined?(id)
504
+ Shell.notify "warn: override definnition of Shell##{name}."
505
+ Shell.notify "warn: alias Shell##{name} to Shell##{name}_org.\n"
506
+ Shell.module_eval "alias #{name}_org #{name}"
507
+ end
508
+ Shell.notify "method added: Shell##{name}.", Shell.debug?
509
+ Shell.module_eval(%Q[def #{name}(*args, &block)
510
+ begin
511
+ @command_processor.__send__(:#{name}, *args, &block)
512
+ rescue Exception
513
+ $@.delete_if{|s| /:in `__getobj__'$/ =~ s} #`
514
+ $@.delete_if{|s| /^\\(eval\\):/ =~ s}
515
+ raise
516
+ end
517
+ end], __FILE__, __LINE__)
518
+
519
+ if Shell::Filter.method_defined?(id)
520
+ Shell.notify "warn: override definnition of Shell::Filter##{name}."
521
+ Shell.notify "warn: alias Shell##{name} to Shell::Filter##{name}_org."
522
+ Filter.module_eval "alias #{name}_org #{name}"
523
+ end
524
+ Shell.notify "method added: Shell::Filter##{name}.", Shell.debug?
525
+ Filter.module_eval(%Q[def #{name}(*args, &block)
526
+ begin
527
+ self | @shell.__send__(:#{name}, *args, &block)
528
+ rescue Exception
529
+ $@.delete_if{|s| /:in `__getobj__'$/ =~ s} #`
530
+ $@.delete_if{|s| /^\\(eval\\):/ =~ s}
531
+ raise
532
+ end
533
+ end], __FILE__, __LINE__)
534
+ end
535
+
536
+ #
537
+ # define default builtin commands
538
+ #
539
+ def self.install_builtin_commands
540
+ # method related File.
541
+ # (exclude open/foreach/unlink)
542
+ normal_delegation_file_methods = [
543
+ ["atime", ["FILENAME"]],
544
+ ["basename", ["fn", "*opts"]],
545
+ ["chmod", ["mode", "*FILENAMES"]],
546
+ ["chown", ["owner", "group", "*FILENAME"]],
547
+ ["ctime", ["FILENAMES"]],
548
+ ["delete", ["*FILENAMES"]],
549
+ ["dirname", ["FILENAME"]],
550
+ ["ftype", ["FILENAME"]],
551
+ ["join", ["*items"]],
552
+ ["link", ["FILENAME_O", "FILENAME_N"]],
553
+ ["lstat", ["FILENAME"]],
554
+ ["mtime", ["FILENAME"]],
555
+ ["readlink", ["FILENAME"]],
556
+ ["rename", ["FILENAME_FROM", "FILENAME_TO"]],
557
+ # ["size", ["FILENAME"]],
558
+ ["split", ["pathname"]],
559
+ ["stat", ["FILENAME"]],
560
+ ["symlink", ["FILENAME_O", "FILENAME_N"]],
561
+ ["truncate", ["FILENAME", "length"]],
562
+ ["utime", ["atime", "mtime", "*FILENAMES"]]]
563
+
564
+ def_builtin_commands(File, normal_delegation_file_methods)
565
+ alias_method :rm, :delete
566
+
567
+ # method related FileTest
568
+ def_builtin_commands(FileTest,
569
+ FileTest.singleton_methods(false).collect{|m| [m, ["FILENAME"]]})
570
+
571
+ # method related ftools
572
+ normal_delegation_ftools_methods = [
573
+ ["syscopy", ["FILENAME_FROM", "FILENAME_TO"]],
574
+ ["copy", ["FILENAME_FROM", "FILENAME_TO"]],
575
+ ["move", ["FILENAME_FROM", "FILENAME_TO"]],
576
+ ["compare", ["FILENAME_FROM", "FILENAME_TO"]],
577
+ ["safe_unlink", ["*FILENAMES"]],
578
+ ["makedirs", ["*FILENAMES"]],
579
+ # ["chmod", ["mode", "*FILENAMES"]],
580
+ ["install", ["FILENAME_FROM", "FILENAME_TO", "mode"]],
581
+ ]
582
+ def_builtin_commands(File,
583
+ normal_delegation_ftools_methods)
584
+ alias_method :cmp, :compare
585
+ alias_method :mv, :move
586
+ alias_method :cp, :copy
587
+ alias_method :rm_f, :safe_unlink
588
+ alias_method :mkpath, :makedirs
589
+ end
590
+
591
+ end
592
+ end