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.
- data/.gitignore +18 -0
- data/.rvmrc +1 -0
- data/Gemfile +6 -0
- data/LICENSE +22 -0
- data/README.md +66 -0
- data/Rakefile +1 -0
- data/lib/ruby_on_ruby.rb +5 -0
- data/lib/ruby_on_ruby/console.rb +7 -0
- data/lib/ruby_on_ruby/context.rb +33 -0
- data/lib/ruby_on_ruby/file_loader.rb +31 -0
- data/lib/ruby_on_ruby/ruby_stream.rb +27 -0
- data/lib/ruby_on_ruby/version.rb +3 -0
- data/lib/rubyonruby.rb +1 -0
- data/ruby_in_ruby.gemspec +19 -0
- data/vendor/javascripts/emscripted-ruby/lib/.document +106 -0
- data/vendor/javascripts/emscripted-ruby/lib/English.rb +155 -0
- data/vendor/javascripts/emscripted-ruby/lib/Env.rb +18 -0
- data/vendor/javascripts/emscripted-ruby/lib/README +96 -0
- data/vendor/javascripts/emscripted-ruby/lib/abbrev.rb +103 -0
- data/vendor/javascripts/emscripted-ruby/lib/base64.rb +133 -0
- data/vendor/javascripts/emscripted-ruby/lib/benchmark.rb +572 -0
- data/vendor/javascripts/emscripted-ruby/lib/cgi-lib.rb +272 -0
- data/vendor/javascripts/emscripted-ruby/lib/cgi.rb +2308 -0
- data/vendor/javascripts/emscripted-ruby/lib/cgi/.document +2 -0
- data/vendor/javascripts/emscripted-ruby/lib/cgi/session.rb +498 -0
- data/vendor/javascripts/emscripted-ruby/lib/cgi/session/pstore.rb +111 -0
- data/vendor/javascripts/emscripted-ruby/lib/complex.rb +663 -0
- data/vendor/javascripts/emscripted-ruby/lib/csv.rb +992 -0
- data/vendor/javascripts/emscripted-ruby/lib/date.rb +1767 -0
- data/vendor/javascripts/emscripted-ruby/lib/date/format.rb +1190 -0
- data/vendor/javascripts/emscripted-ruby/lib/date2.rb +5 -0
- data/vendor/javascripts/emscripted-ruby/lib/debug.rb +947 -0
- data/vendor/javascripts/emscripted-ruby/lib/delegate.rb +337 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb.rb +2 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/acl.rb +146 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/drb.rb +1782 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/eq.rb +16 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/extserv.rb +64 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/extservm.rb +89 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/gw.rb +122 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/invokemethod.rb +36 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/observer.rb +22 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/ssl.rb +190 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/timeridconv.rb +91 -0
- data/vendor/javascripts/emscripted-ruby/lib/drb/unix.rb +108 -0
- data/vendor/javascripts/emscripted-ruby/lib/e2mmap.rb +195 -0
- data/vendor/javascripts/emscripted-ruby/lib/erb.rb +880 -0
- data/vendor/javascripts/emscripted-ruby/lib/eregex.rb +37 -0
- data/vendor/javascripts/emscripted-ruby/lib/fileutils.rb +1591 -0
- data/vendor/javascripts/emscripted-ruby/lib/finalize.rb +193 -0
- data/vendor/javascripts/emscripted-ruby/lib/find.rb +79 -0
- data/vendor/javascripts/emscripted-ruby/lib/forwardable.rb +218 -0
- data/vendor/javascripts/emscripted-ruby/lib/ftools.rb +261 -0
- data/vendor/javascripts/emscripted-ruby/lib/generator.rb +418 -0
- data/vendor/javascripts/emscripted-ruby/lib/getoptlong.rb +621 -0
- data/vendor/javascripts/emscripted-ruby/lib/getopts.rb +127 -0
- data/vendor/javascripts/emscripted-ruby/lib/gserver.rb +253 -0
- data/vendor/javascripts/emscripted-ruby/lib/importenv.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/ipaddr.rb +814 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb.rb +346 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/chws.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/fork.rb +39 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/help.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/load.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/nop.rb +39 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/pushws.rb +39 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/subirb.rb +43 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/completion.rb +205 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/context.rb +255 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/change-ws.rb +62 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/history.rb +110 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/loader.rb +120 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/math-mode.rb +37 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/multi-irb.rb +241 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/save-history.rb +85 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/tracer.rb +61 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/use-loader.rb +65 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ext/workspaces.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/extend-command.rb +264 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/frame.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/help.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/init.rb +259 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/input-method.rb +120 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/lc/error.rb +30 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/lc/help-message +35 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/error.rb +27 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/help-message +36 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/locale.rb +184 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/notifier.rb +145 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/output-method.rb +85 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-lex.rb +1149 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-token.rb +273 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/slex.rb +285 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/version.rb +16 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/workspace.rb +107 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/ws-for-case-2.rb +15 -0
- data/vendor/javascripts/emscripted-ruby/lib/irb/xmp.rb +86 -0
- data/vendor/javascripts/emscripted-ruby/lib/jcode.rb +220 -0
- data/vendor/javascripts/emscripted-ruby/lib/logger.rb +703 -0
- data/vendor/javascripts/emscripted-ruby/lib/mailread.rb +62 -0
- data/vendor/javascripts/emscripted-ruby/lib/mathn.rb +308 -0
- data/vendor/javascripts/emscripted-ruby/lib/matrix.rb +1278 -0
- data/vendor/javascripts/emscripted-ruby/lib/mkmf.rb +1811 -0
- data/vendor/javascripts/emscripted-ruby/lib/monitor.rb +352 -0
- data/vendor/javascripts/emscripted-ruby/lib/mutex_m.rb +122 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/ftp.rb +927 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/http.rb +2277 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/https.rb +173 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/imap.rb +3371 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/pop.rb +999 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/protocol.rb +392 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/smtp.rb +1014 -0
- data/vendor/javascripts/emscripted-ruby/lib/net/telnet.rb +756 -0
- data/vendor/javascripts/emscripted-ruby/lib/observer.rb +192 -0
- data/vendor/javascripts/emscripted-ruby/lib/open-uri.rb +678 -0
- data/vendor/javascripts/emscripted-ruby/lib/open3.rb +101 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse.rb +1790 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse/date.rb +17 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse/shellwords.rb +6 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse/time.rb +10 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse/uri.rb +6 -0
- data/vendor/javascripts/emscripted-ruby/lib/optparse/version.rb +70 -0
- data/vendor/javascripts/emscripted-ruby/lib/ostruct.rb +146 -0
- data/vendor/javascripts/emscripted-ruby/lib/parsearg.rb +87 -0
- data/vendor/javascripts/emscripted-ruby/lib/parsedate.rb +53 -0
- data/vendor/javascripts/emscripted-ruby/lib/pathname.rb +1062 -0
- data/vendor/javascripts/emscripted-ruby/lib/ping.rb +64 -0
- data/vendor/javascripts/emscripted-ruby/lib/pp.rb +654 -0
- data/vendor/javascripts/emscripted-ruby/lib/prettyprint.rb +896 -0
- data/vendor/javascripts/emscripted-ruby/lib/profile.rb +6 -0
- data/vendor/javascripts/emscripted-ruby/lib/profiler.rb +59 -0
- data/vendor/javascripts/emscripted-ruby/lib/pstore.rb +395 -0
- data/vendor/javascripts/emscripted-ruby/lib/racc/parser.rb +442 -0
- data/vendor/javascripts/emscripted-ruby/lib/rational.rb +564 -0
- data/vendor/javascripts/emscripted-ruby/lib/readbytes.rb +41 -0
- data/vendor/javascripts/emscripted-ruby/lib/resolv-replace.rb +62 -0
- data/vendor/javascripts/emscripted-ruby/lib/resolv.rb +2210 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/attlistdecl.rb +62 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/attribute.rb +185 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/cdata.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/child.rb +96 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/comment.rb +80 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/doctype.rb +271 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/document.rb +208 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/attlistdecl.rb +10 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/dtd.rb +51 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/elementdecl.rb +17 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/entitydecl.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/notationdecl.rb +39 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/element.rb +1227 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encoding.rb +71 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/CP-1252.rb +103 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/EUC-JP.rb +35 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ICONV.rb +22 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-1.rb +7 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-15.rb +72 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT-JIS.rb +37 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT_JIS.rb +1 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UNILE.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/US-ASCII.rb +30 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-16.rb +35 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-8.rb +18 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/entity.rb +165 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/default.rb +109 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/pretty.rb +137 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/transitive.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/functions.rb +382 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/instruction.rb +70 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/light/node.rb +196 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/namespace.rb +47 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/node.rb +75 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/output.rb +24 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parent.rb +166 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parseexception.rb +51 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/baseparser.rb +503 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/lightparser.rb +60 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/pullparser.rb +196 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/sax2parser.rb +238 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/streamparser.rb +46 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/treeparser.rb +97 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/ultralightparser.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/xpathparser.rb +698 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/quickpath.rb +266 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/rexml.rb +32 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/sax2listener.rb +97 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/source.rb +251 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/streamlistener.rb +92 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/syncenumerator.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/text.rb +344 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/undefinednamespaceexception.rb +8 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/relaxng.rb +559 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validation.rb +155 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validationexception.rb +9 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/xmldecl.rb +119 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/xmltokens.rb +18 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath.rb +66 -0
- data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath_parser.rb +792 -0
- data/vendor/javascripts/emscripted-ruby/lib/rinda/rinda.rb +283 -0
- data/vendor/javascripts/emscripted-ruby/lib/rinda/ring.rb +271 -0
- data/vendor/javascripts/emscripted-ruby/lib/rinda/tuplespace.rb +642 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss.rb +19 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/0.9.rb +428 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/1.0.rb +452 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/2.0.rb +111 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/atom.rb +749 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/content.rb +31 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/content/1.0.rb +10 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/content/2.0.rb +12 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/converter.rb +162 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore.rb +161 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/1.0.rb +13 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/2.0.rb +13 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/atom.rb +17 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/image.rb +193 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/itunes.rb +410 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker.rb +44 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/0.9.rb +467 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/1.0.rb +434 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/2.0.rb +223 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/atom.rb +172 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/base.rb +868 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/content.rb +21 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/dublincore.rb +124 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/entry.rb +163 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/feed.rb +429 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/image.rb +111 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/itunes.rb +242 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/slash.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/syndication.rb +18 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/taxonomy.rb +118 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/maker/trackback.rb +61 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/parser.rb +541 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/rexmlparser.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/rss.rb +1312 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/slash.rb +49 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/syndication.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/taxonomy.rb +145 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/trackback.rb +288 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/utils.rb +111 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/xml-stylesheet.rb +105 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/xml.rb +71 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/xmlparser.rb +93 -0
- data/vendor/javascripts/emscripted-ruby/lib/rss/xmlscanner.rb +121 -0
- data/vendor/javascripts/emscripted-ruby/lib/rubyunit.rb +6 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/assert.rb +73 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/cui/testrunner.rb +51 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/error.rb +9 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/testcase.rb +45 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/testresult.rb +44 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/testsuite.rb +26 -0
- data/vendor/javascripts/emscripted-ruby/lib/runit/topublic.rb +8 -0
- data/vendor/javascripts/emscripted-ruby/lib/scanf.rb +702 -0
- data/vendor/javascripts/emscripted-ruby/lib/securerandom.rb +137 -0
- data/vendor/javascripts/emscripted-ruby/lib/set.rb +1233 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell.rb +269 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/builtin-command.rb +154 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/command-processor.rb +592 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/error.rb +26 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/filter.rb +110 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/process-controller.rb +260 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/system-command.rb +168 -0
- data/vendor/javascripts/emscripted-ruby/lib/shell/version.rb +16 -0
- data/vendor/javascripts/emscripted-ruby/lib/shellwords.rb +172 -0
- data/vendor/javascripts/emscripted-ruby/lib/singleton.rb +360 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/attachment.rb +107 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/baseData.rb +942 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/element.rb +258 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/aspDotNetHandler.rb +213 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/handler.rb +100 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/literalHandler.rb +226 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/soapHandler.rb +582 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/generator.rb +268 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/header/handler.rb +57 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/header/handlerset.rb +70 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/header/simplehandler.rb +44 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/httpconfigloader.rb +119 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping.rb +10 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/factory.rb +355 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/mapping.rb +381 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/registry.rb +541 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/rubytypeFactory.rb +475 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/typeMap.rb +50 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlencodedregistry.rb +280 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlliteralregistry.rb +418 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/marshal.rb +59 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/mimemessage.rb +240 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/netHttpClient.rb +190 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/parser.rb +251 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/processor.rb +66 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/property.rb +333 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/cgistub.rb +206 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/driver.rb +254 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/element.rb +325 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/httpserver.rb +129 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/proxy.rb +497 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/router.rb +594 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/rpc.rb +25 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/soaplet.rb +162 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/standaloneServer.rb +43 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/soap.rb +140 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/streamHandler.rb +229 -0
- data/vendor/javascripts/emscripted-ruby/lib/soap/wsdlDriver.rb +575 -0
- data/vendor/javascripts/emscripted-ruby/lib/sync.rb +311 -0
- data/vendor/javascripts/emscripted-ruby/lib/tempfile.rb +209 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit.rb +280 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertionfailederror.rb +14 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertions.rb +622 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/autorunner.rb +220 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector.rb +43 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/dir.rb +107 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/error.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/failure.rb +51 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/testcase.rb +160 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/testresult.rb +80 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/testsuite.rb +76 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/console/testrunner.rb +127 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/fox/testrunner.rb +268 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk/testrunner.rb +416 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk2/testrunner.rb +465 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnermediator.rb +68 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnerutilities.rb +46 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/tk/testrunner.rb +260 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/backtracefilter.rb +40 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/observable.rb +90 -0
- data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/javascripts/emscripted-ruby/lib/thread.rb +479 -0
- data/vendor/javascripts/emscripted-ruby/lib/thwait.rb +169 -0
- data/vendor/javascripts/emscripted-ruby/lib/time.rb +797 -0
- data/vendor/javascripts/emscripted-ruby/lib/timeout.rb +122 -0
- data/vendor/javascripts/emscripted-ruby/lib/tmpdir.rb +130 -0
- data/vendor/javascripts/emscripted-ruby/lib/tracer.rb +167 -0
- data/vendor/javascripts/emscripted-ruby/lib/tsort.rb +290 -0
- data/vendor/javascripts/emscripted-ruby/lib/un.rb +235 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri.rb +29 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/common.rb +611 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/ftp.rb +198 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/generic.rb +1122 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/http.rb +100 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/https.rb +20 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/ldap.rb +190 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/ldaps.rb +12 -0
- data/vendor/javascripts/emscripted-ruby/lib/uri/mailto.rb +266 -0
- data/vendor/javascripts/emscripted-ruby/lib/weakref.rb +100 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick.rb +29 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/accesslog.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/cgi.rb +257 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/compat.rb +15 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/config.rb +97 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/cookie.rb +110 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/htmlutils.rb +25 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth.rb +45 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/authenticator.rb +79 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/basicauth.rb +65 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/digestauth.rb +343 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htdigest.rb +91 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htgroup.rb +61 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htpasswd.rb +83 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/userdb.rb +29 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpproxy.rb +254 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httprequest.rb +365 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpresponse.rb +327 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/https.rb +63 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpserver.rb +210 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet.rb +22 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/abstract.rb +71 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgi_runner.rb +47 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgihandler.rb +108 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/erbhandler.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/filehandler.rb +435 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/prochandler.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpstatus.rb +126 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httputils.rb +399 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/httpversion.rb +49 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/log.rb +88 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/server.rb +200 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/ssl.rb +126 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/utils.rb +100 -0
- data/vendor/javascripts/emscripted-ruby/lib/webrick/version.rb +13 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/binding.rb +65 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/data.rb +64 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/definitions.rb +250 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/documentation.rb +32 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/import.rb +80 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/importer.rb +38 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/info.rb +39 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/message.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/operation.rb +130 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/operationBinding.rb +108 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/param.rb +85 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/parser.rb +163 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/part.rb +52 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/port.rb +84 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/portType.rb +73 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/service.rb +61 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/address.rb +40 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/binding.rb +49 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/body.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/cgiStubCreator.rb +76 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreator.rb +314 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreatorSupport.rb +126 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/clientSkeltonCreator.rb +78 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/complexType.rb +161 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/data.rb +42 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/definitions.rb +149 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/driverCreator.rb +95 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/element.rb +28 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/fault.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/header.rb +86 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/headerfault.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/mappingRegistryCreator.rb +92 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/methodDefCreator.rb +228 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/operation.rb +122 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/servantSkeltonCreator.rb +67 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/standaloneServerStubCreator.rb +85 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/wsdl2ruby.rb +176 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/types.rb +43 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/wsdl.rb +23 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/all.rb +69 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/annotation.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/any.rb +56 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/attribute.rb +127 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/choice.rb +69 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexContent.rb +92 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexType.rb +139 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/content.rb +96 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/data.rb +80 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/element.rb +154 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/enumeration.rb +36 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/import.rb +65 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/importer.rb +87 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/include.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/length.rb +35 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/parser.rb +166 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/pattern.rb +36 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/schema.rb +143 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/sequence.rb +69 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleContent.rb +65 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleRestriction.rb +73 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleType.rb +73 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/unique.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/.document +1 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/README.txt +31 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/base64.rb +81 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/client.rb +624 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/config.rb +40 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/create.rb +290 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/datetime.rb +142 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/httpserver.rb +178 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/marshal.rb +76 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/parser.rb +813 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/server.rb +780 -0
- data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/utils.rb +165 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/charset.rb +187 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen.rb +12 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/classdef.rb +203 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/commentdef.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/gensupport.rb +166 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/methoddef.rb +63 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/moduledef.rb +191 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes.rb +1269 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes1999.rb +20 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/iconvcharset.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/mapping.rb +42 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/namedelements.rb +95 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/ns.rb +140 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/qname.rb +78 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser.rb +61 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/parser.rb +96 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/rexmlparser.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlparser.rb +50 -0
- data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlscanner.rb +147 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml.rb +440 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/baseemitter.rb +247 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/basenode.rb +216 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/constants.rb +45 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/dbm.rb +111 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/encoding.rb +33 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/error.rb +34 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/loader.rb +14 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/rubytypes.rb +408 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/store.rb +43 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/stream.rb +40 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/stringio.rb +83 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/syck.rb +19 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/tag.rb +91 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/types.rb +192 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/yamlnode.rb +54 -0
- data/vendor/javascripts/emscripted-ruby/lib/yaml/ypath.rb +52 -0
- data/vendor/javascripts/emscripted-ruby/ruby.closure.js +7201 -0
- metadata +554 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#
|
|
2
|
+
# version.rb - shell version definition file
|
|
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
|
+
class Shell
|
|
14
|
+
@RELEASE_VERSION = "0.6.0"
|
|
15
|
+
@LAST_UPDATE_DATE = "01/03/19"
|
|
16
|
+
end
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
#
|
|
2
|
+
# shellwords.rb: Manipulates strings a la UNIX Bourne shell
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
#
|
|
6
|
+
# This module manipulates strings according to the word parsing rules
|
|
7
|
+
# of the UNIX Bourne shell.
|
|
8
|
+
#
|
|
9
|
+
# The shellwords() function was originally a port of shellwords.pl,
|
|
10
|
+
# but modified to conform to POSIX / SUSv3 (IEEE Std 1003.1-2001).
|
|
11
|
+
#
|
|
12
|
+
# Authors:
|
|
13
|
+
# - Wakou Aoyama
|
|
14
|
+
# - Akinori MUSHA <knu@iDaemons.org>
|
|
15
|
+
#
|
|
16
|
+
# Contact:
|
|
17
|
+
# - Akinori MUSHA <knu@iDaemons.org> (current maintainer)
|
|
18
|
+
#
|
|
19
|
+
module Shellwords
|
|
20
|
+
#
|
|
21
|
+
# Splits a string into an array of tokens in the same way the UNIX
|
|
22
|
+
# Bourne shell does.
|
|
23
|
+
#
|
|
24
|
+
# argv = Shellwords.split('here are "two words"')
|
|
25
|
+
# argv #=> ["here", "are", "two words"]
|
|
26
|
+
#
|
|
27
|
+
# +String#shellsplit+ is a shorthand for this function.
|
|
28
|
+
#
|
|
29
|
+
# argv = 'here are "two words"'.shellsplit
|
|
30
|
+
# argv #=> ["here", "are", "two words"]
|
|
31
|
+
#
|
|
32
|
+
def shellsplit(line)
|
|
33
|
+
line = String.new(line) rescue
|
|
34
|
+
raise(ArgumentError, "Argument must be a string")
|
|
35
|
+
line.lstrip!
|
|
36
|
+
words = []
|
|
37
|
+
until line.empty?
|
|
38
|
+
field = ''
|
|
39
|
+
loop do
|
|
40
|
+
if line.sub!(/\A"(([^"\\]|\\.)*)"/, '') then
|
|
41
|
+
snippet = $1.gsub(/\\(.)/, '\1')
|
|
42
|
+
elsif line =~ /\A"/ then
|
|
43
|
+
raise ArgumentError, "Unmatched double quote: #{line}"
|
|
44
|
+
elsif line.sub!(/\A'([^']*)'/, '') then
|
|
45
|
+
snippet = $1
|
|
46
|
+
elsif line =~ /\A'/ then
|
|
47
|
+
raise ArgumentError, "Unmatched single quote: #{line}"
|
|
48
|
+
elsif line.sub!(/\A\\(.)?/, '') then
|
|
49
|
+
snippet = $1 || '\\'
|
|
50
|
+
elsif line.sub!(/\A([^\s\\'"]+)/, '') then
|
|
51
|
+
snippet = $1
|
|
52
|
+
else
|
|
53
|
+
line.lstrip!
|
|
54
|
+
break
|
|
55
|
+
end
|
|
56
|
+
field.concat(snippet)
|
|
57
|
+
end
|
|
58
|
+
words.push(field)
|
|
59
|
+
end
|
|
60
|
+
words
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
alias shellwords shellsplit
|
|
64
|
+
|
|
65
|
+
module_function :shellsplit, :shellwords
|
|
66
|
+
|
|
67
|
+
class << self
|
|
68
|
+
alias split shellsplit
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
#
|
|
72
|
+
# Escapes a string so that it can be safely used in a Bourne shell
|
|
73
|
+
# command line.
|
|
74
|
+
#
|
|
75
|
+
# Note that a resulted string should be used unquoted and is not
|
|
76
|
+
# intended for use in double quotes nor in single quotes.
|
|
77
|
+
#
|
|
78
|
+
# open("| grep #{Shellwords.escape(pattern)} file") { |pipe|
|
|
79
|
+
# # ...
|
|
80
|
+
# }
|
|
81
|
+
#
|
|
82
|
+
# +String#shellescape+ is a shorthand for this function.
|
|
83
|
+
#
|
|
84
|
+
# open("| grep #{pattern.shellescape} file") { |pipe|
|
|
85
|
+
# # ...
|
|
86
|
+
# }
|
|
87
|
+
#
|
|
88
|
+
def shellescape(str)
|
|
89
|
+
# An empty argument will be skipped, so return empty quotes.
|
|
90
|
+
return "''" if str.empty?
|
|
91
|
+
|
|
92
|
+
str = str.dup
|
|
93
|
+
|
|
94
|
+
# Process as a single byte sequence because not all shell
|
|
95
|
+
# implementations are multibyte aware.
|
|
96
|
+
str.gsub!(/([^A-Za-z0-9_\-.,:\/@\n])/n, "\\\\\\1")
|
|
97
|
+
|
|
98
|
+
# A LF cannot be escaped with a backslash because a backslash + LF
|
|
99
|
+
# combo is regarded as line continuation and simply ignored.
|
|
100
|
+
str.gsub!(/\n/, "'\n'")
|
|
101
|
+
|
|
102
|
+
return str
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
module_function :shellescape
|
|
106
|
+
|
|
107
|
+
class << self
|
|
108
|
+
alias escape shellescape
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
#
|
|
112
|
+
# Builds a command line string from an argument list +array+ joining
|
|
113
|
+
# all elements escaped for Bourne shell and separated by a space.
|
|
114
|
+
#
|
|
115
|
+
# open('|' + Shellwords.join(['grep', pattern, *files])) { |pipe|
|
|
116
|
+
# # ...
|
|
117
|
+
# }
|
|
118
|
+
#
|
|
119
|
+
# +Array#shelljoin+ is a shorthand for this function.
|
|
120
|
+
#
|
|
121
|
+
# open('|' + ['grep', pattern, *files].shelljoin) { |pipe|
|
|
122
|
+
# # ...
|
|
123
|
+
# }
|
|
124
|
+
#
|
|
125
|
+
def shelljoin(array)
|
|
126
|
+
array.map { |arg| shellescape(arg) }.join(' ')
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
module_function :shelljoin
|
|
130
|
+
|
|
131
|
+
class << self
|
|
132
|
+
alias join shelljoin
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
class String
|
|
137
|
+
#
|
|
138
|
+
# call-seq:
|
|
139
|
+
# str.shellsplit => array
|
|
140
|
+
#
|
|
141
|
+
# Splits +str+ into an array of tokens in the same way the UNIX
|
|
142
|
+
# Bourne shell does. See +Shellwords::shellsplit+ for details.
|
|
143
|
+
#
|
|
144
|
+
def shellsplit
|
|
145
|
+
Shellwords.split(self)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
#
|
|
149
|
+
# call-seq:
|
|
150
|
+
# str.shellescape => string
|
|
151
|
+
#
|
|
152
|
+
# Escapes +str+ so that it can be safely used in a Bourne shell
|
|
153
|
+
# command line. See +Shellwords::shellescape+ for details.
|
|
154
|
+
#
|
|
155
|
+
def shellescape
|
|
156
|
+
Shellwords.escape(self)
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
class Array
|
|
161
|
+
#
|
|
162
|
+
# call-seq:
|
|
163
|
+
# array.shelljoin => string
|
|
164
|
+
#
|
|
165
|
+
# Builds a command line string from an argument list +array+ joining
|
|
166
|
+
# all elements escaped for Bourne shell and separated by a space.
|
|
167
|
+
# See +Shellwords::shelljoin+ for details.
|
|
168
|
+
#
|
|
169
|
+
def shelljoin
|
|
170
|
+
Shellwords.join(self)
|
|
171
|
+
end
|
|
172
|
+
end
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
# The Singleton module implements the Singleton pattern.
|
|
2
|
+
#
|
|
3
|
+
# Usage:
|
|
4
|
+
# class Klass
|
|
5
|
+
# include Singleton
|
|
6
|
+
# # ...
|
|
7
|
+
# end
|
|
8
|
+
#
|
|
9
|
+
# * this ensures that only one instance of Klass lets call it
|
|
10
|
+
# ``the instance'' can be created.
|
|
11
|
+
#
|
|
12
|
+
# a,b = Klass.instance, Klass.instance
|
|
13
|
+
# a == b # => true
|
|
14
|
+
# a.new # NoMethodError - new is private ...
|
|
15
|
+
#
|
|
16
|
+
# * ``The instance'' is created at instantiation time, in other
|
|
17
|
+
# words the first call of Klass.instance(), thus
|
|
18
|
+
#
|
|
19
|
+
# class OtherKlass
|
|
20
|
+
# include Singleton
|
|
21
|
+
# # ...
|
|
22
|
+
# end
|
|
23
|
+
# ObjectSpace.each_object(OtherKlass){} # => 0.
|
|
24
|
+
#
|
|
25
|
+
# * This behavior is preserved under inheritance and cloning.
|
|
26
|
+
#
|
|
27
|
+
#
|
|
28
|
+
#
|
|
29
|
+
# This is achieved by marking
|
|
30
|
+
# * Klass.new and Klass.allocate - as private
|
|
31
|
+
#
|
|
32
|
+
# Providing (or modifying) the class methods
|
|
33
|
+
# * Klass.inherited(sub_klass) and Klass.clone() -
|
|
34
|
+
# to ensure that the Singleton pattern is properly
|
|
35
|
+
# inherited and cloned.
|
|
36
|
+
#
|
|
37
|
+
# * Klass.instance() - returning ``the instance''. After a
|
|
38
|
+
# successful self modifying (normally the first) call the
|
|
39
|
+
# method body is a simple:
|
|
40
|
+
#
|
|
41
|
+
# def Klass.instance()
|
|
42
|
+
# return @__instance__
|
|
43
|
+
# end
|
|
44
|
+
#
|
|
45
|
+
# * Klass._load(str) - calling Klass.instance()
|
|
46
|
+
#
|
|
47
|
+
# * Klass._instantiate?() - returning ``the instance'' or
|
|
48
|
+
# nil. This hook method puts a second (or nth) thread calling
|
|
49
|
+
# Klass.instance() on a waiting loop. The return value
|
|
50
|
+
# signifies the successful completion or premature termination
|
|
51
|
+
# of the first, or more generally, current "instantiation thread".
|
|
52
|
+
#
|
|
53
|
+
#
|
|
54
|
+
# The instance method of Singleton are
|
|
55
|
+
# * clone and dup - raising TypeErrors to prevent cloning or duping
|
|
56
|
+
#
|
|
57
|
+
# * _dump(depth) - returning the empty string. Marshalling strips
|
|
58
|
+
# by default all state information, e.g. instance variables and
|
|
59
|
+
# taint state, from ``the instance''. Providing custom _load(str)
|
|
60
|
+
# and _dump(depth) hooks allows the (partially) resurrections of
|
|
61
|
+
# a previous state of ``the instance''.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
module Singleton
|
|
66
|
+
# disable build-in copying methods
|
|
67
|
+
def clone
|
|
68
|
+
raise TypeError, "can't clone instance of singleton #{self.class}"
|
|
69
|
+
end
|
|
70
|
+
def dup
|
|
71
|
+
raise TypeError, "can't dup instance of singleton #{self.class}"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
private
|
|
75
|
+
# default marshalling strategy
|
|
76
|
+
def _dump(depth=-1)
|
|
77
|
+
''
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class << Singleton
|
|
83
|
+
# Method body of first instance call.
|
|
84
|
+
FirstInstanceCall = proc do
|
|
85
|
+
# @__instance__ takes on one of the following values
|
|
86
|
+
# * nil - before and after a failed creation
|
|
87
|
+
# * false - during creation
|
|
88
|
+
# * sub_class instance - after a successful creation
|
|
89
|
+
# the form makes up for the lack of returns in progs
|
|
90
|
+
Thread.critical = true
|
|
91
|
+
if @__instance__.nil?
|
|
92
|
+
@__instance__ = false
|
|
93
|
+
Thread.critical = false
|
|
94
|
+
begin
|
|
95
|
+
@__instance__ = new
|
|
96
|
+
ensure
|
|
97
|
+
if @__instance__
|
|
98
|
+
class <<self
|
|
99
|
+
remove_method :instance
|
|
100
|
+
def instance; @__instance__ end
|
|
101
|
+
end
|
|
102
|
+
else
|
|
103
|
+
@__instance__ = nil # failed instance creation
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
elsif _instantiate?()
|
|
107
|
+
Thread.critical = false
|
|
108
|
+
else
|
|
109
|
+
@__instance__ = false
|
|
110
|
+
Thread.critical = false
|
|
111
|
+
begin
|
|
112
|
+
@__instance__ = new
|
|
113
|
+
ensure
|
|
114
|
+
if @__instance__
|
|
115
|
+
class <<self
|
|
116
|
+
remove_method :instance
|
|
117
|
+
def instance; @__instance__ end
|
|
118
|
+
end
|
|
119
|
+
else
|
|
120
|
+
@__instance__ = nil
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
@__instance__
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
module SingletonClassMethods
|
|
128
|
+
# properly clone the Singleton pattern - did you know
|
|
129
|
+
# that duping doesn't copy class methods?
|
|
130
|
+
def clone
|
|
131
|
+
Singleton.__init__(super)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def _load(str)
|
|
135
|
+
instance
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
private
|
|
139
|
+
|
|
140
|
+
# ensure that the Singleton pattern is properly inherited
|
|
141
|
+
def inherited(sub_klass)
|
|
142
|
+
super
|
|
143
|
+
Singleton.__init__(sub_klass)
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# waiting-loop hook
|
|
147
|
+
def _instantiate?()
|
|
148
|
+
while false.equal?(@__instance__)
|
|
149
|
+
Thread.critical = false
|
|
150
|
+
sleep(0.08) # timeout
|
|
151
|
+
Thread.critical = true
|
|
152
|
+
end
|
|
153
|
+
@__instance__
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def __init__(klass)
|
|
158
|
+
klass.instance_eval { @__instance__ = nil }
|
|
159
|
+
class << klass
|
|
160
|
+
define_method(:instance,FirstInstanceCall)
|
|
161
|
+
end
|
|
162
|
+
klass
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
private
|
|
166
|
+
# extending an object with Singleton is a bad idea
|
|
167
|
+
undef_method :extend_object
|
|
168
|
+
|
|
169
|
+
def append_features(mod)
|
|
170
|
+
# help out people counting on transitive mixins
|
|
171
|
+
unless mod.instance_of?(Class)
|
|
172
|
+
raise TypeError, "Inclusion of the OO-Singleton module in module #{mod}"
|
|
173
|
+
end
|
|
174
|
+
super
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
def included(klass)
|
|
178
|
+
super
|
|
179
|
+
klass.private_class_method :new, :allocate
|
|
180
|
+
klass.extend SingletonClassMethods
|
|
181
|
+
Singleton.__init__(klass)
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
if __FILE__ == $0
|
|
188
|
+
|
|
189
|
+
def num_of_instances(klass)
|
|
190
|
+
"#{ObjectSpace.each_object(klass){}} #{klass} instance(s)"
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
# The basic and most important example.
|
|
194
|
+
|
|
195
|
+
class SomeSingletonClass
|
|
196
|
+
include Singleton
|
|
197
|
+
end
|
|
198
|
+
puts "There are #{num_of_instances(SomeSingletonClass)}"
|
|
199
|
+
|
|
200
|
+
a = SomeSingletonClass.instance
|
|
201
|
+
b = SomeSingletonClass.instance # a and b are same object
|
|
202
|
+
puts "basic test is #{a == b}"
|
|
203
|
+
|
|
204
|
+
begin
|
|
205
|
+
SomeSingletonClass.new
|
|
206
|
+
rescue NoMethodError => mes
|
|
207
|
+
puts mes
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
puts "\nThreaded example with exception and customized #_instantiate?() hook"; p
|
|
213
|
+
Thread.abort_on_exception = false
|
|
214
|
+
|
|
215
|
+
class Ups < SomeSingletonClass
|
|
216
|
+
def initialize
|
|
217
|
+
self.class.__sleep
|
|
218
|
+
puts "initialize called by thread ##{Thread.current[:i]}"
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
class << Ups
|
|
223
|
+
def _instantiate?
|
|
224
|
+
@enter.push Thread.current[:i]
|
|
225
|
+
while false.equal?(@__instance__)
|
|
226
|
+
Thread.critical = false
|
|
227
|
+
sleep 0.08
|
|
228
|
+
Thread.critical = true
|
|
229
|
+
end
|
|
230
|
+
@leave.push Thread.current[:i]
|
|
231
|
+
@__instance__
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
def __sleep
|
|
235
|
+
sleep(rand(0.08))
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
def new
|
|
239
|
+
begin
|
|
240
|
+
__sleep
|
|
241
|
+
raise "boom - thread ##{Thread.current[:i]} failed to create instance"
|
|
242
|
+
ensure
|
|
243
|
+
# simple flip-flop
|
|
244
|
+
class << self
|
|
245
|
+
remove_method :new
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
def instantiate_all
|
|
251
|
+
@enter = []
|
|
252
|
+
@leave = []
|
|
253
|
+
1.upto(9) {|i|
|
|
254
|
+
Thread.new {
|
|
255
|
+
begin
|
|
256
|
+
Thread.current[:i] = i
|
|
257
|
+
__sleep
|
|
258
|
+
instance
|
|
259
|
+
rescue RuntimeError => mes
|
|
260
|
+
puts mes
|
|
261
|
+
end
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
puts "Before there were #{num_of_instances(self)}"
|
|
265
|
+
sleep 3
|
|
266
|
+
puts "Now there is #{num_of_instances(self)}"
|
|
267
|
+
puts "#{@enter.join '; '} was the order of threads entering the waiting loop"
|
|
268
|
+
puts "#{@leave.join '; '} was the order of threads leaving the waiting loop"
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
Ups.instantiate_all
|
|
274
|
+
# results in message like
|
|
275
|
+
# Before there were 0 Ups instance(s)
|
|
276
|
+
# boom - thread #6 failed to create instance
|
|
277
|
+
# initialize called by thread #3
|
|
278
|
+
# Now there is 1 Ups instance(s)
|
|
279
|
+
# 3; 2; 1; 8; 4; 7; 5 was the order of threads entering the waiting loop
|
|
280
|
+
# 3; 2; 1; 7; 4; 8; 5 was the order of threads leaving the waiting loop
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
puts "\nLets see if class level cloning really works"
|
|
284
|
+
Yup = Ups.clone
|
|
285
|
+
def Yup.new
|
|
286
|
+
begin
|
|
287
|
+
__sleep
|
|
288
|
+
raise "boom - thread ##{Thread.current[:i]} failed to create instance"
|
|
289
|
+
ensure
|
|
290
|
+
# simple flip-flop
|
|
291
|
+
class << self
|
|
292
|
+
remove_method :new
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
Yup.instantiate_all
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
puts "\n\n","Customized marshalling"
|
|
300
|
+
class A
|
|
301
|
+
include Singleton
|
|
302
|
+
attr_accessor :persist, :die
|
|
303
|
+
def _dump(depth)
|
|
304
|
+
# this strips the @die information from the instance
|
|
305
|
+
Marshal.dump(@persist,depth)
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
def A._load(str)
|
|
310
|
+
instance.persist = Marshal.load(str)
|
|
311
|
+
instance
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
a = A.instance
|
|
315
|
+
a.persist = ["persist"]
|
|
316
|
+
a.die = "die"
|
|
317
|
+
a.taint
|
|
318
|
+
|
|
319
|
+
stored_state = Marshal.dump(a)
|
|
320
|
+
# change state
|
|
321
|
+
a.persist = nil
|
|
322
|
+
a.die = nil
|
|
323
|
+
b = Marshal.load(stored_state)
|
|
324
|
+
p a == b # => true
|
|
325
|
+
p a.persist # => ["persist"]
|
|
326
|
+
p a.die # => nil
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
puts "\n\nSingleton with overridden default #inherited() hook"
|
|
330
|
+
class Up
|
|
331
|
+
end
|
|
332
|
+
def Up.inherited(sub_klass)
|
|
333
|
+
puts "#{sub_klass} subclasses #{self}"
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
class Middle < Up
|
|
338
|
+
include Singleton
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
class Down < Middle; end
|
|
342
|
+
|
|
343
|
+
puts "and basic \"Down test\" is #{Down.instance == Down.instance}\n
|
|
344
|
+
Various exceptions"
|
|
345
|
+
|
|
346
|
+
begin
|
|
347
|
+
module AModule
|
|
348
|
+
include Singleton
|
|
349
|
+
end
|
|
350
|
+
rescue TypeError => mes
|
|
351
|
+
puts mes #=> Inclusion of the OO-Singleton module in module AModule
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
begin
|
|
355
|
+
'aString'.extend Singleton
|
|
356
|
+
rescue NoMethodError => mes
|
|
357
|
+
puts mes #=> undefined method `extend_object' for Singleton:Module
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
end
|