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,96 @@
|
|
|
1
|
+
# XSD4R - XML Instance parser library.
|
|
2
|
+
# Copyright (C) 2002, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
3
|
+
|
|
4
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
5
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
6
|
+
# either the dual license version in 2003, or any later version.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
require 'xsd/qname'
|
|
10
|
+
require 'xsd/ns'
|
|
11
|
+
require 'xsd/charset'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module XSD
|
|
15
|
+
module XMLParser
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Parser
|
|
19
|
+
class ParseError < Error; end
|
|
20
|
+
class FormatDecodeError < ParseError; end
|
|
21
|
+
class UnknownElementError < FormatDecodeError; end
|
|
22
|
+
class UnknownAttributeError < FormatDecodeError; end
|
|
23
|
+
class UnexpectedElementError < FormatDecodeError; end
|
|
24
|
+
class ElementConstraintError < FormatDecodeError; end
|
|
25
|
+
|
|
26
|
+
@@parser_factory = nil
|
|
27
|
+
|
|
28
|
+
def self.factory
|
|
29
|
+
@@parser_factory
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.create_parser(host, opt = {})
|
|
33
|
+
@@parser_factory.new(host, opt)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def self.add_factory(factory)
|
|
37
|
+
if $DEBUG
|
|
38
|
+
puts "Set #{ factory } as XML processor."
|
|
39
|
+
end
|
|
40
|
+
@@parser_factory = factory
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
public
|
|
44
|
+
|
|
45
|
+
attr_accessor :charset
|
|
46
|
+
|
|
47
|
+
def initialize(host, opt = {})
|
|
48
|
+
@host = host
|
|
49
|
+
@charset = opt[:charset] || nil
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def parse(string_or_readable)
|
|
53
|
+
@textbuf = ''
|
|
54
|
+
prologue
|
|
55
|
+
do_parse(string_or_readable)
|
|
56
|
+
epilogue
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
private
|
|
60
|
+
|
|
61
|
+
def do_parse(string_or_readable)
|
|
62
|
+
raise NotImplementError.new(
|
|
63
|
+
'Method do_parse must be defined in derived class.')
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def start_element(name, attrs)
|
|
67
|
+
@host.start_element(name, attrs)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def characters(text)
|
|
71
|
+
@host.characters(text)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def end_element(name)
|
|
75
|
+
@host.end_element(name)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def prologue
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def epilogue
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def xmldecl_encoding=(charset)
|
|
85
|
+
if @charset.nil?
|
|
86
|
+
@charset = charset
|
|
87
|
+
else
|
|
88
|
+
# Definition in a stream (like HTTP) has a priority.
|
|
89
|
+
p "encoding definition: #{ charset } is ignored." if $DEBUG
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
end
|
|
96
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# XSD4R - REXMLParser XML parser library.
|
|
2
|
+
# Copyright (C) 2002, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
3
|
+
|
|
4
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
5
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
6
|
+
# either the dual license version in 2003, or any later version.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
require 'xsd/xmlparser'
|
|
10
|
+
require 'rexml/streamlistener'
|
|
11
|
+
require 'rexml/document'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module XSD
|
|
15
|
+
module XMLParser
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class REXMLParser < XSD::XMLParser::Parser
|
|
19
|
+
include REXML::StreamListener
|
|
20
|
+
|
|
21
|
+
def do_parse(string_or_readable)
|
|
22
|
+
source = nil
|
|
23
|
+
source = REXML::SourceFactory.create_from(string_or_readable)
|
|
24
|
+
source.encoding = charset if charset
|
|
25
|
+
# Listener passes a String in utf-8.
|
|
26
|
+
@charset = 'utf-8'
|
|
27
|
+
REXML::Document.parse_stream(source, self)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def epilogue
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def tag_start(name, attrs)
|
|
34
|
+
start_element(name, attrs)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def tag_end(name)
|
|
38
|
+
end_element(name)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def text(text)
|
|
42
|
+
characters(text)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def xmldecl(version, encoding, standalone)
|
|
46
|
+
# Version should be checked.
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
add_factory(self)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# XSD4R - XMLParser XML parser library.
|
|
2
|
+
# Copyright (C) 2001, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
3
|
+
|
|
4
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
5
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
6
|
+
# either the dual license version in 2003, or any later version.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
require 'xsd/xmlparser'
|
|
10
|
+
require 'xml/parser'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module XSD
|
|
14
|
+
module XMLParser
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class XMLParser < XSD::XMLParser::Parser
|
|
18
|
+
class Listener < XML::Parser
|
|
19
|
+
begin
|
|
20
|
+
require 'xml/encoding-ja'
|
|
21
|
+
include XML::Encoding_ja
|
|
22
|
+
rescue LoadError
|
|
23
|
+
# uconv may not be installed.
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def do_parse(string_or_readable)
|
|
28
|
+
# XMLParser passes a String in utf-8.
|
|
29
|
+
@charset = 'utf-8'
|
|
30
|
+
@parser = Listener.new
|
|
31
|
+
@parser.parse(string_or_readable) do |type, name, data|
|
|
32
|
+
case type
|
|
33
|
+
when XML::Parser::START_ELEM
|
|
34
|
+
start_element(name, data)
|
|
35
|
+
when XML::Parser::END_ELEM
|
|
36
|
+
end_element(name)
|
|
37
|
+
when XML::Parser::CDATA
|
|
38
|
+
characters(data)
|
|
39
|
+
else
|
|
40
|
+
raise FormatDecodeError.new("Unexpected XML: #{ type }/#{ name }/#{ data }.")
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
add_factory(self)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# XSD4R - XMLScan XML parser library.
|
|
2
|
+
# Copyright (C) 2002, 2003, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
3
|
+
|
|
4
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
5
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
6
|
+
# either the dual license version in 2003, or any later version.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
require 'xsd/xmlparser'
|
|
10
|
+
require 'xmlscan/scanner'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module XSD
|
|
14
|
+
module XMLParser
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class XMLScanner < XSD::XMLParser::Parser
|
|
18
|
+
include XMLScan::Visitor
|
|
19
|
+
|
|
20
|
+
def do_parse(string_or_readable)
|
|
21
|
+
@attrs = {}
|
|
22
|
+
@curattr = nil
|
|
23
|
+
@scanner = XMLScan::XMLScanner.new(self)
|
|
24
|
+
@scanner.kcode = XSD::Charset.charset_str(charset) if charset
|
|
25
|
+
@scanner.parse(string_or_readable)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def scanner_kcode=(charset)
|
|
29
|
+
@scanner.kcode = XSD::Charset.charset_str(charset) if charset
|
|
30
|
+
self.xmldecl_encoding = charset
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
ENTITY_REF_MAP = {
|
|
34
|
+
'lt' => '<',
|
|
35
|
+
'gt' => '>',
|
|
36
|
+
'amp' => '&',
|
|
37
|
+
'quot' => '"',
|
|
38
|
+
'apos' => '\''
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
def parse_error(msg)
|
|
42
|
+
raise ParseError.new(msg)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def wellformed_error(msg)
|
|
46
|
+
raise NotWellFormedError.new(msg)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def valid_error(msg)
|
|
50
|
+
raise NotValidError.new(msg)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def warning(msg)
|
|
54
|
+
p msg if $DEBUG
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# def on_xmldecl; end
|
|
58
|
+
|
|
59
|
+
def on_xmldecl_version(str)
|
|
60
|
+
# 1.0 expected.
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def on_xmldecl_encoding(str)
|
|
64
|
+
self.scanner_kcode = str
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# def on_xmldecl_standalone(str); end
|
|
68
|
+
|
|
69
|
+
# def on_xmldecl_other(name, value); end
|
|
70
|
+
|
|
71
|
+
# def on_xmldecl_end; end
|
|
72
|
+
|
|
73
|
+
# def on_doctype(root, pubid, sysid); end
|
|
74
|
+
|
|
75
|
+
# def on_prolog_space(str); end
|
|
76
|
+
|
|
77
|
+
# def on_comment(str); end
|
|
78
|
+
|
|
79
|
+
# def on_pi(target, pi); end
|
|
80
|
+
|
|
81
|
+
def on_chardata(str)
|
|
82
|
+
characters(str)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# def on_cdata(str); end
|
|
86
|
+
|
|
87
|
+
def on_etag(name)
|
|
88
|
+
end_element(name)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def on_entityref(ref)
|
|
92
|
+
characters(ENTITY_REF_MAP[ref])
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def on_charref(code)
|
|
96
|
+
characters([code].pack('U'))
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def on_charref_hex(code)
|
|
100
|
+
on_charref(code)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# def on_start_document; end
|
|
104
|
+
|
|
105
|
+
# def on_end_document; end
|
|
106
|
+
|
|
107
|
+
def on_stag(name)
|
|
108
|
+
@attrs = {}
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def on_attribute(name)
|
|
112
|
+
@attrs[name] = @curattr = ''
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def on_attr_value(str)
|
|
116
|
+
@curattr << str
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def on_attr_entityref(ref)
|
|
120
|
+
@curattr << ENTITY_REF_MAP[ref]
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def on_attr_charref(code)
|
|
124
|
+
@curattr << [code].pack('U')
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def on_attr_charref_hex(code)
|
|
128
|
+
on_attr_charref(code)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# def on_attribute_end(name); end
|
|
132
|
+
|
|
133
|
+
def on_stag_end_empty(name)
|
|
134
|
+
on_stag_end(name)
|
|
135
|
+
on_etag(name)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def on_stag_end(name)
|
|
139
|
+
start_element(name, @attrs)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
add_factory(self)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
end
|
|
147
|
+
end
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# -*- mode: ruby; ruby-indent-level: 4; tab-width: 4 -*- vim: sw=4 ts=4
|
|
2
|
+
# $Id: yaml.rb 16084 2008-04-19 11:45:39Z knu $
|
|
3
|
+
#
|
|
4
|
+
# = yaml.rb: top-level module with methods for loading and parsing YAML documents
|
|
5
|
+
#
|
|
6
|
+
# Author:: why the lucky stiff
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'yaml/stringio'
|
|
10
|
+
require 'yaml/error'
|
|
11
|
+
require 'yaml/syck'
|
|
12
|
+
require 'yaml/tag'
|
|
13
|
+
require 'yaml/stream'
|
|
14
|
+
require 'yaml/constants'
|
|
15
|
+
|
|
16
|
+
# == YAML
|
|
17
|
+
#
|
|
18
|
+
# YAML(tm) (rhymes with 'camel') is a
|
|
19
|
+
# straightforward machine parsable data serialization format designed for
|
|
20
|
+
# human readability and interaction with scripting languages such as Perl
|
|
21
|
+
# and Python. YAML is optimized for data serialization, formatted
|
|
22
|
+
# dumping, configuration files, log files, Internet messaging and
|
|
23
|
+
# filtering. This specification describes the YAML information model and
|
|
24
|
+
# serialization format. Together with the Unicode standard for characters, it
|
|
25
|
+
# provides all the information necessary to understand YAML Version 1.0
|
|
26
|
+
# and construct computer programs to process it.
|
|
27
|
+
#
|
|
28
|
+
# See http://yaml.org/ for more information. For a quick tutorial, please
|
|
29
|
+
# visit YAML In Five Minutes (http://yaml.kwiki.org/?YamlInFiveMinutes).
|
|
30
|
+
#
|
|
31
|
+
# == About This Library
|
|
32
|
+
#
|
|
33
|
+
# The YAML 1.0 specification outlines four stages of YAML loading and dumping.
|
|
34
|
+
# This library honors all four of those stages, although data is really only
|
|
35
|
+
# available to you in three stages.
|
|
36
|
+
#
|
|
37
|
+
# The four stages are: native, representation, serialization, and presentation.
|
|
38
|
+
#
|
|
39
|
+
# The native stage refers to data which has been loaded completely into Ruby's
|
|
40
|
+
# own types. (See +YAML::load+.)
|
|
41
|
+
#
|
|
42
|
+
# The representation stage means data which has been composed into
|
|
43
|
+
# +YAML::BaseNode+ objects. In this stage, the document is available as a
|
|
44
|
+
# tree of node objects. You can perform YPath queries and transformations
|
|
45
|
+
# at this level. (See +YAML::parse+.)
|
|
46
|
+
#
|
|
47
|
+
# The serialization stage happens inside the parser. The YAML parser used in
|
|
48
|
+
# Ruby is called Syck. Serialized nodes are available in the extension as
|
|
49
|
+
# SyckNode structs.
|
|
50
|
+
#
|
|
51
|
+
# The presentation stage is the YAML document itself. This is accessible
|
|
52
|
+
# to you as a string. (See +YAML::dump+.)
|
|
53
|
+
#
|
|
54
|
+
# For more information about the various information models, see Chapter
|
|
55
|
+
# 3 of the YAML 1.0 Specification (http://yaml.org/spec/#id2491269).
|
|
56
|
+
#
|
|
57
|
+
# The YAML module provides quick access to the most common loading (YAML::load)
|
|
58
|
+
# and dumping (YAML::dump) tasks. This module also provides an API for registering
|
|
59
|
+
# global types (YAML::add_domain_type).
|
|
60
|
+
#
|
|
61
|
+
# == Example
|
|
62
|
+
#
|
|
63
|
+
# A simple round-trip (load and dump) of an object.
|
|
64
|
+
#
|
|
65
|
+
# require "yaml"
|
|
66
|
+
#
|
|
67
|
+
# test_obj = ["dogs", "cats", "badgers"]
|
|
68
|
+
#
|
|
69
|
+
# yaml_obj = YAML::dump( test_obj )
|
|
70
|
+
# # -> ---
|
|
71
|
+
# - dogs
|
|
72
|
+
# - cats
|
|
73
|
+
# - badgers
|
|
74
|
+
# ruby_obj = YAML::load( yaml_obj )
|
|
75
|
+
# # => ["dogs", "cats", "badgers"]
|
|
76
|
+
# ruby_obj == test_obj
|
|
77
|
+
# # => true
|
|
78
|
+
#
|
|
79
|
+
# To register your custom types with the global resolver, use +add_domain_type+.
|
|
80
|
+
#
|
|
81
|
+
# YAML::add_domain_type( "your-site.com,2004", "widget" ) do |type, val|
|
|
82
|
+
# Widget.new( val )
|
|
83
|
+
# end
|
|
84
|
+
#
|
|
85
|
+
module YAML
|
|
86
|
+
|
|
87
|
+
Resolver = YAML::Syck::Resolver
|
|
88
|
+
DefaultResolver = YAML::Syck::DefaultResolver
|
|
89
|
+
DefaultResolver.use_types_at( @@tagged_classes )
|
|
90
|
+
GenericResolver = YAML::Syck::GenericResolver
|
|
91
|
+
Parser = YAML::Syck::Parser
|
|
92
|
+
Emitter = YAML::Syck::Emitter
|
|
93
|
+
|
|
94
|
+
# Returns a new default parser
|
|
95
|
+
def YAML.parser; Parser.new.set_resolver( YAML.resolver ); end
|
|
96
|
+
# Returns a new generic parser
|
|
97
|
+
def YAML.generic_parser; Parser.new.set_resolver( GenericResolver ); end
|
|
98
|
+
# Returns the default resolver
|
|
99
|
+
def YAML.resolver; DefaultResolver; end
|
|
100
|
+
# Returns a new default emitter
|
|
101
|
+
def YAML.emitter; Emitter.new.set_resolver( YAML.resolver ); end
|
|
102
|
+
|
|
103
|
+
#
|
|
104
|
+
# Converts _obj_ to YAML and writes the YAML result to _io_.
|
|
105
|
+
#
|
|
106
|
+
# File.open( 'animals.yaml', 'w' ) do |out|
|
|
107
|
+
# YAML.dump( ['badger', 'elephant', 'tiger'], out )
|
|
108
|
+
# end
|
|
109
|
+
#
|
|
110
|
+
# If no _io_ is provided, a string containing the dumped YAML
|
|
111
|
+
# is returned.
|
|
112
|
+
#
|
|
113
|
+
# YAML.dump( :locked )
|
|
114
|
+
# #=> "--- :locked"
|
|
115
|
+
#
|
|
116
|
+
def YAML.dump( obj, io = nil )
|
|
117
|
+
obj.to_yaml( io || io2 = StringIO.new )
|
|
118
|
+
io || ( io2.rewind; io2.read )
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
#
|
|
122
|
+
# Load a document from the current _io_ stream.
|
|
123
|
+
#
|
|
124
|
+
# File.open( 'animals.yaml' ) { |yf| YAML::load( yf ) }
|
|
125
|
+
# #=> ['badger', 'elephant', 'tiger']
|
|
126
|
+
#
|
|
127
|
+
# Can also load from a string.
|
|
128
|
+
#
|
|
129
|
+
# YAML.load( "--- :locked" )
|
|
130
|
+
# #=> :locked
|
|
131
|
+
#
|
|
132
|
+
def YAML.load( io )
|
|
133
|
+
yp = parser.load( io )
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
#
|
|
137
|
+
# Load a document from the file located at _filepath_.
|
|
138
|
+
#
|
|
139
|
+
# YAML.load_file( 'animals.yaml' )
|
|
140
|
+
# #=> ['badger', 'elephant', 'tiger']
|
|
141
|
+
#
|
|
142
|
+
def YAML.load_file( filepath )
|
|
143
|
+
File.open( filepath ) do |f|
|
|
144
|
+
load( f )
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
#
|
|
149
|
+
# Parse the first document from the current _io_ stream
|
|
150
|
+
#
|
|
151
|
+
# File.open( 'animals.yaml' ) { |yf| YAML::load( yf ) }
|
|
152
|
+
# #=> #<YAML::Syck::Node:0x82ccce0
|
|
153
|
+
# @kind=:seq,
|
|
154
|
+
# @value=
|
|
155
|
+
# [#<YAML::Syck::Node:0x82ccd94
|
|
156
|
+
# @kind=:scalar,
|
|
157
|
+
# @type_id="str",
|
|
158
|
+
# @value="badger">,
|
|
159
|
+
# #<YAML::Syck::Node:0x82ccd58
|
|
160
|
+
# @kind=:scalar,
|
|
161
|
+
# @type_id="str",
|
|
162
|
+
# @value="elephant">,
|
|
163
|
+
# #<YAML::Syck::Node:0x82ccd1c
|
|
164
|
+
# @kind=:scalar,
|
|
165
|
+
# @type_id="str",
|
|
166
|
+
# @value="tiger">]>
|
|
167
|
+
#
|
|
168
|
+
# Can also load from a string.
|
|
169
|
+
#
|
|
170
|
+
# YAML.parse( "--- :locked" )
|
|
171
|
+
# #=> #<YAML::Syck::Node:0x82edddc
|
|
172
|
+
# @type_id="tag:ruby.yaml.org,2002:sym",
|
|
173
|
+
# @value=":locked", @kind=:scalar>
|
|
174
|
+
#
|
|
175
|
+
def YAML.parse( io )
|
|
176
|
+
yp = generic_parser.load( io )
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
#
|
|
180
|
+
# Parse a document from the file located at _filepath_.
|
|
181
|
+
#
|
|
182
|
+
# YAML.parse_file( 'animals.yaml' )
|
|
183
|
+
# #=> #<YAML::Syck::Node:0x82ccce0
|
|
184
|
+
# @kind=:seq,
|
|
185
|
+
# @value=
|
|
186
|
+
# [#<YAML::Syck::Node:0x82ccd94
|
|
187
|
+
# @kind=:scalar,
|
|
188
|
+
# @type_id="str",
|
|
189
|
+
# @value="badger">,
|
|
190
|
+
# #<YAML::Syck::Node:0x82ccd58
|
|
191
|
+
# @kind=:scalar,
|
|
192
|
+
# @type_id="str",
|
|
193
|
+
# @value="elephant">,
|
|
194
|
+
# #<YAML::Syck::Node:0x82ccd1c
|
|
195
|
+
# @kind=:scalar,
|
|
196
|
+
# @type_id="str",
|
|
197
|
+
# @value="tiger">]>
|
|
198
|
+
#
|
|
199
|
+
def YAML.parse_file( filepath )
|
|
200
|
+
File.open( filepath ) do |f|
|
|
201
|
+
parse( f )
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
#
|
|
206
|
+
# Calls _block_ with each consecutive document in the YAML
|
|
207
|
+
# stream contained in _io_.
|
|
208
|
+
#
|
|
209
|
+
# File.open( 'many-docs.yaml' ) do |yf|
|
|
210
|
+
# YAML.each_document( yf ) do |ydoc|
|
|
211
|
+
# ## ydoc contains the single object
|
|
212
|
+
# ## from the YAML document
|
|
213
|
+
# end
|
|
214
|
+
# end
|
|
215
|
+
#
|
|
216
|
+
def YAML.each_document( io, &block )
|
|
217
|
+
yp = parser.load_documents( io, &block )
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
#
|
|
221
|
+
# Calls _block_ with each consecutive document in the YAML
|
|
222
|
+
# stream contained in _io_.
|
|
223
|
+
#
|
|
224
|
+
# File.open( 'many-docs.yaml' ) do |yf|
|
|
225
|
+
# YAML.load_documents( yf ) do |ydoc|
|
|
226
|
+
# ## ydoc contains the single object
|
|
227
|
+
# ## from the YAML document
|
|
228
|
+
# end
|
|
229
|
+
# end
|
|
230
|
+
#
|
|
231
|
+
def YAML.load_documents( io, &doc_proc )
|
|
232
|
+
YAML.each_document( io, &doc_proc )
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
#
|
|
236
|
+
# Calls _block_ with a tree of +YAML::BaseNodes+, one tree for
|
|
237
|
+
# each consecutive document in the YAML stream contained in _io_.
|
|
238
|
+
#
|
|
239
|
+
# File.open( 'many-docs.yaml' ) do |yf|
|
|
240
|
+
# YAML.each_node( yf ) do |ydoc|
|
|
241
|
+
# ## ydoc contains a tree of nodes
|
|
242
|
+
# ## from the YAML document
|
|
243
|
+
# end
|
|
244
|
+
# end
|
|
245
|
+
#
|
|
246
|
+
def YAML.each_node( io, &doc_proc )
|
|
247
|
+
yp = generic_parser.load_documents( io, &doc_proc )
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
#
|
|
251
|
+
# Calls _block_ with a tree of +YAML::BaseNodes+, one tree for
|
|
252
|
+
# each consecutive document in the YAML stream contained in _io_.
|
|
253
|
+
#
|
|
254
|
+
# File.open( 'many-docs.yaml' ) do |yf|
|
|
255
|
+
# YAML.parse_documents( yf ) do |ydoc|
|
|
256
|
+
# ## ydoc contains a tree of nodes
|
|
257
|
+
# ## from the YAML document
|
|
258
|
+
# end
|
|
259
|
+
# end
|
|
260
|
+
#
|
|
261
|
+
def YAML.parse_documents( io, &doc_proc )
|
|
262
|
+
YAML.each_node( io, &doc_proc )
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
#
|
|
266
|
+
# Loads all documents from the current _io_ stream,
|
|
267
|
+
# returning a +YAML::Stream+ object containing all
|
|
268
|
+
# loaded documents.
|
|
269
|
+
#
|
|
270
|
+
def YAML.load_stream( io )
|
|
271
|
+
d = nil
|
|
272
|
+
parser.load_documents( io ) do |doc|
|
|
273
|
+
d = YAML::Stream.new if not d
|
|
274
|
+
d.add( doc )
|
|
275
|
+
end
|
|
276
|
+
return d
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
#
|
|
280
|
+
# Returns a YAML stream containing each of the items in +objs+,
|
|
281
|
+
# each having their own document.
|
|
282
|
+
#
|
|
283
|
+
# YAML.dump_stream( 0, [], {} )
|
|
284
|
+
# #=> --- 0
|
|
285
|
+
# --- []
|
|
286
|
+
# --- {}
|
|
287
|
+
#
|
|
288
|
+
def YAML.dump_stream( *objs )
|
|
289
|
+
d = YAML::Stream.new
|
|
290
|
+
objs.each do |doc|
|
|
291
|
+
d.add( doc )
|
|
292
|
+
end
|
|
293
|
+
d.emit
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
#
|
|
297
|
+
# Add a global handler for a YAML domain type.
|
|
298
|
+
#
|
|
299
|
+
def YAML.add_domain_type( domain, type_tag, &transfer_proc )
|
|
300
|
+
resolver.add_type( "tag:#{ domain }:#{ type_tag }", transfer_proc )
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
#
|
|
304
|
+
# Add a transfer method for a builtin type
|
|
305
|
+
#
|
|
306
|
+
def YAML.add_builtin_type( type_tag, &transfer_proc )
|
|
307
|
+
resolver.add_type( "tag:yaml.org,2002:#{ type_tag }", transfer_proc )
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
#
|
|
311
|
+
# Add a transfer method for a builtin type
|
|
312
|
+
#
|
|
313
|
+
def YAML.add_ruby_type( type_tag, &transfer_proc )
|
|
314
|
+
resolver.add_type( "tag:ruby.yaml.org,2002:#{ type_tag }", transfer_proc )
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
#
|
|
318
|
+
# Add a private document type
|
|
319
|
+
#
|
|
320
|
+
def YAML.add_private_type( type_re, &transfer_proc )
|
|
321
|
+
resolver.add_type( "x-private:" + type_re, transfer_proc )
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
#
|
|
325
|
+
# Detect typing of a string
|
|
326
|
+
#
|
|
327
|
+
def YAML.detect_implicit( val )
|
|
328
|
+
resolver.detect_implicit( val )
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
#
|
|
332
|
+
# Convert a type_id to a taguri
|
|
333
|
+
#
|
|
334
|
+
def YAML.tagurize( val )
|
|
335
|
+
resolver.tagurize( val )
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
#
|
|
339
|
+
# Apply a transfer method to a Ruby object
|
|
340
|
+
#
|
|
341
|
+
def YAML.transfer( type_id, obj )
|
|
342
|
+
resolver.transfer( YAML.tagurize( type_id ), obj )
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
#
|
|
346
|
+
# Apply any implicit a node may qualify for
|
|
347
|
+
#
|
|
348
|
+
def YAML.try_implicit( obj )
|
|
349
|
+
YAML.transfer( YAML.detect_implicit( obj ), obj )
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
#
|
|
353
|
+
# Method to extract colon-seperated type and class, returning
|
|
354
|
+
# the type and the constant of the class
|
|
355
|
+
#
|
|
356
|
+
def YAML.read_type_class( type, obj_class )
|
|
357
|
+
scheme, domain, type, tclass = type.split( ':', 4 )
|
|
358
|
+
tclass.split( "::" ).each { |c| obj_class = obj_class.const_get( c ) } if tclass
|
|
359
|
+
return [ type, obj_class ]
|
|
360
|
+
end
|
|
361
|
+
|
|
362
|
+
#
|
|
363
|
+
# Allocate blank object
|
|
364
|
+
#
|
|
365
|
+
def YAML.object_maker( obj_class, val )
|
|
366
|
+
if Hash === val
|
|
367
|
+
o = obj_class.allocate
|
|
368
|
+
val.each_pair { |k,v|
|
|
369
|
+
o.instance_variable_set("@#{k}", v)
|
|
370
|
+
}
|
|
371
|
+
o
|
|
372
|
+
else
|
|
373
|
+
raise YAML::Error, "Invalid object explicitly tagged !ruby/Object: " + val.inspect
|
|
374
|
+
end
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
#
|
|
378
|
+
# Allocate an Emitter if needed
|
|
379
|
+
#
|
|
380
|
+
def YAML.quick_emit( oid, opts = {}, &e )
|
|
381
|
+
out =
|
|
382
|
+
if opts.is_a? YAML::Emitter
|
|
383
|
+
opts
|
|
384
|
+
else
|
|
385
|
+
emitter.reset( opts )
|
|
386
|
+
end
|
|
387
|
+
oid =
|
|
388
|
+
case oid when Fixnum, NilClass; oid
|
|
389
|
+
else oid = "#{oid.object_id}-#{oid.hash}"
|
|
390
|
+
end
|
|
391
|
+
out.emit( oid, &e )
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
require 'yaml/rubytypes'
|
|
397
|
+
require 'yaml/types'
|
|
398
|
+
|
|
399
|
+
module Kernel
|
|
400
|
+
#
|
|
401
|
+
# ryan:: You know how Kernel.p is a really convenient way to dump ruby
|
|
402
|
+
# structures? The only downside is that it's not as legible as
|
|
403
|
+
# YAML.
|
|
404
|
+
#
|
|
405
|
+
# _why:: (listening)
|
|
406
|
+
#
|
|
407
|
+
# ryan:: I know you don't want to urinate all over your users' namespaces.
|
|
408
|
+
# But, on the other hand, convenience of dumping for debugging is,
|
|
409
|
+
# IMO, a big YAML use case.
|
|
410
|
+
#
|
|
411
|
+
# _why:: Go nuts! Have a pony parade!
|
|
412
|
+
#
|
|
413
|
+
# ryan:: Either way, I certainly will have a pony parade.
|
|
414
|
+
#
|
|
415
|
+
|
|
416
|
+
# Prints any supplied _objects_ out in YAML. Intended as
|
|
417
|
+
# a variation on +Kernel::p+.
|
|
418
|
+
#
|
|
419
|
+
# S = Struct.new(:name, :state)
|
|
420
|
+
# s = S['dave', 'TX']
|
|
421
|
+
# y s
|
|
422
|
+
#
|
|
423
|
+
# _produces:_
|
|
424
|
+
#
|
|
425
|
+
# --- !ruby/struct:S
|
|
426
|
+
# name: dave
|
|
427
|
+
# state: TX
|
|
428
|
+
#
|
|
429
|
+
def y( object, *objects )
|
|
430
|
+
objects.unshift object
|
|
431
|
+
puts( if objects.length == 1
|
|
432
|
+
YAML::dump( *objects )
|
|
433
|
+
else
|
|
434
|
+
YAML::dump_stream( *objects )
|
|
435
|
+
end )
|
|
436
|
+
end
|
|
437
|
+
private :y
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
|