vulcan 0.0.1 → 0.0.2
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/lib/vulcan/version.rb +1 -1
- data/server/Procfile +1 -0
- data/server/bin/make +39 -0
- data/server/lib/on.js +13 -0
- data/server/lib/spawner.js +101 -0
- data/server/node_modules/connect-form/History.md +28 -0
- data/server/node_modules/connect-form/LICENSE +22 -0
- data/server/node_modules/connect-form/Makefile +11 -0
- data/server/node_modules/connect-form/Readme.md +35 -0
- data/server/node_modules/connect-form/index.html +213 -0
- data/server/node_modules/connect-form/index.js +100 -0
- data/server/node_modules/connect-form/lib/connect-form.js +100 -0
- data/server/node_modules/connect-form/node_modules/formidable/Makefile +14 -0
- data/server/node_modules/connect-form/node_modules/formidable/Readme.md +264 -0
- data/server/node_modules/connect-form/node_modules/formidable/TODO +3 -0
- data/server/node_modules/connect-form/node_modules/formidable/benchmark/bench-multipart-parser.js +70 -0
- data/server/node_modules/connect-form/node_modules/formidable/example/post.js +43 -0
- data/server/node_modules/connect-form/node_modules/formidable/example/upload.js +48 -0
- data/server/node_modules/connect-form/node_modules/formidable/index.js +1 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/file.js +61 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/incoming_form.js +362 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/index.js +3 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/multipart_parser.js +301 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/querystring_parser.js +25 -0
- data/server/node_modules/connect-form/node_modules/formidable/lib/util.js +6 -0
- data/server/node_modules/connect-form/node_modules/formidable/package.json +19 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/common.js +20 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js +45 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/file/: // ? % * | /" < > . /342/230/203 ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt" +1 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md +3 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +36 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http +24 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +23 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +33 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +22 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +22 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +22 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +21 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/multi_video.upload +0 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/multipart.js +72 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/common.js +24 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/integration/test-multipart-parser.js +80 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-file.js +104 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-incoming-form.js +715 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +50 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-querystring-parser.js +45 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/system/test-multi-video-upload.js +72 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/run.js +7 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/slow/test-fixtures.js +84 -0
- data/server/node_modules/connect-form/node_modules/formidable/tool/record.js +47 -0
- data/server/node_modules/connect-form/package.json +9 -0
- data/server/node_modules/connect-form/support/connect/History.md +120 -0
- data/server/node_modules/connect-form/support/connect/Makefile +85 -0
- data/server/node_modules/connect-form/support/connect/README.md +121 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/graph +79 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/hello-world/connect.js +19 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/hello-world/node.js +16 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/hello-world/rack.thin.ru +9 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/hello-world/sinatra.thin.ru +10 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/public/jquery.js +19 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/run +60 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/static/connect.js +10 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/static/node.js +17 -0
- data/server/node_modules/connect-form/support/connect/benchmarks/static/sinatra.thin.ru +10 -0
- data/server/node_modules/connect-form/support/connect/docs/api.html +1973 -0
- data/server/node_modules/connect-form/support/connect/docs/bodyDecoder.1 +27 -0
- data/server/node_modules/connect-form/support/connect/docs/bodyDecoder.html +164 -0
- data/server/node_modules/connect-form/support/connect/docs/bodyDecoder.md +11 -0
- data/server/node_modules/connect-form/support/connect/docs/compiler.1 +66 -0
- data/server/node_modules/connect-form/support/connect/docs/compiler.html +193 -0
- data/server/node_modules/connect-form/support/connect/docs/compiler.md +32 -0
- data/server/node_modules/connect-form/support/connect/docs/conditionalGet.1 +16 -0
- data/server/node_modules/connect-form/support/connect/docs/conditionalGet.html +158 -0
- data/server/node_modules/connect-form/support/connect/docs/conditionalGet.md +7 -0
- data/server/node_modules/connect-form/support/connect/docs/cookieDecoder.1 +27 -0
- data/server/node_modules/connect-form/support/connect/docs/cookieDecoder.html +164 -0
- data/server/node_modules/connect-form/support/connect/docs/cookieDecoder.md +11 -0
- data/server/node_modules/connect-form/support/connect/docs/errorHandler.1 +58 -0
- data/server/node_modules/connect-form/support/connect/docs/errorHandler.html +181 -0
- data/server/node_modules/connect-form/support/connect/docs/errorHandler.md +28 -0
- data/server/node_modules/connect-form/support/connect/docs/format.1 +7 -0
- data/server/node_modules/connect-form/support/connect/docs/format.html +152 -0
- data/server/node_modules/connect-form/support/connect/docs/format.md +3 -0
- data/server/node_modules/connect-form/support/connect/docs/index.1 +260 -0
- data/server/node_modules/connect-form/support/connect/docs/index.html +332 -0
- data/server/node_modules/connect-form/support/connect/docs/index.md +171 -0
- data/server/node_modules/connect-form/support/connect/docs/jsonrpc.1 +62 -0
- data/server/node_modules/connect-form/support/connect/docs/jsonrpc.html +192 -0
- data/server/node_modules/connect-form/support/connect/docs/jsonrpc.md +39 -0
- data/server/node_modules/connect-form/support/connect/docs/layout/api.foot.html +3 -0
- data/server/node_modules/connect-form/support/connect/docs/layout/api.head.html +142 -0
- data/server/node_modules/connect-form/support/connect/docs/lint.1 +102 -0
- data/server/node_modules/connect-form/support/connect/docs/lint.html +232 -0
- data/server/node_modules/connect-form/support/connect/docs/lint.md +79 -0
- data/server/node_modules/connect-form/support/connect/docs/logger.1 +66 -0
- data/server/node_modules/connect-form/support/connect/docs/logger.html +184 -0
- data/server/node_modules/connect-form/support/connect/docs/logger.md +31 -0
- data/server/node_modules/connect-form/support/connect/docs/methodOverride.1 +31 -0
- data/server/node_modules/connect-form/support/connect/docs/methodOverride.html +171 -0
- data/server/node_modules/connect-form/support/connect/docs/methodOverride.md +17 -0
- data/server/node_modules/connect-form/support/connect/docs/responseTime.1 +7 -0
- data/server/node_modules/connect-form/support/connect/docs/responseTime.html +152 -0
- data/server/node_modules/connect-form/support/connect/docs/responseTime.md +3 -0
- data/server/node_modules/connect-form/support/connect/docs/router.1 +75 -0
- data/server/node_modules/connect-form/support/connect/docs/router.html +211 -0
- data/server/node_modules/connect-form/support/connect/docs/router.md +58 -0
- data/server/node_modules/connect-form/support/connect/docs/session.1 +115 -0
- data/server/node_modules/connect-form/support/connect/docs/session.html +214 -0
- data/server/node_modules/connect-form/support/connect/docs/session.md +55 -0
- data/server/node_modules/connect-form/support/connect/docs/staticProvider.1 +28 -0
- data/server/node_modules/connect-form/support/connect/docs/staticProvider.html +162 -0
- data/server/node_modules/connect-form/support/connect/docs/staticProvider.md +11 -0
- data/server/node_modules/connect-form/support/connect/examples/error/app.js +13 -0
- data/server/node_modules/connect-form/support/connect/examples/jsonrpc/app.js +38 -0
- data/server/node_modules/connect-form/support/connect/examples/less/app.js +21 -0
- data/server/node_modules/connect-form/support/connect/examples/less/public/index.html +8 -0
- data/server/node_modules/connect-form/support/connect/examples/less/public/style.less +8 -0
- data/server/node_modules/connect-form/support/connect/examples/lint/app.js +40 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/app.js +61 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/public/client.js +73 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/public/favicon.ico +0 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/public/index.html +16 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/public/raphael.js +113 -0
- data/server/node_modules/connect-form/support/connect/examples/multitouch/public/style.css +23 -0
- data/server/node_modules/connect-form/support/connect/examples/router/app.js +63 -0
- data/server/node_modules/connect-form/support/connect/examples/sass/app.js +21 -0
- data/server/node_modules/connect-form/support/connect/examples/sass/public/index.html +8 -0
- data/server/node_modules/connect-form/support/connect/examples/sass/public/style.sass +4 -0
- data/server/node_modules/connect-form/support/connect/examples/session/app.js +60 -0
- data/server/node_modules/connect-form/support/connect/examples/stack-middleware/app.js +15 -0
- data/server/node_modules/connect-form/support/connect/examples/stack-middleware/hello.js +13 -0
- data/server/node_modules/connect-form/support/connect/examples/stack-middleware/world.js +13 -0
- data/server/node_modules/connect-form/support/connect/examples/static/app.js +10 -0
- data/server/node_modules/connect-form/support/connect/examples/static/public/style.css +3 -0
- data/server/node_modules/connect-form/support/connect/examples/url-rewrite/app.js +44 -0
- data/server/node_modules/connect-form/support/connect/examples/vhost/app.js +25 -0
- data/server/node_modules/connect-form/support/connect/install.sh +6 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/index.js +309 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/bodyDecoder.js +69 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/cache.js +142 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/cacheManifest.js +71 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/compiler.js +150 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/conditionalGet.js +71 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/cookieDecoder.js +37 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/errorHandler.js +91 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js +46 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/gzip-compress.js +79 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/gzip-proc.js +73 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/gzip.js +8 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/jsonrpc.js +235 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/lint.js +136 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/logger.js +107 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/methodOverride.js +54 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/pubsub.js +107 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/repl.js +43 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/responseTime.js +28 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/router.js +158 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/session.js +129 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/session/memory.js +141 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/session/session.js +71 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/session/store.js +59 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/staticProvider.js +144 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/middleware/vhost.js +43 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/public/error.html +13 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/public/style.css +98 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/response.js +56 -0
- data/server/node_modules/connect-form/support/connect/lib/connect/utils.js +428 -0
- data/server/node_modules/connect-form/support/connect/package.json +21 -0
- data/server/node_modules/connect-form/support/connect/support/highlight.js +26 -0
- data/server/node_modules/connect-form/support/connect/test/bodyDecoder.test.js +69 -0
- data/server/node_modules/connect-form/support/connect/test/compiler.test.js +23 -0
- data/server/node_modules/connect-form/support/connect/test/connect.test.js +187 -0
- data/server/node_modules/connect-form/support/connect/test/cookieDecoder.test.js +31 -0
- data/server/node_modules/connect-form/support/connect/test/errorHandler.test.js +60 -0
- data/server/node_modules/connect-form/support/connect/test/filters/uppercase.js +14 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/foo.bar.baz.sass +2 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/index.html +1 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/some text.txt +1 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/style.less +2 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/style.sass +3 -0
- data/server/node_modules/connect-form/support/connect/test/fixtures/user.json +4 -0
- data/server/node_modules/connect-form/support/connect/test/format.test.js +37 -0
- data/server/node_modules/connect-form/support/connect/test/gzip.test.js +55 -0
- data/server/node_modules/connect-form/support/connect/test/helpers/http.js +87 -0
- data/server/node_modules/connect-form/support/connect/test/helpers/index.js +12 -0
- data/server/node_modules/connect-form/support/connect/test/jsonrpc.test.js +225 -0
- data/server/node_modules/connect-form/support/connect/test/logger.test.js +52 -0
- data/server/node_modules/connect-form/support/connect/test/methodOverride.test.js +69 -0
- data/server/node_modules/connect-form/support/connect/test/providers/echo.js +10 -0
- data/server/node_modules/connect-form/support/connect/test/responseTime.test.js +29 -0
- data/server/node_modules/connect-form/support/connect/test/router.test.js +154 -0
- data/server/node_modules/connect-form/support/connect/test/session.test.js +127 -0
- data/server/node_modules/connect-form/support/connect/test/static.test.js +66 -0
- data/server/node_modules/connect-form/support/connect/test/utils.test.js +65 -0
- data/server/node_modules/connect-form/support/connect/test/vhost.test.js +46 -0
- data/server/node_modules/connect-form/support/expresso/History.md +54 -0
- data/server/node_modules/connect-form/support/expresso/Makefile +30 -0
- data/server/node_modules/connect-form/support/expresso/Readme.md +208 -0
- data/server/node_modules/connect-form/support/expresso/bin/expresso +647 -0
- data/server/node_modules/connect-form/support/expresso/lib/bar.js +4 -0
- data/server/node_modules/connect-form/support/expresso/lib/foo.js +16 -0
- data/server/node_modules/connect-form/support/expresso/package.json +9 -0
- data/server/node_modules/connect-form/support/expresso/seed.yml +6 -0
- data/server/node_modules/connect-form/support/expresso/test/assert.test.js +64 -0
- data/server/node_modules/connect-form/support/expresso/test/bar.test.js +12 -0
- data/server/node_modules/connect-form/support/expresso/test/foo.test.js +13 -0
- data/server/node_modules/connect-form/support/expresso/test/http.test.js +61 -0
- data/server/node_modules/connect-form/test/form.test.js +148 -0
- data/server/node_modules/cradle/LICENSE +20 -0
- data/server/node_modules/cradle/Makefile +10 -0
- data/server/node_modules/cradle/README.md +377 -0
- data/server/node_modules/cradle/lib/cradle.js +688 -0
- data/server/node_modules/cradle/lib/cradle/cache.js +102 -0
- data/server/node_modules/cradle/lib/cradle/response.js +127 -0
- data/server/node_modules/cradle/node_modules/vargs/LICENSE +20 -0
- data/server/node_modules/cradle/node_modules/vargs/README.md +34 -0
- data/server/node_modules/cradle/node_modules/vargs/lib/vargs.js +70 -0
- data/server/node_modules/cradle/node_modules/vargs/package.json +12 -0
- data/server/node_modules/cradle/node_modules/vows/LICENSE +20 -0
- data/server/node_modules/cradle/node_modules/vows/Makefile +7 -0
- data/server/node_modules/cradle/node_modules/vows/README.md +39 -0
- data/server/node_modules/cradle/node_modules/vows/bin/vows +515 -0
- data/server/node_modules/cradle/node_modules/vows/lib/assert/error.js +27 -0
- data/server/node_modules/cradle/node_modules/vows/lib/assert/macros.js +215 -0
- data/server/node_modules/cradle/node_modules/vows/lib/assert/utils.js +77 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows.js +193 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/console.js +131 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/context.js +55 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/file.js +29 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-foot.html +2 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-head.html +61 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-html.js +54 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-json.js +54 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-plain.js +38 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/extras.js +28 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/dot-matrix.js +67 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/json.js +16 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/silent.js +8 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/spec.js +44 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/watch.js +39 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/xunit.js +90 -0
- data/server/node_modules/cradle/node_modules/vows/lib/vows/suite.js +319 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/LICENSE +20 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/Makefile +4 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/README.md +72 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/lib/eyes.js +233 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/package.json +14 -0
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/test/eyes-test.js +55 -0
- data/server/node_modules/cradle/node_modules/vows/package.json +14 -0
- data/server/node_modules/cradle/node_modules/vows/test/assert-test.js +135 -0
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/failing.js +18 -0
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/log.js +18 -0
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/passing.js +17 -0
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/stderr.js +18 -0
- data/server/node_modules/cradle/node_modules/vows/test/isolate-test.js +140 -0
- data/server/node_modules/cradle/node_modules/vows/test/testInherit.js +133 -0
- data/server/node_modules/cradle/node_modules/vows/test/vows-error-test.js +51 -0
- data/server/node_modules/cradle/node_modules/vows/test/vows-test.js +374 -0
- data/server/node_modules/cradle/package.json +14 -0
- data/server/node_modules/cradle/test/cache-test.js +102 -0
- data/server/node_modules/cradle/test/cradle-test.js +651 -0
- data/server/node_modules/cradle/test/fixtures/databases.json +25 -0
- data/server/node_modules/cradle/test/helpers/seed.js +56 -0
- data/server/node_modules/cradle/test/response-test.js +73 -0
- data/server/node_modules/express/History.md +743 -0
- data/server/node_modules/express/LICENSE +22 -0
- data/server/node_modules/express/Makefile +35 -0
- data/server/node_modules/express/Readme.md +143 -0
- data/server/node_modules/express/bin/express +417 -0
- data/server/node_modules/express/index.js +2 -0
- data/server/node_modules/express/lib/express.js +79 -0
- data/server/node_modules/express/lib/http.js +583 -0
- data/server/node_modules/express/lib/https.js +52 -0
- data/server/node_modules/express/lib/request.js +309 -0
- data/server/node_modules/express/lib/response.js +459 -0
- data/server/node_modules/express/lib/router/collection.js +53 -0
- data/server/node_modules/express/lib/router/index.js +398 -0
- data/server/node_modules/express/lib/router/methods.js +70 -0
- data/server/node_modules/express/lib/router/route.js +88 -0
- data/server/node_modules/express/lib/utils.js +139 -0
- data/server/node_modules/express/lib/view.js +457 -0
- data/server/node_modules/express/lib/view/partial.js +40 -0
- data/server/node_modules/express/lib/view/view.js +209 -0
- data/server/node_modules/express/node_modules/connect/LICENSE +24 -0
- data/server/node_modules/express/node_modules/connect/index.js +2 -0
- data/server/node_modules/express/node_modules/connect/lib/cache.js +81 -0
- data/server/node_modules/express/node_modules/connect/lib/connect.js +106 -0
- data/server/node_modules/express/node_modules/connect/lib/http.js +215 -0
- data/server/node_modules/express/node_modules/connect/lib/https.js +47 -0
- data/server/node_modules/express/node_modules/connect/lib/index.js +46 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js +93 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js +92 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/compiler.js +163 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js +46 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/csrf.js +105 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/directory.js +222 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/errorHandler.js +100 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/favicon.js +76 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +78 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/logger.js +299 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js +38 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/profiler.js +100 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/query.js +40 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/responseTime.js +34 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/router.js +379 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +346 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/session/cookie.js +126 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/session/memory.js +131 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/session/session.js +137 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/session/store.js +87 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/static.js +220 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/staticCache.js +122 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/vhost.js +44 -0
- data/server/node_modules/express/node_modules/connect/lib/patch.js +79 -0
- data/server/node_modules/express/node_modules/connect/lib/public/directory.html +75 -0
- data/server/node_modules/express/node_modules/connect/lib/public/error.html +13 -0
- data/server/node_modules/express/node_modules/connect/lib/public/favicon.ico +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_add.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_attach.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_code.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_copy.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_delete.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_edit.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_error.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_excel.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_find.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_gear.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_go.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_green.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_key.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_link.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_paste.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_red.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_save.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_word.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/icons/page_world.png +0 -0
- data/server/node_modules/express/node_modules/connect/lib/public/style.css +141 -0
- data/server/node_modules/express/node_modules/connect/lib/utils.js +444 -0
- data/server/node_modules/express/node_modules/connect/package.json +24 -0
- data/server/node_modules/express/node_modules/connect/test.js +39 -0
- data/server/node_modules/express/node_modules/mime/LICENSE +19 -0
- data/server/node_modules/express/node_modules/mime/README.md +50 -0
- data/server/node_modules/express/node_modules/mime/index.js +1 -0
- data/server/node_modules/express/node_modules/mime/mime.js +92 -0
- data/server/node_modules/express/node_modules/mime/mime.types +1479 -0
- data/server/node_modules/express/node_modules/mime/node.types +26 -0
- data/server/node_modules/express/node_modules/mime/package.json +11 -0
- data/server/node_modules/express/node_modules/mime/test.js +80 -0
- data/server/node_modules/express/node_modules/qs/History.md +52 -0
- data/server/node_modules/express/node_modules/qs/Makefile +7 -0
- data/server/node_modules/express/node_modules/qs/Readme.md +49 -0
- data/server/node_modules/express/node_modules/qs/benchmark.js +17 -0
- data/server/node_modules/express/node_modules/qs/examples.js +48 -0
- data/server/node_modules/express/node_modules/qs/index.js +2 -0
- data/server/node_modules/express/node_modules/qs/lib/querystring.js +236 -0
- data/server/node_modules/express/node_modules/qs/package.json +9 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/History.md +128 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/Makefile +53 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/Readme.md +61 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/bin/expresso +856 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/api.html +1080 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.html +377 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.md +290 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/foot.html +3 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/head.html +42 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/lib/bar.js +4 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/lib/foo.js +16 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/package.json +12 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/assert.test.js +91 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/async.test.js +12 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/bar.test.js +13 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/foo.test.js +14 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/http.test.js +146 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/async.test.js +39 -0
- data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/http.test.js +48 -0
- data/server/node_modules/express/node_modules/qs/support/should/History.md +22 -0
- data/server/node_modules/express/node_modules/qs/support/should/Makefile +6 -0
- data/server/node_modules/express/node_modules/qs/support/should/Readme.md +248 -0
- data/server/node_modules/express/node_modules/qs/support/should/examples/runner.js +53 -0
- data/server/node_modules/express/node_modules/qs/support/should/index.js +2 -0
- data/server/node_modules/express/node_modules/qs/support/should/lib/eql.js +91 -0
- data/server/node_modules/express/node_modules/qs/support/should/lib/should.js +548 -0
- data/server/node_modules/express/node_modules/qs/support/should/package.json +8 -0
- data/server/node_modules/express/node_modules/qs/support/should/test/should.test.js +358 -0
- data/server/node_modules/express/node_modules/qs/test/parse.test.js +156 -0
- data/server/node_modules/express/node_modules/qs/test/stringify.test.js +95 -0
- data/server/node_modules/express/package.json +38 -0
- data/server/node_modules/knox/History.md +41 -0
- data/server/node_modules/knox/Makefile +21 -0
- data/server/node_modules/knox/Readme.md +144 -0
- data/server/node_modules/knox/index.html +483 -0
- data/server/node_modules/knox/index.js +2 -0
- data/server/node_modules/knox/lib/knox/auth.js +190 -0
- data/server/node_modules/knox/lib/knox/client.js +355 -0
- data/server/node_modules/knox/lib/knox/index.js +36 -0
- data/server/node_modules/knox/lib/knox/mime/README.md +19 -0
- data/server/node_modules/knox/lib/knox/mime/index.js +308 -0
- data/server/node_modules/knox/lib/knox/mime/mime.js +308 -0
- data/server/node_modules/knox/lib/knox/mime/package.json +12 -0
- data/server/node_modules/knox/lib/knox/mime/test.js +59 -0
- data/server/node_modules/knox/lib/knox/utils.js +55 -0
- data/server/node_modules/knox/package.json +13 -0
- data/server/node_modules/knox/support/expresso/History.md +87 -0
- data/server/node_modules/knox/support/expresso/Makefile +53 -0
- data/server/node_modules/knox/support/expresso/Readme.md +39 -0
- data/server/node_modules/knox/support/expresso/bin/expresso +835 -0
- data/server/node_modules/knox/support/expresso/docs/api.html +1048 -0
- data/server/node_modules/knox/support/expresso/docs/index.html +373 -0
- data/server/node_modules/knox/support/expresso/docs/index.md +290 -0
- data/server/node_modules/knox/support/expresso/docs/layout/foot.html +3 -0
- data/server/node_modules/knox/support/expresso/docs/layout/head.html +42 -0
- data/server/node_modules/knox/support/expresso/lib/bar.js +4 -0
- data/server/node_modules/knox/support/expresso/lib/foo.js +16 -0
- data/server/node_modules/knox/support/expresso/package.json +9 -0
- data/server/node_modules/knox/support/expresso/test/assert.test.js +84 -0
- data/server/node_modules/knox/support/expresso/test/async.test.js +6 -0
- data/server/node_modules/knox/support/expresso/test/bar.test.js +12 -0
- data/server/node_modules/knox/support/expresso/test/foo.test.js +13 -0
- data/server/node_modules/knox/support/expresso/test/http.test.js +76 -0
- data/server/node_modules/knox/support/expresso/test/serial/async.test.js +38 -0
- data/server/node_modules/knox/support/expresso/test/serial/http.test.js +47 -0
- data/server/node_modules/knox/test/auth.test.js +59 -0
- data/server/node_modules/knox/test/fixtures/user.json +1 -0
- data/server/node_modules/knox/test/knox.test.js +188 -0
- data/server/node_modules/knox/test/utils.test.js +17 -0
- data/server/node_modules/node-uuid/LICENSE.md +3 -0
- data/server/node_modules/node-uuid/README.md +100 -0
- data/server/node_modules/node-uuid/package.json +12 -0
- data/server/node_modules/node-uuid/test/benchmark-native.c +34 -0
- data/server/node_modules/node-uuid/test/benchmark.js +27 -0
- data/server/node_modules/node-uuid/test/test.html +14 -0
- data/server/node_modules/node-uuid/test/test.js +83 -0
- data/server/node_modules/node-uuid/uuid.js +80 -0
- data/server/node_modules/restler/MIT-LICENSE +20 -0
- data/server/node_modules/restler/README.md +147 -0
- data/server/node_modules/restler/bin/restler +23 -0
- data/server/node_modules/restler/index.js +1 -0
- data/server/node_modules/restler/lib/multipartform.js +202 -0
- data/server/node_modules/restler/lib/restler.js +300 -0
- data/server/node_modules/restler/package.json +10 -0
- data/server/node_modules/restler/test/all.js +1 -0
- data/server/node_modules/restler/test/restler.js +148 -0
- data/server/node_modules/restler/test/test_helper.js +144 -0
- data/server/package.json +12 -0
- data/server/vendor/gems/bin/restclient +19 -0
- data/server/vendor/gems/cache/couchrest-1.1.2.gem +0 -0
- data/server/vendor/gems/cache/mime-types-1.16.gem +0 -0
- data/server/vendor/gems/cache/multi_json-1.0.3.gem +0 -0
- data/server/vendor/gems/cache/rest-client-1.6.7.gem +0 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/Gemfile +4 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/LICENSE +176 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/README.md +65 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/Rakefile +38 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/THANKS.md +21 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/VERSION +1 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/couchrest.gemspec +34 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/markov +38 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/books/chunked-map.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/books/united-map.js +1 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/markov/chain-map.js +6 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/markov/chain-reduce.js +7 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/word_count/count-map.js +6 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/views/word_count/count-reduce.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/word_count.rb +46 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/word_count_query.rb +40 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/examples/word_count/word_count_views.rb +26 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/history.txt +194 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/init.rb +1 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest.rb +134 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/attributes.rb +89 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/commands/generate.rb +71 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/commands/push.rb +103 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/database.rb +396 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/design.rb +91 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/document.rb +105 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/helper/attachments.rb +29 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/helper/pager.rb +103 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/helper/streamer.rb +58 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/helper/upgrade.rb +51 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/middlewares/logger.rb +263 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb +25 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/rest_api.rb +159 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/server.rb +90 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/support/inheritable_attributes.rb +107 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/couchrest_spec.rb +202 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/database_spec.rb +921 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/design_spec.rb +206 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/document_spec.rb +400 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/helpers/pager_spec.rb +115 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/helpers/streamer_spec.rb +59 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/rest_api_spec.rb +212 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/couchrest/server_spec.rb +35 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/attachments/README +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/attachments/couchdb.png +0 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/attachments/test.html +11 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/views/lib.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/views/test_view/lib.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/views/test_view/only-map.js +4 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/views/test_view/test-map.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/fixtures/views/test_view/test-reduce.js +3 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/spec.opts +5 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/spec/spec_helper.rb +46 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/utils/remap.rb +27 -0
- data/server/vendor/gems/gems/couchrest-1.1.2/utils/subset.rb +30 -0
- data/server/vendor/gems/gems/mime-types-1.16/History.txt +107 -0
- data/server/vendor/gems/gems/mime-types-1.16/Install.txt +17 -0
- data/server/vendor/gems/gems/mime-types-1.16/Licence.txt +15 -0
- data/server/vendor/gems/gems/mime-types-1.16/Manifest.txt +12 -0
- data/server/vendor/gems/gems/mime-types-1.16/README.txt +28 -0
- data/server/vendor/gems/gems/mime-types-1.16/Rakefile +316 -0
- data/server/vendor/gems/gems/mime-types-1.16/lib/mime/types.rb +751 -0
- data/server/vendor/gems/gems/mime-types-1.16/lib/mime/types.rb.data +1324 -0
- data/server/vendor/gems/gems/mime-types-1.16/mime-types.gemspec +43 -0
- data/server/vendor/gems/gems/mime-types-1.16/setup.rb +1585 -0
- data/server/vendor/gems/gems/mime-types-1.16/test/test_mime_type.rb +356 -0
- data/server/vendor/gems/gems/mime-types-1.16/test/test_mime_types.rb +122 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/Gemfile +7 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/LICENSE.md +20 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/README.md +70 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/Rakefile +23 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json.rb +74 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/engines/json_gem.rb +21 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/engines/json_pure.rb +21 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/engines/ok_json.rb +48 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/engines/yajl.rb +18 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/vendor/ok_json.rb +581 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/lib/multi_json/version.rb +3 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/multi_json.gemspec +23 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/spec/helper.rb +11 -0
- data/server/vendor/gems/gems/multi_json-1.0.3/spec/multi_json_spec.rb +134 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/README.rdoc +285 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/Rakefile +66 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/VERSION +1 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/bin/restclient +93 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/history.md +134 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/rest-client.rb +2 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/rest_client.rb +2 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient.rb +174 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb +106 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/exceptions.rb +193 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb +55 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/payload.rb +235 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/raw_response.rb +34 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/request.rb +316 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/resource.rb +169 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/lib/restclient/response.rb +24 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/abstract_response_spec.rb +85 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/base.rb +16 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/exceptions_spec.rb +98 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/integration/certs/equifax.crt +19 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/integration/certs/verisign.crt +14 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/integration/request_spec.rb +25 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/integration_spec.rb +38 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/master_shake.jpg +0 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/payload_spec.rb +234 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/raw_response_spec.rb +17 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/request2_spec.rb +40 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/request_spec.rb +529 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/resource_spec.rb +134 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/response_spec.rb +169 -0
- data/server/vendor/gems/gems/rest-client-1.6.7/spec/restclient_spec.rb +73 -0
- data/server/vendor/gems/specifications/couchrest-1.1.2.gemspec +43 -0
- data/server/vendor/gems/specifications/mime-types-1.16.gemspec +42 -0
- data/server/vendor/gems/specifications/multi_json-1.0.3.gemspec +40 -0
- data/server/vendor/gems/specifications/rest-client-1.6.7.gemspec +37 -0
- data/server/web.js +93 -0
- metadata +633 -7
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Monkey patch for faster net/http io
|
|
2
|
+
if RUBY_VERSION.to_f < 1.9
|
|
3
|
+
require 'timeout'
|
|
4
|
+
|
|
5
|
+
class Net::BufferedIO #:nodoc:
|
|
6
|
+
alias :old_rbuf_fill :rbuf_fill
|
|
7
|
+
def rbuf_fill
|
|
8
|
+
if @io.respond_to?(:read_nonblock)
|
|
9
|
+
begin
|
|
10
|
+
@rbuf << @io.read_nonblock(65536)
|
|
11
|
+
rescue Errno::EWOULDBLOCK
|
|
12
|
+
if IO.select([@io], nil, nil, @read_timeout)
|
|
13
|
+
retry
|
|
14
|
+
else
|
|
15
|
+
raise Timeout::Error, "IO timeout"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
else
|
|
19
|
+
timeout(@read_timeout) do
|
|
20
|
+
@rbuf << @io.sysread(65536)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
module CouchRest
|
|
2
|
+
|
|
3
|
+
# CouchRest RestAPI
|
|
4
|
+
#
|
|
5
|
+
# The basic low-level interface for all REST requests to the database. Everything must pass
|
|
6
|
+
# through here before it is sent to the server.
|
|
7
|
+
#
|
|
8
|
+
# Five types of REST requests are supported: get, put, post, delete, and copy.
|
|
9
|
+
#
|
|
10
|
+
# Requests that do not have a payload, get, delete and copy, accept the URI and options parameters,
|
|
11
|
+
# where as put and post both expect a document as the second parameter.
|
|
12
|
+
#
|
|
13
|
+
# The API will try to intelegently split the options between the JSON parser and RestClient API.
|
|
14
|
+
#
|
|
15
|
+
# The following options will be recognised as header options and automatically added
|
|
16
|
+
# to the header hash:
|
|
17
|
+
#
|
|
18
|
+
# * :content_type, type of content to be sent, especially useful when sending files as this will set the file type. The default is :json.
|
|
19
|
+
# * :accept, the content type to accept in the response. This should pretty much always be :json.
|
|
20
|
+
#
|
|
21
|
+
# The following request options are supported:
|
|
22
|
+
#
|
|
23
|
+
# * :method override the requested method (should not be used!).
|
|
24
|
+
# * :url override the URL used in the request.
|
|
25
|
+
# * :payload override the document or data sent in the message body (only PUT or POST).
|
|
26
|
+
# * :headers any additional headers (overrides :content_type and :accept)
|
|
27
|
+
# * :timeout and :open_timeout the time in miliseconds to wait for the request, see RestClient API for more details.
|
|
28
|
+
# * :verify_ssl, :ssl_client_cert, :ssl_client_key, and :ssl_ca_file, SSL handling methods.
|
|
29
|
+
#
|
|
30
|
+
#
|
|
31
|
+
# Any other remaining options will be sent to the MultiJSON backend except for the :raw option.
|
|
32
|
+
#
|
|
33
|
+
# When :raw is true in PUT and POST requests, no attempt will be made to convert the document payload to JSON. This is
|
|
34
|
+
# not normally necessary as IO and Tempfile objects will not be parsed anyway. The result of the request will
|
|
35
|
+
# *always* be parsed.
|
|
36
|
+
#
|
|
37
|
+
# For all other requests, mainly GET, the :raw option will make no attempt to parse the result. This
|
|
38
|
+
# is useful for receiving files from the database.
|
|
39
|
+
#
|
|
40
|
+
|
|
41
|
+
module RestAPI
|
|
42
|
+
|
|
43
|
+
# Send a GET request.
|
|
44
|
+
def get(uri, options = {})
|
|
45
|
+
execute(uri, :get, options)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Send a PUT request.
|
|
49
|
+
def put(uri, doc = nil, options = {})
|
|
50
|
+
execute(uri, :put, options, doc)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Send a POST request.
|
|
54
|
+
def post(uri, doc = nil, options = {})
|
|
55
|
+
execute(uri, :post, options, doc)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Send a DELETE request.
|
|
59
|
+
def delete(uri, options = {})
|
|
60
|
+
execute(uri, :delete, options)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Send a COPY request to the URI provided.
|
|
64
|
+
def copy(uri, destination, options = {})
|
|
65
|
+
opts = options.nil? ? {} : options.dup
|
|
66
|
+
# also copy headers!
|
|
67
|
+
opts[:headers] = options[:headers].nil? ? {} : options[:headers].dup
|
|
68
|
+
opts[:headers]['Destination'] = destination
|
|
69
|
+
execute(uri, :copy, opts)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# The default RestClient headers used in each request.
|
|
73
|
+
def default_headers
|
|
74
|
+
{
|
|
75
|
+
:content_type => :json,
|
|
76
|
+
:accept => :json
|
|
77
|
+
}
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
private
|
|
81
|
+
|
|
82
|
+
# Perform the RestClient request by removing the parse specific options, ensuring the
|
|
83
|
+
# payload is prepared, and sending the request ready to parse the response.
|
|
84
|
+
def execute(url, method, options = {}, payload = nil)
|
|
85
|
+
request, parser = prepare_and_split_options(url, method, options)
|
|
86
|
+
# Prepare the payload if it is provided
|
|
87
|
+
request[:payload] = payload_from_doc(payload, parser) if payload
|
|
88
|
+
begin
|
|
89
|
+
parse_response(RestClient::Request.execute(request), parser)
|
|
90
|
+
rescue Exception => e
|
|
91
|
+
if $DEBUG
|
|
92
|
+
raise "Error while sending a #{method.to_s.upcase} request #{uri}\noptions: #{opts.inspect}\n#{e}"
|
|
93
|
+
else
|
|
94
|
+
raise e
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Prepare two hashes, one for the request to the REST backend and a second
|
|
100
|
+
# for the JSON parser.
|
|
101
|
+
#
|
|
102
|
+
# Returns an array of request and parser options.
|
|
103
|
+
#
|
|
104
|
+
def prepare_and_split_options(url, method, options)
|
|
105
|
+
request = {
|
|
106
|
+
:url => url,
|
|
107
|
+
:method => method,
|
|
108
|
+
:headers => default_headers.merge(options[:headers] || {})
|
|
109
|
+
}
|
|
110
|
+
parser = {
|
|
111
|
+
:raw => false
|
|
112
|
+
}
|
|
113
|
+
# Split the options
|
|
114
|
+
(options || {}).each do |k,v|
|
|
115
|
+
k = k.to_sym
|
|
116
|
+
next if k == :headers # already dealt with
|
|
117
|
+
if restclient_option_keys.include?(k)
|
|
118
|
+
request[k] = v
|
|
119
|
+
elsif header_option_keys.include?(k)
|
|
120
|
+
request[:headers][k] = v
|
|
121
|
+
else
|
|
122
|
+
parser[k] = v
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
[request, parser]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Check if the provided doc is nil or special IO device or temp file. If not,
|
|
129
|
+
# encode it into a string.
|
|
130
|
+
#
|
|
131
|
+
# The options supported are:
|
|
132
|
+
# * :raw TrueClass, if true the payload will not be altered.
|
|
133
|
+
#
|
|
134
|
+
def payload_from_doc(doc, opts = {})
|
|
135
|
+
if (opts.delete(:raw) || doc.nil? || doc.is_a?(IO) || doc.is_a?(Tempfile))
|
|
136
|
+
doc
|
|
137
|
+
else
|
|
138
|
+
MultiJson.encode(doc.respond_to?(:as_couch_json) ? doc.as_couch_json : doc)
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Parse the response provided.
|
|
143
|
+
def parse_response(result, opts = {})
|
|
144
|
+
opts.delete(:raw) ? result : MultiJson.decode(result, opts.update(:max_nesting => false))
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# An array of all the options that should be passed through to restclient.
|
|
148
|
+
# Anything not in this list will be passed to the JSON parser.
|
|
149
|
+
def restclient_option_keys
|
|
150
|
+
[:method, :url, :payload, :headers, :timeout, :open_timeout,
|
|
151
|
+
:verify_ssl, :ssl_client_cert, :ssl_client_key, :ssl_ca_file]
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def header_option_keys
|
|
155
|
+
[ :content_type, :accept ]
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
end
|
|
159
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
module CouchRest
|
|
2
|
+
class Server
|
|
3
|
+
attr_accessor :uri, :uuid_batch_count, :available_databases
|
|
4
|
+
def initialize(server = 'http://127.0.0.1:5984', uuid_batch_count = 1000)
|
|
5
|
+
@uri = server
|
|
6
|
+
@uuid_batch_count = uuid_batch_count
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
# Lists all "available" databases.
|
|
10
|
+
# An available database, is a database that was specified
|
|
11
|
+
# as avaiable by your code.
|
|
12
|
+
# It allows to define common databases to use and reuse in your code
|
|
13
|
+
def available_databases
|
|
14
|
+
@available_databases ||= {}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Adds a new available database and create it unless it already exists
|
|
18
|
+
#
|
|
19
|
+
# Example:
|
|
20
|
+
#
|
|
21
|
+
# @couch = CouchRest::Server.new
|
|
22
|
+
# @couch.define_available_database(:default, "tech-blog")
|
|
23
|
+
#
|
|
24
|
+
def define_available_database(reference, db_name, create_unless_exists = true)
|
|
25
|
+
available_databases[reference.to_sym] = create_unless_exists ? database!(db_name) : database(db_name)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Checks that a database is set as available
|
|
29
|
+
#
|
|
30
|
+
# Example:
|
|
31
|
+
#
|
|
32
|
+
# @couch.available_database?(:default)
|
|
33
|
+
#
|
|
34
|
+
def available_database?(ref_or_name)
|
|
35
|
+
ref_or_name.is_a?(Symbol) ? available_databases.keys.include?(ref_or_name) : available_databases.values.map{|db| db.name}.include?(ref_or_name)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def default_database=(name, create_unless_exists = true)
|
|
39
|
+
define_available_database(:default, name, create_unless_exists = true)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def default_database
|
|
43
|
+
available_databases[:default]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Lists all databases on the server
|
|
47
|
+
def databases
|
|
48
|
+
CouchRest.get "#{@uri}/_all_dbs"
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Returns a CouchRest::Database for the given name
|
|
52
|
+
def database(name)
|
|
53
|
+
CouchRest::Database.new(self, name)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Creates the database if it doesn't exist
|
|
57
|
+
def database!(name)
|
|
58
|
+
create_db(name) rescue nil
|
|
59
|
+
database(name)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# GET the welcome message
|
|
63
|
+
def info
|
|
64
|
+
CouchRest.get "#{@uri}/"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Create a database
|
|
68
|
+
def create_db(name)
|
|
69
|
+
CouchRest.put "#{@uri}/#{name}"
|
|
70
|
+
database(name)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Restart the CouchDB instance
|
|
74
|
+
def restart!
|
|
75
|
+
CouchRest.post "#{@uri}/_restart"
|
|
76
|
+
rescue RestClient::ServerBrokeConnection
|
|
77
|
+
# Shouldn't really happen, but does in CouchDB 1.0.0
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Retrive an unused UUID from CouchDB. Server instances manage caching a list of unused UUIDs.
|
|
81
|
+
def next_uuid(count = @uuid_batch_count)
|
|
82
|
+
@uuids ||= []
|
|
83
|
+
if @uuids.empty?
|
|
84
|
+
@uuids = CouchRest.get("#{@uri}/_uuids?count=#{count}")["uuids"]
|
|
85
|
+
end
|
|
86
|
+
@uuids.pop
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Copyright (c) 2006-2009 David Heinemeier Hansson
|
|
2
|
+
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
# a copy of this software and associated documentation files (the
|
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
# the following conditions:
|
|
10
|
+
#
|
|
11
|
+
# The above copyright notice and this permission notice shall be
|
|
12
|
+
# included in all copies or substantial portions of the Software.
|
|
13
|
+
#
|
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
#
|
|
22
|
+
# Extracted From
|
|
23
|
+
# http://github.com/rails/rails/commit/971e2438d98326c994ec6d3ef8e37b7e868ed6e2
|
|
24
|
+
|
|
25
|
+
module CouchRest
|
|
26
|
+
module InheritableAttributes
|
|
27
|
+
|
|
28
|
+
# Defines class-level inheritable attribute reader. Attributes are available to subclasses,
|
|
29
|
+
# each subclass has a copy of parent's attribute.
|
|
30
|
+
#
|
|
31
|
+
# @param *syms<Array[#to_s]> Array of attributes to define inheritable reader for.
|
|
32
|
+
# @return <Array[#to_s]> Array of attributes converted into inheritable_readers.
|
|
33
|
+
#
|
|
34
|
+
# @api public
|
|
35
|
+
#
|
|
36
|
+
# @todo Do we want to block instance_reader via :instance_reader => false
|
|
37
|
+
# @todo It would be preferable that we do something with a Hash passed in
|
|
38
|
+
# (error out or do the same as other methods above) instead of silently
|
|
39
|
+
# moving on). In particular, this makes the return value of this function
|
|
40
|
+
# less useful.
|
|
41
|
+
def couchrest_inheritable_reader(*ivars)
|
|
42
|
+
instance_reader = ivars.pop[:reader] if ivars.last.is_a?(Hash)
|
|
43
|
+
|
|
44
|
+
ivars.each do |ivar|
|
|
45
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
46
|
+
def self.#{ivar}
|
|
47
|
+
return @#{ivar} if self.object_id == #{self.object_id} || defined?(@#{ivar})
|
|
48
|
+
ivar = superclass.#{ivar}
|
|
49
|
+
return nil if ivar.nil? && !#{self}.instance_variable_defined?("@#{ivar}")
|
|
50
|
+
@#{ivar} = ivar && !ivar.is_a?(Module) && !ivar.is_a?(Numeric) && !ivar.is_a?(TrueClass) && !ivar.is_a?(FalseClass) ? ivar.dup : ivar
|
|
51
|
+
end
|
|
52
|
+
RUBY
|
|
53
|
+
unless instance_reader == false
|
|
54
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
55
|
+
def #{ivar}
|
|
56
|
+
self.class.#{ivar}
|
|
57
|
+
end
|
|
58
|
+
RUBY
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Defines class-level inheritable attribute writer. Attributes are available to subclasses,
|
|
64
|
+
# each subclass has a copy of parent's attribute.
|
|
65
|
+
#
|
|
66
|
+
# @param *syms<Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to
|
|
67
|
+
# define inheritable writer for.
|
|
68
|
+
# @option syms :instance_writer<Boolean> if true, instance-level inheritable attribute writer is defined.
|
|
69
|
+
# @return <Array[#to_s]> An Array of the attributes that were made into inheritable writers.
|
|
70
|
+
#
|
|
71
|
+
# @api public
|
|
72
|
+
#
|
|
73
|
+
# @todo We need a style for class_eval <<-HEREDOC. I'd like to make it
|
|
74
|
+
# class_eval(<<-RUBY, __FILE__, __LINE__), but we should codify it somewhere.
|
|
75
|
+
def couchrest_inheritable_writer(*ivars)
|
|
76
|
+
instance_writer = ivars.pop[:writer] if ivars.last.is_a?(Hash)
|
|
77
|
+
ivars.each do |ivar|
|
|
78
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
79
|
+
def self.#{ivar}=(obj)
|
|
80
|
+
@#{ivar} = obj
|
|
81
|
+
end
|
|
82
|
+
RUBY
|
|
83
|
+
unless instance_writer == false
|
|
84
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
85
|
+
def #{ivar}=(obj) self.class.#{ivar} = obj end
|
|
86
|
+
RUBY
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
self.send("#{ivar}=", yield) if block_given?
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Defines class-level inheritable attribute accessor. Attributes are available to subclasses,
|
|
94
|
+
# each subclass has a copy of parent's attribute.
|
|
95
|
+
#
|
|
96
|
+
# @param *syms<Array[*#to_s, Hash{:instance_writer => Boolean}]> Array of attributes to
|
|
97
|
+
# define inheritable accessor for.
|
|
98
|
+
# @option syms :instance_writer<Boolean> if true, instance-level inheritable attribute writer is defined.
|
|
99
|
+
# @return <Array[#to_s]> An Array of attributes turned into inheritable accessors.
|
|
100
|
+
#
|
|
101
|
+
# @api public
|
|
102
|
+
def couchrest_inheritable_accessor(*syms, &block)
|
|
103
|
+
couchrest_inheritable_reader(*syms)
|
|
104
|
+
couchrest_inheritable_writer(*syms, &block)
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
require File.expand_path("../../spec_helper", __FILE__)
|
|
2
|
+
|
|
3
|
+
describe CouchRest do
|
|
4
|
+
|
|
5
|
+
before(:each) do
|
|
6
|
+
@cr = CouchRest.new(COUCHHOST)
|
|
7
|
+
begin
|
|
8
|
+
@db = @cr.database(TESTDB)
|
|
9
|
+
@db.delete! rescue nil
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
after(:each) do
|
|
14
|
+
begin
|
|
15
|
+
@db.delete! rescue nil
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
describe "getting info" do
|
|
20
|
+
it "should list databases" do
|
|
21
|
+
@cr.databases.should be_an_instance_of(Array)
|
|
22
|
+
end
|
|
23
|
+
it "should get info" do
|
|
24
|
+
@cr.info["couchdb"].should == "Welcome"
|
|
25
|
+
@cr.info.class.should == Hash
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should restart" do
|
|
30
|
+
@cr.restart!
|
|
31
|
+
begin
|
|
32
|
+
@cr.info
|
|
33
|
+
rescue
|
|
34
|
+
# Give the couchdb time to restart
|
|
35
|
+
sleep 0.2
|
|
36
|
+
retry
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "should provide one-time access to uuids" do
|
|
41
|
+
@cr.next_uuid.should_not be_nil
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe "initializing a database" do
|
|
45
|
+
it "should return a db" do
|
|
46
|
+
db = @cr.database(TESTDB)
|
|
47
|
+
db.should be_an_instance_of(CouchRest::Database)
|
|
48
|
+
db.host.should == @cr.uri
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe "parsing urls" do
|
|
53
|
+
it "should parse just a dbname" do
|
|
54
|
+
db = CouchRest.parse "my-db"
|
|
55
|
+
db[:database].should == "my-db"
|
|
56
|
+
db[:host].should == "http://127.0.0.1:5984"
|
|
57
|
+
end
|
|
58
|
+
it "should parse a host and db" do
|
|
59
|
+
db = CouchRest.parse "127.0.0.1/my-db"
|
|
60
|
+
db[:database].should == "my-db"
|
|
61
|
+
db[:host].should == "http://127.0.0.1"
|
|
62
|
+
end
|
|
63
|
+
it "should parse a host and db with http" do
|
|
64
|
+
db = CouchRest.parse "http://127.0.0.1/my-db"
|
|
65
|
+
db[:database].should == "my-db"
|
|
66
|
+
db[:host].should == "http://127.0.0.1"
|
|
67
|
+
end
|
|
68
|
+
it "should parse a host and db with https" do
|
|
69
|
+
db = CouchRest.parse "https://127.0.0.1/my-db"
|
|
70
|
+
db[:database].should == "my-db"
|
|
71
|
+
db[:host].should == "https://127.0.0.1"
|
|
72
|
+
end
|
|
73
|
+
it "should parse a host with a port and db" do
|
|
74
|
+
db = CouchRest.parse "127.0.0.1:5555/my-db"
|
|
75
|
+
db[:database].should == "my-db"
|
|
76
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
77
|
+
end
|
|
78
|
+
it "should parse a host with a port and db with http" do
|
|
79
|
+
db = CouchRest.parse "http://127.0.0.1:5555/my-db"
|
|
80
|
+
db[:database].should == "my-db"
|
|
81
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
82
|
+
end
|
|
83
|
+
it "should parse a host with a port and db with https" do
|
|
84
|
+
db = CouchRest.parse "https://127.0.0.1:5555/my-db"
|
|
85
|
+
db[:database].should == "my-db"
|
|
86
|
+
db[:host].should == "https://127.0.0.1:5555"
|
|
87
|
+
end
|
|
88
|
+
it "should parse just a host" do
|
|
89
|
+
db = CouchRest.parse "http://127.0.0.1:5555/"
|
|
90
|
+
db[:database].should be_nil
|
|
91
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
92
|
+
end
|
|
93
|
+
it "should parse just a host with https" do
|
|
94
|
+
db = CouchRest.parse "https://127.0.0.1:5555/"
|
|
95
|
+
db[:database].should be_nil
|
|
96
|
+
db[:host].should == "https://127.0.0.1:5555"
|
|
97
|
+
end
|
|
98
|
+
it "should parse just a host no slash" do
|
|
99
|
+
db = CouchRest.parse "http://127.0.0.1:5555"
|
|
100
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
101
|
+
db[:database].should be_nil
|
|
102
|
+
end
|
|
103
|
+
it "should parse just a host no slash and https" do
|
|
104
|
+
db = CouchRest.parse "https://127.0.0.1:5555"
|
|
105
|
+
db[:host].should == "https://127.0.0.1:5555"
|
|
106
|
+
db[:database].should be_nil
|
|
107
|
+
end
|
|
108
|
+
it "should get docid" do
|
|
109
|
+
db = CouchRest.parse "127.0.0.1:5555/my-db/my-doc"
|
|
110
|
+
db[:database].should == "my-db"
|
|
111
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
112
|
+
db[:doc].should == "my-doc"
|
|
113
|
+
end
|
|
114
|
+
it "should get docid with http" do
|
|
115
|
+
db = CouchRest.parse "http://127.0.0.1:5555/my-db/my-doc"
|
|
116
|
+
db[:database].should == "my-db"
|
|
117
|
+
db[:host].should == "http://127.0.0.1:5555"
|
|
118
|
+
db[:doc].should == "my-doc"
|
|
119
|
+
end
|
|
120
|
+
it "should get docid with https" do
|
|
121
|
+
db = CouchRest.parse "https://127.0.0.1:5555/my-db/my-doc"
|
|
122
|
+
db[:database].should == "my-db"
|
|
123
|
+
db[:host].should == "https://127.0.0.1:5555"
|
|
124
|
+
db[:doc].should == "my-doc"
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
describe "easy initializing a database adapter" do
|
|
129
|
+
it "should be possible without an explicit CouchRest instantiation" do
|
|
130
|
+
db = CouchRest.database "http://127.0.0.1:5984/couchrest-test"
|
|
131
|
+
db.should be_an_instance_of(CouchRest::Database)
|
|
132
|
+
db.host.should == "http://127.0.0.1:5984"
|
|
133
|
+
end
|
|
134
|
+
# TODO add https support (need test environment...)
|
|
135
|
+
# it "should work with https" # do
|
|
136
|
+
# db = CouchRest.database "https://127.0.0.1:5984/couchrest-test"
|
|
137
|
+
# db.host.should == "https://127.0.0.1:5984"
|
|
138
|
+
# end
|
|
139
|
+
it "should not create the database automatically" do
|
|
140
|
+
db = CouchRest.database "http://127.0.0.1:5984/couchrest-test"
|
|
141
|
+
lambda{db.info}.should raise_error(RestClient::ResourceNotFound)
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
describe "ensuring the db exists" do
|
|
146
|
+
it "should be super easy" do
|
|
147
|
+
db = CouchRest.database! "#{COUCHHOST}/couchrest-test-2"
|
|
148
|
+
db.name.should == 'couchrest-test-2'
|
|
149
|
+
db.info["db_name"].should == 'couchrest-test-2'
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
describe "successfully creating a database" do
|
|
154
|
+
it "should start without a database" do
|
|
155
|
+
@cr.databases.should_not include(TESTDB)
|
|
156
|
+
end
|
|
157
|
+
it "should return the created database" do
|
|
158
|
+
db = @cr.create_db(TESTDB)
|
|
159
|
+
db.should be_an_instance_of(CouchRest::Database)
|
|
160
|
+
end
|
|
161
|
+
it "should create the database" do
|
|
162
|
+
db = @cr.create_db(TESTDB)
|
|
163
|
+
@cr.databases.should include(TESTDB)
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
describe "failing to create a database because the name is taken" do
|
|
168
|
+
before(:each) do
|
|
169
|
+
db = @cr.create_db(TESTDB)
|
|
170
|
+
end
|
|
171
|
+
it "should start with the test database" do
|
|
172
|
+
@cr.databases.should include(TESTDB)
|
|
173
|
+
end
|
|
174
|
+
it "should PUT the database and raise an error" do
|
|
175
|
+
lambda{
|
|
176
|
+
@cr.create_db(TESTDB)
|
|
177
|
+
}.should raise_error(RestClient::Request::RequestFailed)
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
describe "using a proxy for RestClient connections" do
|
|
182
|
+
it "should set proxy url for RestClient" do
|
|
183
|
+
CouchRest.proxy 'http://localhost:8888/'
|
|
184
|
+
proxy_uri = URI.parse(RestClient.proxy)
|
|
185
|
+
proxy_uri.host.should eql( 'localhost' )
|
|
186
|
+
proxy_uri.port.should eql( 8888 )
|
|
187
|
+
CouchRest.proxy nil
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
describe "Including old ExtendedDocument library" do
|
|
192
|
+
|
|
193
|
+
it "should raise an exception" do
|
|
194
|
+
lambda do
|
|
195
|
+
class TestDoc < CouchRest::ExtendedDocument
|
|
196
|
+
attr_reader :fail
|
|
197
|
+
end
|
|
198
|
+
end.should raise_error(RuntimeError)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
end
|
|
202
|
+
end
|