ramaze 0.3.9.1 → 2023.01.06
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.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/README.md +125 -0
- data/Rakefile +13 -186
- data/bin/ramaze +4 -149
- data/examples/app/auth/layout/auth.xhtml +25 -0
- data/examples/app/auth/start.rb +25 -0
- data/examples/app/auth/view/index.xhtml +4 -0
- data/examples/app/auth/view/login.xhtml +20 -0
- data/examples/app/auth/view/secret.xhtml +1 -0
- data/examples/app/blog/app.rb +23 -0
- data/examples/app/blog/config.ru +19 -0
- data/examples/app/blog/controller/init.rb +30 -0
- data/examples/app/blog/controller/posts.rb +223 -0
- data/examples/app/blog/controller/users.rb +152 -0
- data/examples/app/blog/layout/default.xhtml +61 -0
- data/examples/app/blog/migrations/01_create_schema.rb +50 -0
- data/examples/app/blog/model/comment.rb +42 -0
- data/examples/app/blog/model/init.rb +44 -0
- data/examples/app/blog/model/post.rb +33 -0
- data/examples/app/blog/model/user.rb +100 -0
- data/examples/app/blog/public/css/grid.css +107 -0
- data/examples/app/blog/public/css/layout.css +203 -0
- data/examples/app/blog/public/css/reset.css +123 -0
- data/examples/app/blog/public/css/text.css +109 -0
- data/examples/app/blog/public/dispatch.fcgi +11 -0
- data/examples/app/blog/public/favicon.ico +0 -0
- data/examples/app/blog/public/images/bg.png +0 -0
- data/examples/app/blog/start.rb +20 -0
- data/examples/app/blog/view/feed.xhtml +23 -0
- data/examples/app/blog/view/form.xhtml +11 -0
- data/examples/app/blog/view/index.xhtml +44 -0
- data/examples/app/blog/view/users/form.xhtml +12 -0
- data/examples/app/blog/view/users/index.xhtml +30 -0
- data/examples/app/blog/view/users/login.xhtml +8 -0
- data/examples/app/blog/view/view.xhtml +68 -0
- data/examples/app/chat/layout/default.xhtml +13 -0
- data/examples/app/chat/model/history.rb +38 -0
- data/examples/app/chat/model/message.rb +7 -0
- data/examples/app/chat/public/css/chat.css +9 -0
- data/examples/app/chat/public/js/chat.js +28 -0
- data/{lib/proto → examples/app/chat}/public/js/jquery.js +75 -15
- data/examples/app/chat/start.rb +39 -0
- data/examples/app/chat/view/chat.xhtml +9 -0
- data/examples/app/chat/view/index.xhtml +7 -0
- data/examples/app/localization/locale/de.yaml +5 -0
- data/examples/app/localization/locale/en.yaml +5 -0
- data/examples/app/localization/locale/ja.yaml +5 -0
- data/examples/app/localization/start.rb +48 -0
- data/examples/app/todolist/controller/init.rb +11 -0
- data/examples/app/todolist/controller/task.rb +39 -0
- data/examples/app/todolist/layout/default.xhtml +14 -0
- data/examples/app/todolist/model/init.rb +14 -0
- data/examples/app/todolist/model/task.rb +39 -0
- data/examples/app/todolist/public/css/screen.css +63 -0
- data/examples/app/todolist/start.rb +7 -0
- data/examples/app/todolist/view/index.xhtml +29 -0
- data/examples/{upload → app/upload}/start.rb +7 -3
- data/examples/app/whywiki/spec/whywiki.rb +56 -0
- data/examples/{whywiki → app/whywiki}/start.rb +10 -9
- data/examples/{whywiki/template → app/whywiki/view}/edit.xhtml +2 -2
- data/examples/app/whywiki/view/show.xhtml +20 -0
- data/examples/{wikore → app/wikore}/spec/wikore.rb +7 -9
- data/examples/{wikore → app/wikore}/src/controller.rb +9 -11
- data/examples/{wikore → app/wikore}/src/model.rb +11 -13
- data/examples/app/wikore/start.rb +9 -0
- data/examples/{wiktacular/template/html_layout.xhtml → app/wiktacular/layout/application.xhtml} +1 -1
- data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_19-21-12.mkd +1 -1
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +2 -0
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +2 -0
- data/examples/app/wiktacular/mkd/main/current.mkd +2 -0
- data/examples/{wiktacular → app/wiktacular}/mkd/markdown/current.mkd +2 -2
- data/examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +2 -0
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-20_19-43-50.mkd +2 -2
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-01.mkd +11 -11
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-32.mkd +12 -12
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-08.mkd +16 -16
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-54.mkd +16 -16
- data/examples/{wiktacular → app/wiktacular}/mkd/testing/current.mkd +16 -16
- data/examples/{wiktacular → app/wiktacular}/spec/wiktacular.rb +39 -40
- data/examples/{wiktacular → app/wiktacular}/src/controller.rb +18 -18
- data/examples/{wiktacular → app/wiktacular}/src/model.rb +30 -14
- data/examples/{wiktacular → app/wiktacular}/start.rb +1 -1
- data/examples/{wiktacular/template → app/wiktacular/view}/edit.xhtml +2 -2
- data/examples/{wiktacular/template → app/wiktacular/view}/new.xhtml +1 -1
- data/examples/{element.rb → basic/element.rb} +5 -3
- data/examples/basic/gestalt.rb +26 -0
- data/examples/basic/hello.rb +14 -0
- data/examples/{layout.rb → basic/layout.rb} +2 -2
- data/examples/basic/linking.rb +29 -0
- data/examples/basic/partial.rb +26 -0
- data/examples/{simple.rb → basic/simple.rb} +9 -12
- data/examples/{caching.rb → helpers/cache.rb} +9 -7
- data/examples/helpers/paginate.rb +71 -0
- data/examples/helpers/rest.rb +28 -0
- data/examples/helpers/simple_captcha.rb +29 -0
- data/examples/{css.rb → misc/css.rb} +6 -12
- data/examples/misc/memleak_detector.rb +37 -0
- data/examples/misc/nagoro_element.rb +43 -0
- data/examples/{ramaise.rb → misc/ramaise.rb} +2 -2
- data/examples/misc/rapp.rb +56 -0
- data/examples/misc/sequel_scaffolding.rb +45 -0
- data/examples/misc/serve_directory.rb +6 -0
- data/examples/templates/template_erubis.rb +9 -10
- data/examples/templates/template_ezamar.rb +8 -7
- data/examples/templates/template_haml.rb +7 -8
- data/examples/templates/template_liquid.rb +20 -19
- data/examples/templates/template_markaby.rb +6 -7
- data/examples/templates/template_mustache.rb +70 -0
- data/examples/templates/template_nagoro.rb +6 -7
- data/examples/templates/template_redcloth.rb +8 -9
- data/examples/templates/template_remarkably.rb +8 -9
- data/examples/templates/template_tenjin.rb +10 -15
- data/examples/templates/{template → view}/external.haml +4 -4
- data/examples/templates/{template → view}/external.mab +4 -4
- data/examples/templates/view/external.mt +29 -0
- data/examples/templates/{template → view}/external.nag +4 -4
- data/examples/templates/{template → view}/external.redcloth +4 -4
- data/examples/templates/{template → view}/external.rem +4 -4
- data/examples/templates/{template → view}/external.rhtml +6 -6
- data/examples/templates/{template → view}/external.tenjin +4 -4
- data/examples/templates/{template → view}/external.zmr +6 -6
- data/guide/AUTHORS +80 -0
- data/guide/CHANGELOG +20210 -0
- data/guide/LICENSE +19 -0
- data/guide/_static/logo.png +0 -0
- data/guide/_static/logo.svg +49 -0
- data/guide/css/common.css +20 -0
- data/guide/general/cache.md +168 -0
- data/guide/general/configuration.md +169 -0
- data/guide/general/contributing.md +182 -0
- data/guide/general/controllers.md +210 -0
- data/guide/general/helpers.md +89 -0
- data/guide/general/installation.md +59 -0
- data/guide/general/logging.md +96 -0
- data/guide/general/middlewares.md +111 -0
- data/guide/general/models.md +79 -0
- data/{doc/readme_chunks/principles.txt → guide/general/principles.md} +15 -17
- data/guide/general/ramaze_command.md +110 -0
- data/guide/general/routes.md +82 -0
- data/guide/general/sessions.md +210 -0
- data/guide/general/special_thanks.md +69 -0
- data/guide/general/testing.md +228 -0
- data/guide/general/upgrading.md +85 -0
- data/guide/general/views.md +335 -0
- data/lib/proto/Gemfile +4 -0
- data/lib/proto/README.md +35 -0
- data/lib/proto/Rakefile +1 -0
- data/lib/proto/app.rb +9 -0
- data/lib/proto/config.ru +19 -0
- data/lib/proto/controller/init.rb +18 -0
- data/lib/proto/controller/main.rb +13 -10
- data/lib/proto/layout/default.xhtml +57 -0
- data/lib/proto/public/css/grid.css +107 -0
- data/lib/proto/public/css/layout.css +81 -0
- data/lib/proto/public/css/reset.css +123 -0
- data/lib/proto/public/css/text.css +109 -0
- data/lib/proto/public/favicon.ico +0 -0
- data/lib/proto/public/images/bg.png +0 -0
- data/lib/proto/spec/helper.rb +39 -0
- data/lib/proto/task/ramaze.rake +57 -0
- data/lib/proto/view/index.xhtml +36 -25
- data/lib/ramaze/app.rb +198 -0
- data/lib/ramaze/bin/create.rb +92 -0
- data/lib/ramaze/bin/runner.rb +127 -0
- data/lib/ramaze/cache/lru.rb +88 -0
- data/lib/ramaze/cache/memcache.rb +219 -0
- data/lib/ramaze/cache/moneta.rb +143 -0
- data/lib/ramaze/cache/redis.rb +163 -0
- data/lib/ramaze/cache/sequel.rb +373 -0
- data/lib/ramaze/cache.rb +42 -82
- data/lib/ramaze/controller/default.rb +25 -0
- data/lib/ramaze/controller.rb +184 -224
- data/lib/ramaze/current.rb +17 -68
- data/lib/ramaze/default_middleware.rb +24 -0
- data/lib/ramaze/files.rb +59 -0
- data/lib/ramaze/gestalt.rb +95 -63
- data/lib/ramaze/helper/auth.rb +107 -107
- data/lib/ramaze/helper/bench.rb +51 -0
- data/lib/ramaze/helper/blue_form.rb +683 -0
- data/lib/ramaze/helper/cache.rb +108 -130
- data/lib/ramaze/helper/csrf.rb +191 -0
- data/lib/ramaze/helper/email.rb +116 -0
- data/lib/ramaze/helper/erector.rb +113 -0
- data/lib/ramaze/helper/flash.rb +42 -39
- data/lib/ramaze/helper/formatting.rb +200 -35
- data/lib/ramaze/helper/gestalt.rb +49 -0
- data/lib/ramaze/helper/gravatar.rb +75 -0
- data/lib/ramaze/helper/identity.rb +93 -68
- data/lib/ramaze/helper/layout.rb +128 -0
- data/lib/ramaze/helper/link.rb +52 -119
- data/lib/ramaze/helper/localize.rb +143 -0
- data/lib/ramaze/helper/markaby.rb +26 -24
- data/lib/ramaze/helper/maruku.rb +15 -6
- data/lib/ramaze/helper/paginate.rb +315 -0
- data/lib/ramaze/helper/remarkably.rb +14 -0
- data/lib/ramaze/helper/request_accessor.rb +20 -0
- data/lib/ramaze/helper/send_file.rb +34 -0
- data/lib/ramaze/helper/simple_captcha.rb +61 -0
- data/lib/ramaze/helper/stack.rb +72 -62
- data/lib/ramaze/helper/tagz.rb +13 -12
- data/lib/ramaze/helper/thread.rb +25 -0
- data/lib/ramaze/helper/upload.rb +525 -0
- data/lib/ramaze/helper/user.rb +260 -39
- data/lib/ramaze/helper/xhtml.rb +122 -0
- data/lib/ramaze/helper.rb +8 -79
- data/lib/ramaze/log/hub.rb +41 -32
- data/lib/ramaze/log/informer.rb +128 -104
- data/lib/ramaze/log/logger.rb +25 -15
- data/lib/ramaze/log/logging.rb +46 -27
- data/lib/ramaze/log/rotatinginformer.rb +237 -0
- data/lib/ramaze/log/syslog.rb +57 -31
- data/lib/ramaze/log.rb +16 -15
- data/lib/ramaze/reloader/watch_inotify.rb +84 -0
- data/lib/ramaze/reloader/watch_stat.rb +58 -0
- data/lib/ramaze/reloader.rb +212 -0
- data/lib/ramaze/request.rb +126 -0
- data/lib/ramaze/response.rb +67 -0
- data/lib/ramaze/snippets/object/__dir__.rb +25 -0
- data/lib/ramaze/snippets/ramaze/deprecated.rb +23 -0
- data/lib/ramaze/snippets/string/camel_case.rb +17 -14
- data/lib/ramaze/snippets/string/color.rb +27 -24
- data/lib/ramaze/snippets/string/esc.rb +25 -25
- data/lib/ramaze/snippets/string/snake_case.rb +16 -13
- data/lib/ramaze/snippets/string/unindent.rb +24 -11
- data/lib/ramaze/snippets.rb +21 -6
- data/lib/ramaze/spec/bacon.rb +44 -0
- data/lib/ramaze/spec/helper/bacon.rb +4 -4
- data/lib/ramaze/spec/helper/pretty_output.rb +9 -1
- data/lib/ramaze/spec/helper/snippets.rb +11 -1
- data/lib/ramaze/spec/helper/template_examples.rb +22 -0
- data/lib/ramaze/version.rb +4 -13
- data/lib/ramaze/view/erector.rb +116 -0
- data/lib/ramaze/view/erubis.rb +26 -0
- data/lib/ramaze/view/ezamar.rb +27 -0
- data/lib/ramaze/view/gestalt.rb +20 -0
- data/lib/ramaze/view/haml.rb +27 -0
- data/lib/ramaze/view/liquid.rb +99 -0
- data/lib/ramaze/view/lokar.rb +18 -0
- data/lib/ramaze/view/mustache.rb +46 -0
- data/lib/ramaze/view/nagoro/render_partial.rb +32 -0
- data/lib/ramaze/view/nagoro.rb +44 -0
- data/lib/ramaze/view/remarkably.rb +22 -0
- data/lib/ramaze/view/sass.rb +22 -0
- data/lib/ramaze/view/slim.rb +43 -0
- data/lib/ramaze/view/slippers.rb +51 -0
- data/lib/ramaze/view/tagz.rb +67 -0
- data/lib/ramaze/view/tenjin.rb +32 -0
- data/lib/ramaze/view.rb +35 -0
- data/lib/ramaze.rb +60 -100
- data/lib/vendor/route_exceptions.rb +42 -0
- data/ramaze.gemspec +61 -0
- data/spec/examples/caching.rb +5 -8
- data/spec/examples/css.rb +3 -4
- data/spec/examples/element.rb +4 -4
- data/spec/examples/hello.rb +4 -5
- data/spec/examples/linking.rb +3 -4
- data/spec/examples/misc/sequel_scaffolding.rb +18 -0
- data/spec/examples/simple.rb +3 -8
- data/spec/examples/templates/template_erubis.rb +8 -18
- data/spec/examples/templates/template_ezamar.rb +9 -19
- data/spec/examples/templates/template_haml.rb +8 -20
- data/spec/examples/templates/template_liquid.rb +8 -24
- data/spec/examples/templates/template_markaby.rb +10 -19
- data/spec/examples/templates/template_mustache.rb +13 -0
- data/spec/examples/templates/template_nagoro.rb +13 -0
- data/spec/examples/templates/template_remarkably.rb +8 -18
- data/spec/examples/templates/template_tenjin.rb +8 -23
- data/spec/examples/todolist.rb +33 -0
- data/spec/helper.rb +14 -3
- data/spec/ramaze/action/render.rb +9 -17
- data/spec/ramaze/action/view/other_wrapper.erb +1 -0
- data/spec/ramaze/action/view/sub/sub_wrapper.xhtml +1 -0
- data/spec/ramaze/app/location.rb +43 -0
- data/spec/ramaze/app.rb +50 -0
- data/spec/ramaze/bin/app/config.ru +11 -0
- data/spec/ramaze/bin/create.rb +28 -0
- data/spec/ramaze/bin/runner.rb +30 -0
- data/spec/ramaze/cache/lru.rb +48 -0
- data/spec/ramaze/cache/memcache.rb +69 -0
- data/spec/ramaze/cache/moneta.rb +53 -0
- data/spec/ramaze/cache/redis.rb +58 -0
- data/spec/ramaze/cache/sequel.rb +60 -0
- data/spec/ramaze/controller/actionless_templates.rb +16 -12
- data/spec/ramaze/controller/lonely_mapping.rb +18 -0
- data/spec/ramaze/controller/mapping.rb +63 -0
- data/spec/ramaze/controller/provide_inheritance.rb +40 -0
- data/spec/ramaze/controller/resolve.rb +9 -11
- data/spec/ramaze/controller/subclass.rb +22 -7
- data/spec/ramaze/controller/template_resolving.rb +23 -61
- data/spec/ramaze/controller/view/bar.xhtml +1 -0
- data/spec/ramaze/controller/view/base/another.xhtml +1 -0
- data/spec/ramaze/dispatcher/directory.rb +61 -33
- data/spec/ramaze/dispatcher/file.rb +65 -47
- data/spec/ramaze/error.rb +54 -64
- data/spec/ramaze/files/public_1/plain.txt +1 -0
- data/spec/ramaze/files/public_2/rich.txt +1 -0
- data/spec/ramaze/files.rb +30 -0
- data/spec/ramaze/gestalt.rb +28 -21
- data/spec/ramaze/helper/auth.rb +47 -29
- data/spec/ramaze/helper/bench.rb +21 -0
- data/spec/ramaze/helper/blue_form.rb +807 -0
- data/spec/ramaze/helper/cache.rb +65 -84
- data/spec/ramaze/helper/csrf.rb +64 -0
- data/spec/ramaze/helper/email.rb +69 -0
- data/spec/ramaze/helper/flash.rb +22 -101
- data/spec/ramaze/helper/formatting.rb +100 -6
- data/spec/ramaze/helper/gestalt.rb +18 -0
- data/spec/ramaze/helper/gravatar.rb +43 -0
- data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
- data/spec/ramaze/helper/layout/default.xhtml +5 -0
- data/spec/ramaze/helper/layout.rb +109 -0
- data/spec/ramaze/helper/link.rb +48 -102
- data/spec/ramaze/helper/localize.rb +65 -0
- data/spec/ramaze/helper/maruku.rb +22 -0
- data/spec/ramaze/helper/paginate.rb +304 -0
- data/spec/ramaze/helper/request_accessor.rb +22 -0
- data/spec/ramaze/helper/simple_captcha.rb +45 -0
- data/spec/ramaze/helper/stack.rb +54 -41
- data/spec/ramaze/helper/upload.rb +150 -0
- data/spec/ramaze/helper/uploads/text_1.txt +1 -0
- data/spec/ramaze/helper/uploads/text_2.txt +1 -0
- data/spec/ramaze/helper/user.rb +63 -20
- data/spec/ramaze/helper/xhtml.rb +54 -0
- data/spec/ramaze/log/informer.rb +30 -28
- data/spec/ramaze/log/logging.rb +66 -0
- data/spec/ramaze/log/syslog.rb +89 -4
- data/spec/ramaze/params.rb +12 -16
- data/spec/ramaze/request.rb +51 -160
- data/spec/ramaze/rewrite/file.css +1 -0
- data/spec/ramaze/session/lru.rb +58 -0
- data/spec/ramaze/session/memcache.rb +66 -0
- data/spec/ramaze/session/redis.rb +63 -0
- data/spec/ramaze/session/sequel.rb +62 -0
- data/spec/ramaze/view/erector/external_view.erector +5 -0
- data/spec/ramaze/view/erector/index.erector +5 -0
- data/spec/ramaze/view/erector/layout.erector +13 -0
- data/spec/ramaze/view/erector/tables.erector +23 -0
- data/spec/ramaze/view/erector/view.erector +6 -0
- data/spec/ramaze/view/erector.rb +68 -0
- data/spec/ramaze/view/erubis/external.rhtml +8 -0
- data/spec/ramaze/view/erubis/sum.rhtml +1 -0
- data/spec/ramaze/view/erubis.rb +73 -0
- data/spec/ramaze/view/ezamar/external.zmr +8 -0
- data/spec/ramaze/view/ezamar/sum.zmr +1 -0
- data/spec/ramaze/view/ezamar.rb +73 -0
- data/spec/ramaze/view/gestalt/external.ges +8 -0
- data/spec/ramaze/view/gestalt.rb +94 -0
- data/spec/ramaze/view/haml/external.haml +5 -0
- data/spec/ramaze/view/haml/sum.haml +2 -0
- data/spec/ramaze/view/haml.rb +114 -0
- data/spec/ramaze/view/liquid/external.liquid +8 -0
- data/spec/ramaze/view/liquid/sum.liquid +1 -0
- data/spec/ramaze/view/liquid.rb +73 -0
- data/spec/ramaze/view/lokar/external.lok +8 -0
- data/spec/ramaze/view/lokar/sum.lok +1 -0
- data/spec/ramaze/view/lokar.rb +78 -0
- data/spec/ramaze/view/mustache/external.mt +8 -0
- data/spec/ramaze/view/mustache/sum.mt +1 -0
- data/spec/ramaze/view/mustache.rb +77 -0
- data/spec/ramaze/view/nagoro/external.nag +8 -0
- data/spec/ramaze/view/nagoro/sum.nag +1 -0
- data/spec/ramaze/view/nagoro.rb +78 -0
- data/spec/ramaze/view/remarkably.rb +49 -0
- data/spec/ramaze/view/sass.rb +73 -0
- data/spec/ramaze/view/slim/external.slim +5 -0
- data/spec/ramaze/view/slim/external_vars.slim +5 -0
- data/spec/ramaze/view/slim.rb +49 -0
- data/spec/ramaze/view/slippers/external.st +8 -0
- data/spec/ramaze/view/slippers/sum.st +1 -0
- data/spec/ramaze/view/slippers.rb +49 -0
- data/spec/ramaze/{template → view}/tagz.rb +20 -31
- data/spec/ramaze/view/tenjin/external.rbhtml +8 -0
- data/spec/ramaze/view/tenjin/sum.rbhtml +1 -0
- data/spec/ramaze/view/tenjin.rb +57 -0
- data/spec/ramaze/view.rb +36 -0
- data/spec/snippets/object/__dir__.rb +17 -0
- data/spec/snippets/ramaze/lru_hash.rb +88 -0
- data/spec/snippets/string/camel_case.rb +4 -1
- data/spec/snippets/string/color.rb +4 -1
- data/spec/snippets/string/snake_case.rb +4 -1
- data/spec/snippets/string/unindent.rb +10 -1
- data/tasks/authors.rake +17 -0
- data/tasks/bacon.rake +81 -0
- data/tasks/changelog.rake +20 -0
- data/tasks/gems.rake +15 -0
- data/tasks/release.rake +38 -0
- data/tasks/todo.rake +31 -0
- data/tasks/yard.rake +13 -0
- metadata +813 -714
- data/doc/AUTHORS +0 -25
- data/doc/CHANGELOG +0 -5757
- data/doc/COPYING +0 -56
- data/doc/FAQ +0 -92
- data/doc/GPL +0 -339
- data/doc/INSTALL +0 -34
- data/doc/LEGAL +0 -26
- data/doc/ProjectInfo +0 -53
- data/doc/README +0 -435
- data/doc/TODO +0 -29
- data/doc/meta/announcement.txt +0 -126
- data/doc/meta/configuration.txt +0 -162
- data/doc/meta/internals.txt +0 -278
- data/doc/meta/users.kml +0 -64
- data/doc/migrate/1110_to_1111.txt +0 -131
- data/doc/readme_chunks/appendix.txt +0 -10
- data/doc/readme_chunks/examples.txt +0 -38
- data/doc/readme_chunks/features.txt +0 -148
- data/doc/readme_chunks/getting_help.txt +0 -5
- data/doc/readme_chunks/getting_started.txt +0 -18
- data/doc/readme_chunks/installing.txt +0 -46
- data/doc/readme_chunks/introduction.txt +0 -18
- data/doc/readme_chunks/thanks.txt +0 -59
- data/doc/tutorial/todolist.html +0 -816
- data/doc/tutorial/todolist.mkd +0 -736
- data/examples/auth/auth.rb +0 -54
- data/examples/auth/template/layout.haml +0 -20
- data/examples/auth/template/login.haml +0 -16
- data/examples/blog/README +0 -3
- data/examples/blog/controller/main.rb +0 -29
- data/examples/blog/model/entry.rb +0 -30
- data/examples/blog/public/styles/blog.css +0 -132
- data/examples/blog/spec/blog.rb +0 -87
- data/examples/blog/start.rb +0 -7
- data/examples/blog/view/edit.xhtml +0 -17
- data/examples/blog/view/index.xhtml +0 -17
- data/examples/blog/view/layout.xhtml +0 -11
- data/examples/blog/view/new.xhtml +0 -16
- data/examples/hello.rb +0 -15
- data/examples/linking.rb +0 -29
- data/examples/memleak_detector.rb +0 -32
- data/examples/nitro_form.rb +0 -23
- data/examples/rammit/spec/rammit.rb +0 -30
- data/examples/rammit/src/controller/main.rb +0 -3
- data/examples/rammit/src/controller/page.rb +0 -16
- data/examples/rammit/src/model.rb +0 -33
- data/examples/rammit/start.rb +0 -8
- data/examples/rammit/template/index.xhtml +0 -14
- data/examples/rammit/template/page/view.xhtml +0 -4
- data/examples/rapaste/Rakefile +0 -35
- data/examples/rapaste/controller/paste.rb +0 -94
- data/examples/rapaste/model/paste.rb +0 -55
- data/examples/rapaste/public/css/active4d.css +0 -114
- data/examples/rapaste/public/css/all_hallows_eve.css +0 -72
- data/examples/rapaste/public/css/amy.css +0 -147
- data/examples/rapaste/public/css/blackboard.css +0 -88
- data/examples/rapaste/public/css/brilliance_black.css +0 -605
- data/examples/rapaste/public/css/brilliance_dull.css +0 -599
- data/examples/rapaste/public/css/cobalt.css +0 -149
- data/examples/rapaste/public/css/dawn.css +0 -121
- data/examples/rapaste/public/css/display.css +0 -197
- data/examples/rapaste/public/css/eiffel.css +0 -121
- data/examples/rapaste/public/css/espresso_libre.css +0 -109
- data/examples/rapaste/public/css/idle.css +0 -62
- data/examples/rapaste/public/css/iplastic.css +0 -80
- data/examples/rapaste/public/css/lazy.css +0 -73
- data/examples/rapaste/public/css/mac_classic.css +0 -123
- data/examples/rapaste/public/css/magicwb_amiga.css +0 -104
- data/examples/rapaste/public/css/pastels_on_dark.css +0 -188
- data/examples/rapaste/public/css/slush_poppies.css +0 -85
- data/examples/rapaste/public/css/spacecadet.css +0 -51
- data/examples/rapaste/public/css/sunburst.css +0 -180
- data/examples/rapaste/public/css/twilight.css +0 -137
- data/examples/rapaste/public/css/zenburnesque.css +0 -91
- data/examples/rapaste/public/js/jquery.js +0 -11
- data/examples/rapaste/spec/rapaste.rb +0 -49
- data/examples/rapaste/start.rb +0 -24
- data/examples/rapaste/view/copy.xhtml +0 -10
- data/examples/rapaste/view/index.xhtml +0 -9
- data/examples/rapaste/view/layout.xhtml +0 -25
- data/examples/rapaste/view/list.xhtml +0 -29
- data/examples/rapaste/view/search.xhtml +0 -41
- data/examples/rapaste/view/view.xhtml +0 -37
- data/examples/simple_auth.rb +0 -23
- data/examples/sourceview/public/coderay.css +0 -104
- data/examples/sourceview/public/images/file.gif +0 -0
- data/examples/sourceview/public/images/folder.gif +0 -0
- data/examples/sourceview/public/images/tv-collapsable-last.gif +0 -0
- data/examples/sourceview/public/images/tv-collapsable.gif +0 -0
- data/examples/sourceview/public/images/tv-expandable-last.gif +0 -0
- data/examples/sourceview/public/images/tv-expandable.gif +0 -0
- data/examples/sourceview/public/images/tv-item-last.gif +0 -0
- data/examples/sourceview/public/images/tv-item.gif +0 -0
- data/examples/sourceview/public/jquery.js +0 -11
- data/examples/sourceview/public/jquery.treeview.css +0 -48
- data/examples/sourceview/public/jquery.treeview.js +0 -223
- data/examples/sourceview/public/sourceview.js +0 -52
- data/examples/sourceview/sourceview.rb +0 -77
- data/examples/sourceview/template/index.haml +0 -59
- data/examples/templates/template/external.amrita +0 -19
- data/examples/templates/template/external.xsl +0 -57
- data/examples/templates/template_amrita2.rb +0 -74
- data/examples/templates/template_xslt.rb +0 -49
- data/examples/todolist/README +0 -1
- data/examples/todolist/public/js/jquery.js +0 -1923
- data/examples/todolist/public/ramaze.png +0 -0
- data/examples/todolist/spec/todolist.rb +0 -132
- data/examples/todolist/src/controller/main.rb +0 -70
- data/examples/todolist/src/element/page.rb +0 -31
- data/examples/todolist/src/model.rb +0 -14
- data/examples/todolist/start.rb +0 -11
- data/examples/todolist/template/index.xhtml +0 -17
- data/examples/todolist/template/new.xhtml +0 -7
- data/examples/whywiki/spec/whywiki.rb +0 -58
- data/examples/whywiki/template/show.xhtml +0 -18
- data/examples/wikore/start.rb +0 -9
- data/examples/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +0 -2
- data/examples/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +0 -2
- data/examples/wiktacular/mkd/main/current.mkd +0 -2
- data/examples/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +0 -2
- data/lib/proto/public/css/ramaze_error.css +0 -90
- data/lib/proto/public/dispatch.fcgi +0 -11
- data/lib/proto/public/ramaze.png +0 -0
- data/lib/proto/spec/main.rb +0 -24
- data/lib/proto/start.rb +0 -8
- data/lib/proto/start.ru +0 -8
- data/lib/proto/view/error.xhtml +0 -64
- data/lib/proto/view/page.xhtml +0 -15
- data/lib/ramaze/action/render.rb +0 -163
- data/lib/ramaze/action.rb +0 -136
- data/lib/ramaze/adapter/base.rb +0 -59
- data/lib/ramaze/adapter/cgi.rb +0 -24
- data/lib/ramaze/adapter/ebb.rb +0 -32
- data/lib/ramaze/adapter/evented_mongrel.rb +0 -7
- data/lib/ramaze/adapter/fcgi.rb +0 -24
- data/lib/ramaze/adapter/lsws.rb +0 -23
- data/lib/ramaze/adapter/mongrel.rb +0 -25
- data/lib/ramaze/adapter/scgi.rb +0 -22
- data/lib/ramaze/adapter/swiftiplied_mongrel.rb +0 -7
- data/lib/ramaze/adapter/thin.rb +0 -22
- data/lib/ramaze/adapter/webrick.rb +0 -52
- data/lib/ramaze/adapter.rb +0 -101
- data/lib/ramaze/cache/memcached.rb +0 -70
- data/lib/ramaze/cache/memory.rb +0 -6
- data/lib/ramaze/cache/yaml_store.rb +0 -68
- data/lib/ramaze/contrib/auto_params/get_args.rb +0 -57
- data/lib/ramaze/contrib/auto_params.rb +0 -135
- data/lib/ramaze/contrib/email.rb +0 -84
- data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
- data/lib/ramaze/contrib/facebook.rb +0 -23
- data/lib/ramaze/contrib/file_cache.rb +0 -65
- data/lib/ramaze/contrib/gettext/mo.rb +0 -155
- data/lib/ramaze/contrib/gettext/parser.rb +0 -46
- data/lib/ramaze/contrib/gettext/po.rb +0 -109
- data/lib/ramaze/contrib/gettext.rb +0 -113
- data/lib/ramaze/contrib/gzip_filter.rb +0 -56
- data/lib/ramaze/contrib/profiling.rb +0 -36
- data/lib/ramaze/contrib/route.rb +0 -22
- data/lib/ramaze/contrib/sequel/fill.rb +0 -12
- data/lib/ramaze/contrib/sequel_cache.rb +0 -92
- data/lib/ramaze/contrib.rb +0 -82
- data/lib/ramaze/controller/error.rb +0 -46
- data/lib/ramaze/controller/main.rb +0 -2
- data/lib/ramaze/controller/resolve.rb +0 -234
- data/lib/ramaze/current/request.rb +0 -181
- data/lib/ramaze/current/response.rb +0 -19
- data/lib/ramaze/current/session/flash.rb +0 -67
- data/lib/ramaze/current/session/hash.rb +0 -65
- data/lib/ramaze/current/session.rb +0 -153
- data/lib/ramaze/dispatcher/action.rb +0 -40
- data/lib/ramaze/dispatcher/directory.rb +0 -116
- data/lib/ramaze/dispatcher/error.rb +0 -108
- data/lib/ramaze/dispatcher/file.rb +0 -87
- data/lib/ramaze/dispatcher.rb +0 -124
- data/lib/ramaze/error.rb +0 -24
- data/lib/ramaze/global/dsl.rb +0 -39
- data/lib/ramaze/global/globalstruct.rb +0 -147
- data/lib/ramaze/global.rb +0 -116
- data/lib/ramaze/helper/aspect.rb +0 -100
- data/lib/ramaze/helper/cgi.rb +0 -43
- data/lib/ramaze/helper/inform.rb +0 -40
- data/lib/ramaze/helper/nitroform.rb +0 -14
- data/lib/ramaze/helper/pager.rb +0 -366
- data/lib/ramaze/helper/partial.rb +0 -96
- data/lib/ramaze/helper/redirect.rb +0 -73
- data/lib/ramaze/helper/sendfile.rb +0 -18
- data/lib/ramaze/helper/sequel.rb +0 -52
- data/lib/ramaze/inform.rb +0 -4
- data/lib/ramaze/log/analogger.rb +0 -37
- data/lib/ramaze/log/growl.rb +0 -35
- data/lib/ramaze/log/knotify.rb +0 -25
- data/lib/ramaze/log/xosd.rb +0 -88
- data/lib/ramaze/route.rb +0 -84
- data/lib/ramaze/snippets/array/put_within.rb +0 -37
- data/lib/ramaze/snippets/binding/locals.rb +0 -13
- data/lib/ramaze/snippets/dictionary.rb +0 -504
- data/lib/ramaze/snippets/divide.rb +0 -20
- data/lib/ramaze/snippets/kernel/__dir__.rb +0 -23
- data/lib/ramaze/snippets/kernel/acquire.rb +0 -39
- data/lib/ramaze/snippets/kernel/aquire.rb +0 -1
- data/lib/ramaze/snippets/kernel/constant.rb +0 -26
- data/lib/ramaze/snippets/kernel/pretty_inspect.rb +0 -15
- data/lib/ramaze/snippets/metaid.rb +0 -17
- data/lib/ramaze/snippets/numeric/filesize_format.rb +0 -19
- data/lib/ramaze/snippets/object/pretty.rb +0 -6
- data/lib/ramaze/snippets/object/scope.rb +0 -11
- data/lib/ramaze/snippets/object/thread_accessor.rb +0 -5
- data/lib/ramaze/snippets/object/traits.rb +0 -76
- data/lib/ramaze/snippets/ordered_set.rb +0 -36
- data/lib/ramaze/snippets/proc/locals.rb +0 -11
- data/lib/ramaze/snippets/ramaze/caller_info.rb +0 -30
- data/lib/ramaze/snippets/ramaze/caller_lines.rb +0 -51
- data/lib/ramaze/snippets/ramaze/thread_accessor.rb +0 -44
- data/lib/ramaze/snippets/string/each.rb +0 -8
- data/lib/ramaze/snippets/string/ord.rb +0 -15
- data/lib/ramaze/snippets/string/start_with.rb +0 -7
- data/lib/ramaze/snippets/struct/fill.rb +0 -23
- data/lib/ramaze/snippets/struct/values_at.rb +0 -23
- data/lib/ramaze/snippets/symbol/to_proc.rb +0 -24
- data/lib/ramaze/snippets/thread/into.rb +0 -18
- data/lib/ramaze/sourcereload.rb +0 -169
- data/lib/ramaze/spec/helper/browser.rb +0 -88
- data/lib/ramaze/spec/helper/mock_http.rb +0 -69
- data/lib/ramaze/spec/helper/requester.rb +0 -49
- data/lib/ramaze/spec/helper/simple_http.rb +0 -434
- data/lib/ramaze/spec/helper.rb +0 -122
- data/lib/ramaze/spec.rb +0 -1
- data/lib/ramaze/store/default.rb +0 -109
- data/lib/ramaze/template/amrita2.rb +0 -44
- data/lib/ramaze/template/builder.rb +0 -28
- data/lib/ramaze/template/erubis.rb +0 -35
- data/lib/ramaze/template/ezamar/element.rb +0 -169
- data/lib/ramaze/template/ezamar/engine.rb +0 -76
- data/lib/ramaze/template/ezamar/morpher.rb +0 -135
- data/lib/ramaze/template/ezamar/render_partial.rb +0 -31
- data/lib/ramaze/template/ezamar.rb +0 -42
- data/lib/ramaze/template/haml.rb +0 -37
- data/lib/ramaze/template/liquid.rb +0 -36
- data/lib/ramaze/template/markaby.rb +0 -52
- data/lib/ramaze/template/nagoro.rb +0 -51
- data/lib/ramaze/template/none.rb +0 -14
- data/lib/ramaze/template/redcloth.rb +0 -24
- data/lib/ramaze/template/remarkably.rb +0 -38
- data/lib/ramaze/template/sass.rb +0 -37
- data/lib/ramaze/template/tagz.rb +0 -79
- data/lib/ramaze/template/tenjin.rb +0 -34
- data/lib/ramaze/template/xslt.rb +0 -96
- data/lib/ramaze/template.rb +0 -81
- data/lib/ramaze/tool/create.rb +0 -74
- data/lib/ramaze/tool/localize.rb +0 -162
- data/lib/ramaze/tool/mime.rb +0 -25
- data/lib/ramaze/tool/mime_types.yaml +0 -615
- data/lib/ramaze/tool/record.rb +0 -6
- data/lib/ramaze/tool.rb +0 -9
- data/lib/ramaze/trinity.rb +0 -13
- data/lib/vendor/bacon.rb +0 -323
- data/rake_tasks/conf.rake +0 -73
- data/rake_tasks/coverage.rake +0 -46
- data/rake_tasks/darcs.rake +0 -5
- data/rake_tasks/gem.rake +0 -43
- data/rake_tasks/maintenance.rake +0 -384
- data/rake_tasks/spec.rake +0 -62
- data/spec/contrib/auto_params.rb +0 -121
- data/spec/contrib/profiling.rb +0 -26
- data/spec/contrib/route.rb +0 -36
- data/spec/contrib/sequel/fill.rb +0 -47
- data/spec/examples/simple_auth.rb +0 -32
- data/spec/examples/templates/template_amrita2.rb +0 -16
- data/spec/examples/templates/template_redcloth.rb +0 -28
- data/spec/ramaze/action/basics.rb +0 -36
- data/spec/ramaze/action/cache.rb +0 -43
- data/spec/ramaze/action/layout.rb +0 -190
- data/spec/ramaze/adapter/mongrel.rb +0 -12
- data/spec/ramaze/adapter/record.rb +0 -31
- data/spec/ramaze/adapter/webrick.rb +0 -12
- data/spec/ramaze/adapter.rb +0 -22
- data/spec/ramaze/cache.rb +0 -73
- data/spec/ramaze/controller.rb +0 -177
- data/spec/ramaze/current/request.rb +0 -30
- data/spec/ramaze/current/session.rb +0 -97
- data/spec/ramaze/dispatcher.rb +0 -31
- data/spec/ramaze/element.rb +0 -107
- data/spec/ramaze/helper/aspect.rb +0 -92
- data/spec/ramaze/helper/cgi.rb +0 -43
- data/spec/ramaze/helper/file.rb +0 -18
- data/spec/ramaze/helper/pager.rb +0 -99
- data/spec/ramaze/helper/partial.rb +0 -76
- data/spec/ramaze/helper/redirect.rb +0 -112
- data/spec/ramaze/localize.rb +0 -67
- data/spec/ramaze/morpher.rb +0 -111
- data/spec/ramaze/public/error404.xhtml +0 -1
- data/spec/ramaze/request/mongrel.rb +0 -9
- data/spec/ramaze/request/thin.rb +0 -9
- data/spec/ramaze/request/webrick.rb +0 -5
- data/spec/ramaze/route.rb +0 -130
- data/spec/ramaze/session.rb +0 -94
- data/spec/ramaze/store/default.rb +0 -71
- data/spec/ramaze/template/amrita2/external.amrita +0 -6
- data/spec/ramaze/template/amrita2/sum.amrita +0 -1
- data/spec/ramaze/template/amrita2.rb +0 -50
- data/spec/ramaze/template/builder/external.rxml +0 -3
- data/spec/ramaze/template/builder.rb +0 -55
- data/spec/ramaze/template/erubis/sum.rhtml +0 -1
- data/spec/ramaze/template/erubis.rb +0 -41
- data/spec/ramaze/template/ezamar/another/long/action.zmr +0 -1
- data/spec/ramaze/template/ezamar/combined.zmr +0 -1
- data/spec/ramaze/template/ezamar/file_only.zmr +0 -1
- data/spec/ramaze/template/ezamar/index.zmr +0 -1
- data/spec/ramaze/template/ezamar/nested.zmr +0 -1
- data/spec/ramaze/template/ezamar/other__index.xhtml +0 -1
- data/spec/ramaze/template/ezamar/some__long__action.zmr +0 -1
- data/spec/ramaze/template/ezamar/sum.zmr +0 -1
- data/spec/ramaze/template/ezamar.rb +0 -63
- data/spec/ramaze/template/haml/index.haml +0 -5
- data/spec/ramaze/template/haml/locals.haml +0 -2
- data/spec/ramaze/template/haml/with_vars.haml +0 -4
- data/spec/ramaze/template/haml.rb +0 -66
- data/spec/ramaze/template/liquid/index.liquid +0 -1
- data/spec/ramaze/template/liquid/products.liquid +0 -45
- data/spec/ramaze/template/liquid.rb +0 -99
- data/spec/ramaze/template/markaby/external.mab +0 -8
- data/spec/ramaze/template/markaby/sum.mab +0 -1
- data/spec/ramaze/template/markaby.rb +0 -61
- data/spec/ramaze/template/nagoro/another/long/action.nag +0 -1
- data/spec/ramaze/template/nagoro/combined.nag +0 -1
- data/spec/ramaze/template/nagoro/file_only.nag +0 -1
- data/spec/ramaze/template/nagoro/index.nag +0 -1
- data/spec/ramaze/template/nagoro/nested.nag +0 -1
- data/spec/ramaze/template/nagoro/some__long__action.nag +0 -1
- data/spec/ramaze/template/nagoro/sum.nag +0 -1
- data/spec/ramaze/template/nagoro.rb +0 -64
- data/spec/ramaze/template/redcloth/external.redcloth +0 -1
- data/spec/ramaze/template/redcloth.rb +0 -38
- data/spec/ramaze/template/remarkably.rb +0 -58
- data/spec/ramaze/template/sass.rb +0 -69
- data/spec/ramaze/template/tenjin/external.tenjin +0 -1
- data/spec/ramaze/template/tenjin.rb +0 -49
- data/spec/ramaze/template/xslt/concat_words.xsl +0 -16
- data/spec/ramaze/template/xslt/index.xsl +0 -14
- data/spec/ramaze/template/xslt/products.xsl +0 -32
- data/spec/ramaze/template/xslt/ruby_version.xsl +0 -14
- data/spec/ramaze/template/xslt.rb +0 -90
- data/spec/ramaze/template.rb +0 -128
- data/spec/snippets/array/put_within.rb +0 -33
- data/spec/snippets/divide.rb +0 -19
- data/spec/snippets/kernel/__dir__.rb +0 -8
- data/spec/snippets/kernel/acquire.rb +0 -71
- data/spec/snippets/kernel/constant.rb +0 -23
- data/spec/snippets/numeric/filesize_format.rb +0 -12
- data/spec/snippets/ordered_set.rb +0 -63
- data/spec/snippets/ramaze/caller_info.rb +0 -39
- data/spec/snippets/ramaze/caller_lines.rb +0 -30
- data/spec/snippets/struct/fill.rb +0 -26
- data/spec/snippets/struct/values_at.rb +0 -44
- data/spec/snippets/symbol/to_proc.rb +0 -13
- data/spec/snippets/thread/into.rb +0 -20
- /data/examples/{todolist → app/todolist}/public/favicon.ico +0 -0
- /data/examples/{upload → app/upload}/view/index.xhtml +0 -0
- /data/examples/{wikore/template → app/wikore/view}/index.xhtml +0 -0
- /data/examples/{wiktacular → app/wiktacular}/README +0 -0
- /data/examples/{wiktacular → app/wiktacular}/mkd/link/2007-07-20_19-45-51.mkd +0 -0
- /data/examples/{wiktacular → app/wiktacular}/mkd/link/current.mkd +0 -0
- /data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_16-31-33.mkd +0 -0
- /data/examples/{wiktacular → app/wiktacular}/public/favicon.ico +0 -0
- /data/examples/{wiktacular → app/wiktacular}/public/screen.css +0 -0
- /data/examples/{wiktacular/template → app/wiktacular/view}/index.xhtml +0 -0
- /data/examples/{identity.rb → helpers/identity.rb} +0 -0
- /data/examples/{facebook.rb → misc/facebook.rb} +0 -0
- /data/examples/templates/{template → view}/external.liquid +0 -0
- /data/spec/ramaze/action/{template → view}/bar.xhtml +0 -0
- /data/spec/ramaze/action/{template → view}/instancevars/layout.xhtml +0 -0
- /data/spec/ramaze/action/{template → view}/other_wrapper.xhtml +0 -0
- /data/spec/ramaze/action/{template → view}/single_wrapper.xhtml +0 -0
- /data/spec/ramaze/action/{template/sub/sub_wrapper.xhtml → view/sub/sub_wrapper.erb} +0 -0
- /data/spec/ramaze/controller/{template → view}/greet.xhtml +0 -0
- /data/spec/ramaze/controller/{template → view}/list.xhtml +0 -0
- /data/spec/ramaze/controller/{template → view}/other/greet/other.xhtml +0 -0
- /data/spec/ramaze/controller/{template → view}/other_wrapper.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/locals.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/loop.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/num.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/partial.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/recursive.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/recursive_local_ivars.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/recursive_locals.xhtml +0 -0
- /data/spec/ramaze/helper/{template → view}/test_template.xhtml +0 -0
- /data/spec/ramaze/{template → view}/remarkably/external.rem +0 -0
- /data/spec/ramaze/{template → view}/remarkably/sum.rem +0 -0
- /data/spec/ramaze/{template → view}/sass/file.css.sass +0 -0
- /data/spec/ramaze/{template → view}/tagz/external.tagz +0 -0
- /data/spec/ramaze/{template → view}/tagz/sum.tagz +0 -0
@@ -1,69 +0,0 @@
|
|
1
|
-
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
-
|
4
|
-
require 'ramaze'
|
5
|
-
require 'rack/mock'
|
6
|
-
|
7
|
-
module Ramaze
|
8
|
-
module Adapter
|
9
|
-
class Fake < Base
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
module MockHTTP
|
15
|
-
DEFAULTS = {
|
16
|
-
'REMOTE_ADDR' => '127.0.0.1'
|
17
|
-
}
|
18
|
-
|
19
|
-
MOCK_URI = URI::HTTP.build(
|
20
|
-
:host => 'localhost',
|
21
|
-
:port => 80
|
22
|
-
)
|
23
|
-
|
24
|
-
FISHING = {
|
25
|
-
:input => :input,
|
26
|
-
:referrer => 'HTTP_REFERER',
|
27
|
-
:referer => 'HTTP_REFERER',
|
28
|
-
:cookie => 'HTTP_COOKIE',
|
29
|
-
:if_none_match=> 'HTTP_IF_NONE_MATCH',
|
30
|
-
:if_modified_since=> 'HTTP_IF_MODIFIED_SINCE',
|
31
|
-
}
|
32
|
-
|
33
|
-
MOCK_REQUEST = ::Rack::MockRequest.new(Ramaze::Adapter::Fake)
|
34
|
-
|
35
|
-
def get(*args) mock_request(:get, *args) end
|
36
|
-
def put(*args) mock_request(:put, *args) end
|
37
|
-
def post(*args) mock_request(:post, *args) end
|
38
|
-
def delete(*args) mock_request(:delete, *args) end
|
39
|
-
|
40
|
-
def mock_request(meth, path, query = {})
|
41
|
-
uri, options = process_request(path, query)
|
42
|
-
MOCK_REQUEST.send(meth, uri, DEFAULTS.merge(options))
|
43
|
-
end
|
44
|
-
|
45
|
-
def raw_mock_request(meth, uri, options = {})
|
46
|
-
MOCK_REQUEST.send(meth, uri, DEFAULTS.merge(options))
|
47
|
-
end
|
48
|
-
|
49
|
-
def process_request(path, query)
|
50
|
-
options = {}
|
51
|
-
FISHING.each{|key, value|
|
52
|
-
options[value] = query.delete(key)} if query.is_a?(Hash)
|
53
|
-
[create_url(path, query), options]
|
54
|
-
end
|
55
|
-
|
56
|
-
def create_url(path, query)
|
57
|
-
uri = MOCK_URI.dup
|
58
|
-
uri.path = path
|
59
|
-
uri.query = make_query(query)
|
60
|
-
uri.to_s
|
61
|
-
end
|
62
|
-
|
63
|
-
def make_query query
|
64
|
-
return query unless query and not query.is_a?(String)
|
65
|
-
query.map{|key, value|
|
66
|
-
"#{CGI::escape(key.to_s)}=#{CGI::escape(value.to_s)}"
|
67
|
-
}.join('&')
|
68
|
-
end
|
69
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
-
|
4
|
-
module Requester
|
5
|
-
def get url = '/', hash = {}
|
6
|
-
request(:get, url, hash)
|
7
|
-
end
|
8
|
-
|
9
|
-
def post url = '/', hash = {}
|
10
|
-
request(:post, url, hash)
|
11
|
-
end
|
12
|
-
|
13
|
-
def request method, url, hash = {}
|
14
|
-
http = SimpleHttp.new(url2uri(url))
|
15
|
-
if method == :get and not hash.empty?
|
16
|
-
http.uri.query = hash.map{|k,v| "#{k}=#{v}"}.join('&')
|
17
|
-
hash = {}
|
18
|
-
end
|
19
|
-
|
20
|
-
puts "#{method.to_s.upcase} => #{http.uri}"
|
21
|
-
http.send(method, hash).strip
|
22
|
-
end
|
23
|
-
|
24
|
-
def epost url = '/', hash = {}
|
25
|
-
erequest(:post, url, hash)
|
26
|
-
end
|
27
|
-
|
28
|
-
def eget url = '/', hash = {}
|
29
|
-
erequest(:get, url, hash)
|
30
|
-
end
|
31
|
-
|
32
|
-
def erequest method, url, hash = {}
|
33
|
-
response = request(method, url, hash)
|
34
|
-
eval(response)
|
35
|
-
rescue Object => ex
|
36
|
-
p :response => response
|
37
|
-
ex.message
|
38
|
-
end
|
39
|
-
|
40
|
-
def url2uri url
|
41
|
-
uri = URI.parse(url)
|
42
|
-
#p uri.methods.sort.grep(/=/)
|
43
|
-
uri.scheme = 'http'
|
44
|
-
uri.host = 'localhost'
|
45
|
-
uri.port = Ramaze::Global.port
|
46
|
-
uri.path = "/#{url}".squeeze('/')
|
47
|
-
uri
|
48
|
-
end
|
49
|
-
end
|
@@ -1,434 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
This package is copyrighted free software by Tim Becker <tim@kuriositaet.de>.
|
3
|
-
You can redistribute it and/or modify it under either the terms of the GPL
|
4
|
-
(see COPYING.txt file), or the conditions below:
|
5
|
-
|
6
|
-
1. You may make and give away verbatim copies of the source form of the
|
7
|
-
software without restriction, provided that you duplicate all of the
|
8
|
-
original copyright notices and associated disclaimers.
|
9
|
-
|
10
|
-
2. You may modify your copy of the software in any way, provided that
|
11
|
-
you do at least ONE of the following:
|
12
|
-
|
13
|
-
a) place your modifications in the Public Domain or otherwise
|
14
|
-
make them Freely Available, such as by posting said
|
15
|
-
modifications to Usenet or an equivalent medium, or by allowing
|
16
|
-
the author to include your modifications in the software.
|
17
|
-
|
18
|
-
b) use the modified software only within your corporation or
|
19
|
-
organization.
|
20
|
-
|
21
|
-
c) rename any non-standard executables so the names do not conflict
|
22
|
-
with standard executables, which must also be provided.
|
23
|
-
|
24
|
-
d) make other distribution arrangements with the author.
|
25
|
-
|
26
|
-
3. You may distribute the software in object code or executable
|
27
|
-
form, provided that you do at least ONE of the following:
|
28
|
-
|
29
|
-
a) distribute the executables and library files of the software,
|
30
|
-
together with instructions (in the manual page or equivalent)
|
31
|
-
on where to get the original distribution.
|
32
|
-
|
33
|
-
b) accompany the distribution with the machine-readable source of
|
34
|
-
the software.
|
35
|
-
|
36
|
-
c) give non-standard executables non-standard names, with
|
37
|
-
instructions on where to get the original software distribution.
|
38
|
-
|
39
|
-
d) make other distribution arrangements with the author.
|
40
|
-
|
41
|
-
4. You may modify and include the part of the software into any other
|
42
|
-
software (possibly commercial). But some files in the distribution
|
43
|
-
are not written by the author, so that they are not under this terms.
|
44
|
-
|
45
|
-
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
46
|
-
files under the ./missing directory. See each file for the copying
|
47
|
-
condition.
|
48
|
-
|
49
|
-
5. The scripts and library files supplied as input to or produced as
|
50
|
-
output from the software do not automatically fall under the
|
51
|
-
copyright of the software, but belong to whomever generated them,
|
52
|
-
and may be sold commercially, and may be aggregated with this
|
53
|
-
software.
|
54
|
-
|
55
|
-
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
56
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
57
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
58
|
-
PURPOSE.
|
59
|
-
=end
|
60
|
-
|
61
|
-
require 'net/http'
|
62
|
-
require 'net/https'
|
63
|
-
require 'uri'
|
64
|
-
require 'cgi'
|
65
|
-
|
66
|
-
|
67
|
-
# Wrapper around ruby's standard net/http classes. Currently, only GET
|
68
|
-
# and POST https methods are supported. `SimpleHttp` provides class
|
69
|
-
# methods `get` and `post` to handle basic functionality. In case more
|
70
|
-
# complicated requests need to be made or default settings need to be
|
71
|
-
# overriden, it's possible to instantiate `SimpleHttp` and use instance
|
72
|
-
# methods `get` and `put`.
|
73
|
-
#
|
74
|
-
#
|
75
|
-
# Features:
|
76
|
-
#
|
77
|
-
# * Handles Redirects automatically
|
78
|
-
# * Proxy used transparently if http_proxy environment variable is
|
79
|
-
# set.
|
80
|
-
# * SSL handled automatically
|
81
|
-
# * fault tolerant uri, e.g. all of these would work:
|
82
|
-
# "www.example.com", "www.example.com/", "http://www.example.com"
|
83
|
-
#
|
84
|
-
# Some usage examples:
|
85
|
-
# # plain GET (using class methods)
|
86
|
-
# SimpleHttp.get "www.example.com"
|
87
|
-
#
|
88
|
-
# # POST using the instance methods
|
89
|
-
# uri = URI.parse "https://www.example.com/index.html"
|
90
|
-
# sh = SimpleHttp uri
|
91
|
-
# sh.set_proxy "my.proxy", "8080"
|
92
|
-
# sh.post {"query" => "query_data"}
|
93
|
-
#
|
94
|
-
# # POST using class methods.
|
95
|
-
# binaryData = getImage
|
96
|
-
# SimpleData.post binaryData, "image/png"
|
97
|
-
#
|
98
|
-
# # GET requst with a custom request_header
|
99
|
-
# sh = SimpleHttp.new "http://www.example.com"
|
100
|
-
# sh.request_headers= {'X-Special-Http-Header'=>'my-value'}
|
101
|
-
# sh.get
|
102
|
-
class SimpleHttp
|
103
|
-
|
104
|
-
VERSION='0.1.1'
|
105
|
-
|
106
|
-
attr_accessor :proxy_host, :proxy_port, :proxy_user, :proxy_pwd, :uri, :request_headers, :response_headers, :response_handlers, :follow_num_redirects
|
107
|
-
|
108
|
-
RESPONSE_HANDLERS = {
|
109
|
-
Net::HTTPResponse => lambda { |request, response, http|
|
110
|
-
response.each_header {|key, value|
|
111
|
-
http.response_headers[key]=value
|
112
|
-
}
|
113
|
-
raise response.to_s
|
114
|
-
},
|
115
|
-
Net::HTTPSuccess => lambda { |request, response, http|
|
116
|
-
response.each_header {|key, value|
|
117
|
-
http.response_headers[key]=value
|
118
|
-
}
|
119
|
-
return response.body
|
120
|
-
},
|
121
|
-
Net::HTTPRedirection => lambda { |request, response, http|
|
122
|
-
raise "too many redirects!" unless http.follow_num_redirects > 0
|
123
|
-
|
124
|
-
# create a new SimpleHttp for the location
|
125
|
-
# refered to decreasing the remaining redirects
|
126
|
-
# by one.
|
127
|
-
sh = SimpleHttp.new response['location']
|
128
|
-
sh.follow_num_redirects = http.follow_num_redirects-1
|
129
|
-
|
130
|
-
# copy the response handlers used in the current
|
131
|
-
# request in case they were non standard.
|
132
|
-
sh.response_handlers = http.response_handlers
|
133
|
-
|
134
|
-
# copy the request headers
|
135
|
-
sh.request_headers = http.request_headers
|
136
|
-
sh.response_headers = http.response_headers
|
137
|
-
|
138
|
-
# copy host and port
|
139
|
-
sh.uri.host = http.uri.host
|
140
|
-
sh.uri.port = http.uri.port
|
141
|
-
|
142
|
-
# http doesn't permit redirects for methods
|
143
|
-
# other than GET of HEAD, so we complain in case
|
144
|
-
# we get them in response to a POST request. (Or
|
145
|
-
# anything other than GET, for that matter.)
|
146
|
-
|
147
|
-
case request
|
148
|
-
when Net::HTTP::Get
|
149
|
-
sh.get
|
150
|
-
when Net::HTTP::Post
|
151
|
-
sh.post
|
152
|
-
else
|
153
|
-
raise "Not a valid HTTP method for redirection: #{request.class}"
|
154
|
-
end
|
155
|
-
}
|
156
|
-
|
157
|
-
}
|
158
|
-
|
159
|
-
# SimpleHttp can either be used directly through the +get+ and
|
160
|
-
# +post+ class methods or be instantiated, in case you need to
|
161
|
-
# to add custom behaviour to the requests.
|
162
|
-
#
|
163
|
-
# @param may be a URI or a String.
|
164
|
-
#
|
165
|
-
# Example:
|
166
|
-
# http = SimpleHttp.new(URI.parse("http://www.example.com"))
|
167
|
-
# http = SimpleHttp.new "www.example.com"
|
168
|
-
# http = SimpleHttp.new "http://usr:pwd@www.example.com:1234"
|
169
|
-
def initialize uri
|
170
|
-
set_proxy ENV['http_proxy'] if ENV['http_proxy']
|
171
|
-
|
172
|
-
if uri.class == String
|
173
|
-
|
174
|
-
unless uri =~ /^https?:\/\//
|
175
|
-
uri = "http://#{uri}"
|
176
|
-
end
|
177
|
-
|
178
|
-
uri = URI.parse uri
|
179
|
-
|
180
|
-
end
|
181
|
-
@uri = uri
|
182
|
-
if !@uri.path || "" == @uri.path.strip
|
183
|
-
@uri.path="/"
|
184
|
-
end
|
185
|
-
|
186
|
-
|
187
|
-
@request_headers={}
|
188
|
-
@response_headers={}
|
189
|
-
@response_handlers=RESPONSE_HANDLERS.clone
|
190
|
-
@follow_num_redirects=3
|
191
|
-
|
192
|
-
if @uri.user
|
193
|
-
basic_authentication @uri.user, @uri.password
|
194
|
-
end
|
195
|
-
|
196
|
-
end
|
197
|
-
|
198
|
-
#
|
199
|
-
# Provides facilities to perform http basic authentication. You
|
200
|
-
# don't need to provide +usr+ and +pwd+ if they are already included
|
201
|
-
# in the uri, i.e. http://user:password@www.example.com/
|
202
|
-
#
|
203
|
-
|
204
|
-
def basic_authentication usr, pwd
|
205
|
-
str = ["#{usr}:#{pwd}"].pack("*m")
|
206
|
-
str = "Basic #{str}"
|
207
|
-
@request_headers["Authorization"]=str
|
208
|
-
end
|
209
|
-
|
210
|
-
#
|
211
|
-
# this method can be used to register response handlers for specific
|
212
|
-
# http responses in case you need to override the default behaviour.
|
213
|
-
# Defaults are:
|
214
|
-
#
|
215
|
-
# HTTPSuccess : return the body of the response
|
216
|
-
# HTTPRedirection : follow the redirection until success
|
217
|
-
# Others : raise an exception
|
218
|
-
#
|
219
|
-
# `clazz` is the subclass of HTTPResponse (or HTTPResponse in case you
|
220
|
-
# want to define "default" behaviour) that you are registering the
|
221
|
-
# handler for.
|
222
|
-
#
|
223
|
-
# `block` is the handler itself, if a response of the appropriate class
|
224
|
-
# is received, `block` is called with three parameters: the the
|
225
|
-
# Net::HTTPRequest, the actual HTTPResponse object that was received
|
226
|
-
# and a reference to the instance of `SimpleHttp` that is executing the
|
227
|
-
# call.
|
228
|
-
#
|
229
|
-
# example:
|
230
|
-
#
|
231
|
-
# # to override the default action of following a HTTP
|
232
|
-
# # redirect, you could register the folllowing handler:
|
233
|
-
#
|
234
|
-
# sh = SimpleHttp "www.example.com"
|
235
|
-
# sh.register_response_handler Net::HTTPRedirection {|request, response, shttp|
|
236
|
-
# response['location']
|
237
|
-
# }
|
238
|
-
#
|
239
|
-
|
240
|
-
def register_response_handler clazz, &block
|
241
|
-
c = clazz
|
242
|
-
while c != Object
|
243
|
-
# completely unnecessary sanity check to make sure parameter
|
244
|
-
# `clazz` is in fact a HTTPResponse ...
|
245
|
-
if c == Net::HTTPResponse
|
246
|
-
@response_handlers[clazz]=block
|
247
|
-
return
|
248
|
-
end
|
249
|
-
c = c.superclass
|
250
|
-
end
|
251
|
-
|
252
|
-
raise "Trying to register a response handler for non-response class: #{clazz}"
|
253
|
-
end
|
254
|
-
|
255
|
-
#
|
256
|
-
# Set the proxy to use for the http request.
|
257
|
-
# Note that you don't need to set the proxy in case the
|
258
|
-
# `http_proxy` environment variable is set. To override
|
259
|
-
# previous proxy settings and connect directly, call
|
260
|
-
# `set_proxy nil`
|
261
|
-
#
|
262
|
-
# usage:
|
263
|
-
# http = SimpleHttp.new "www.example.com"
|
264
|
-
#
|
265
|
-
# http.set_proxy "http://proxy:8000"
|
266
|
-
# or:
|
267
|
-
# http.set_proxy(URI.parse("http://proxy:8000"))
|
268
|
-
# or:
|
269
|
-
# http.set_proxy 'proxy', '8000', 'my_user', 'secret'
|
270
|
-
# or:
|
271
|
-
# http.set_proxy nil # to override previous proxy
|
272
|
-
# settings and make the request directly.
|
273
|
-
#
|
274
|
-
|
275
|
-
|
276
|
-
def set_proxy proxy, port=nil, user=nil, pwd=nil
|
277
|
-
|
278
|
-
|
279
|
-
if !proxy
|
280
|
-
@proxy_host=@proxy_port=@proxy_user=@proxy_pwd=nil
|
281
|
-
return
|
282
|
-
end
|
283
|
-
|
284
|
-
if proxy.class == String
|
285
|
-
if !port && !user && !pwd
|
286
|
-
proxy = URI.parse(proxy)
|
287
|
-
else
|
288
|
-
@proxy_host= host
|
289
|
-
@proxy_port= port
|
290
|
-
@proxy_user= user
|
291
|
-
@proxy_pwd = pwd
|
292
|
-
end
|
293
|
-
end
|
294
|
-
|
295
|
-
if proxy.class == URI::HTTP
|
296
|
-
@proxy_host= proxy.host
|
297
|
-
@proxy_port= proxy.port
|
298
|
-
@proxy_user= proxy.user
|
299
|
-
@proxy_pwd = proxy.password
|
300
|
-
end
|
301
|
-
end
|
302
|
-
|
303
|
-
# interal
|
304
|
-
# Takes a HTTPResponse (or subclass) and determines how to
|
305
|
-
# handle the response. Default behaviour is:
|
306
|
-
#
|
307
|
-
# HTTPSuccess : return the body of the response
|
308
|
-
# HTTPRedirection : follow the redirect until success.
|
309
|
-
# default : raise the HTTPResponse.
|
310
|
-
#
|
311
|
-
# the default behaviour can be overidden by registering a
|
312
|
-
# response handler using the `register_response_handler` method.
|
313
|
-
#
|
314
|
-
|
315
|
-
def handle_response http_request, http_response
|
316
|
-
raise "Not a Net::HTTPResponse" unless http_response.is_a? Net::HTTPResponse
|
317
|
-
|
318
|
-
c = http_response.class
|
319
|
-
while c!=Object
|
320
|
-
# the response_handlers hash contains a handler
|
321
|
-
# for the specific response class.
|
322
|
-
if @response_handlers[c]
|
323
|
-
return @response_handlers[c].call(http_request, http_response, self)
|
324
|
-
end
|
325
|
-
|
326
|
-
c=c.superclass
|
327
|
-
end
|
328
|
-
|
329
|
-
# if we reached this place, no handler was registered
|
330
|
-
# for this response. default is to return the response.
|
331
|
-
|
332
|
-
return http_response
|
333
|
-
end
|
334
|
-
|
335
|
-
# internal
|
336
|
-
def do_http request
|
337
|
-
response = nil
|
338
|
-
|
339
|
-
http = Net::HTTP.new(@uri.host, @uri.port, proxy_host,
|
340
|
-
proxy_port, proxy_user, proxy_pwd)
|
341
|
-
http.use_ssl = @uri.scheme == 'https'
|
342
|
-
|
343
|
-
# add custom request headers.
|
344
|
-
|
345
|
-
@request_headers.each {|key,value|
|
346
|
-
request[key]=value
|
347
|
-
}
|
348
|
-
|
349
|
-
handle_response(request, http.request(request))
|
350
|
-
end
|
351
|
-
|
352
|
-
# internal
|
353
|
-
def make_query query
|
354
|
-
return query unless query && query.class == Hash
|
355
|
-
query.inject([]) do |s, (key, value)|
|
356
|
-
s + [CGI::escape(key) + "=" + CGI::escape(value)]
|
357
|
-
end.join('&')
|
358
|
-
end
|
359
|
-
|
360
|
-
# Make a simple GET request to the provided URI.
|
361
|
-
#
|
362
|
-
# Example:
|
363
|
-
# puts(SimpleHttp.get("www.example.com"))
|
364
|
-
def self.get uri, query=nil
|
365
|
-
http = SimpleHttp.new uri
|
366
|
-
http.get query
|
367
|
-
end
|
368
|
-
|
369
|
-
# Make a POST request to the provided URI.
|
370
|
-
#
|
371
|
-
# Example:
|
372
|
-
# puts(SimpleHttp.post("www.example.com", "query"=>"my_query"))
|
373
|
-
#
|
374
|
-
# Alternatively, you can post any sort of data, but will have to
|
375
|
-
# set the appriate content_type:
|
376
|
-
#
|
377
|
-
# SimpleHttp.post("http://www.example.com/", binary_data, "img/png")
|
378
|
-
|
379
|
-
def self.post uri, query=nil, content_type='application/x-www-form-urlencoded'
|
380
|
-
http = SimpleHttp.new uri
|
381
|
-
http.post query, content_type
|
382
|
-
end
|
383
|
-
|
384
|
-
# Call the +get+ method as an instance method if you need to
|
385
|
-
# modify the default behaviour of the library, or set special
|
386
|
-
# headers:
|
387
|
-
#
|
388
|
-
# http = SimpleHttp.new "www.example.com"
|
389
|
-
# http.request_headers["X-Special"]="whatever"
|
390
|
-
# str = http.get
|
391
|
-
def get query = nil
|
392
|
-
if (query = make_query query)
|
393
|
-
@uri.query = @uri.query ? @uri.query+"&"+query : query
|
394
|
-
end
|
395
|
-
full_path = @uri.path + (@uri.query ? "?#{@uri.query}" : "")
|
396
|
-
|
397
|
-
req = Net::HTTP::Get.new(full_path)
|
398
|
-
# puts Net::HTTP::Proxy(@proxy_host, @proxy_port, @proxy_user, @proxy_pwd).get(@uri)
|
399
|
-
do_http req
|
400
|
-
end
|
401
|
-
|
402
|
-
#
|
403
|
-
# Post the query data to the url.
|
404
|
-
# The body of the request remains empty if query=nil.
|
405
|
-
# In case `query` is a `Hash`, it's assumed that we are
|
406
|
-
# sending a form.
|
407
|
-
# In case `query` is a `String`, it's also assumed that a
|
408
|
-
# form is being sent, UNLESS the `content_type` parameter
|
409
|
-
# is set.
|
410
|
-
#
|
411
|
-
def post query=nil, content_type='application/x-www-form-urlencoded'
|
412
|
-
req = Net::HTTP::Post.new(@uri.path)
|
413
|
-
|
414
|
-
req.body= make_query query if query
|
415
|
-
req.content_type=content_type if query
|
416
|
-
req.content_length=query ? req.body.length : 0
|
417
|
-
|
418
|
-
do_http req
|
419
|
-
end
|
420
|
-
|
421
|
-
end
|
422
|
-
|
423
|
-
#ht = SimpleHttp.new "http://www.google.com/aldfksjaldskjfalskjfdlk"
|
424
|
-
##ht.register_response_handler(Net::HTTPRedirection) {|req, res, ht| puts res['location']}
|
425
|
-
#puts ht.get.class
|
426
|
-
##puts(ht.get("q"=>"bla"))
|
427
|
-
#
|
428
|
-
##puts (SimpleHttp.get "http://www.google.com")
|
429
|
-
#
|
430
|
-
#['http://www.google.com/', 'www.google.com', 'https://www.google.com'].each {|u|
|
431
|
-
# SimpleHttp.new u
|
432
|
-
#}
|
433
|
-
##puts ht.post
|
434
|
-
|
data/lib/ramaze/spec/helper.rb
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubygems'
|
6
|
-
rescue LoadError
|
7
|
-
end
|
8
|
-
|
9
|
-
require 'ramaze'
|
10
|
-
require 'ramaze/spec/helper/bacon'
|
11
|
-
|
12
|
-
def ramaze(options = {})
|
13
|
-
appdir = File.dirname(caller[0].split(':').first)
|
14
|
-
options = {
|
15
|
-
:template_root => appdir/:template,
|
16
|
-
:public_root => appdir/:public,
|
17
|
-
:adapter => false,
|
18
|
-
:run_loose => true,
|
19
|
-
:error_page => false,
|
20
|
-
:port => 7007,
|
21
|
-
:host => '127.0.0.1',
|
22
|
-
:force => true,
|
23
|
-
:sourcereload => false,
|
24
|
-
:origin => :spec,
|
25
|
-
}.merge(options)
|
26
|
-
|
27
|
-
Ramaze.start(options)
|
28
|
-
end
|
29
|
-
|
30
|
-
SPEC_REQUIRE_DEPENDENCY = {
|
31
|
-
'sequel' => %w[sqlite3 sequel_model sequel_core]
|
32
|
-
}
|
33
|
-
|
34
|
-
# require each of the following and rescue LoadError, telling you why it failed.
|
35
|
-
def spec_require(*following)
|
36
|
-
following << following.map{|f| SPEC_REQUIRE_DEPENDENCY[f] }
|
37
|
-
following.flatten.uniq.compact.reverse.each do |file|
|
38
|
-
require file.to_s
|
39
|
-
end
|
40
|
-
rescue LoadError => ex
|
41
|
-
puts ex
|
42
|
-
puts "Can't run #{$0}: #{ex}"
|
43
|
-
puts "Usually you should not worry about this failure, just install the"
|
44
|
-
puts "library and try again (if you want to use that feature later on)"
|
45
|
-
exit
|
46
|
-
end
|
47
|
-
|
48
|
-
def testcase_requires(*following)
|
49
|
-
warn "'testcase_requires' is being deprecated, please use 'spec_require' instead"
|
50
|
-
spec_require(*following)
|
51
|
-
end
|
52
|
-
|
53
|
-
shared "http" do
|
54
|
-
require 'ramaze/spec/helper/mock_http'
|
55
|
-
extend MockHTTP
|
56
|
-
end
|
57
|
-
|
58
|
-
shared 'browser' do
|
59
|
-
require 'ramaze/spec/helper/simple_http'
|
60
|
-
require 'ramaze/spec/helper/browser'
|
61
|
-
end
|
62
|
-
|
63
|
-
shared 'requester' do
|
64
|
-
require 'ramaze/spec/helper/requester'
|
65
|
-
end
|
66
|
-
|
67
|
-
shared 'xpath' do
|
68
|
-
behaves_like 'http'
|
69
|
-
|
70
|
-
require 'rexml/document'
|
71
|
-
require 'rexml/xpath'
|
72
|
-
|
73
|
-
class Rack::MockResponse
|
74
|
-
def match(xpath = '*')
|
75
|
-
REXML::XPath::match(REXML::Document.new(body), xpath)
|
76
|
-
end
|
77
|
-
alias / match
|
78
|
-
alias search match
|
79
|
-
|
80
|
-
def first(xpath = '*')
|
81
|
-
REXML::XPath::first(REXML::Document.new(body), xpath)
|
82
|
-
end
|
83
|
-
alias at first
|
84
|
-
|
85
|
-
def each(xpath = '*', &block)
|
86
|
-
REXML::XPath::each(REXML::Document.new(body), xpath, &block)
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def xp_match(obj, xpath = '*')
|
91
|
-
XPath::match(rexml_doc(body), xpath, &block)
|
92
|
-
end
|
93
|
-
alias xp_search xp_match
|
94
|
-
|
95
|
-
def xp_first(obj, xpath = '*')
|
96
|
-
XPath::first(rexml_doc(body), xpath, &block)
|
97
|
-
end
|
98
|
-
alias xp_at xp_first
|
99
|
-
|
100
|
-
def xp_each(obj, xpath = '*', &block)
|
101
|
-
XPath::each(rexml_doc(body), xpath, &block)
|
102
|
-
end
|
103
|
-
|
104
|
-
def rexml_doc(obj)
|
105
|
-
case obj
|
106
|
-
when REXML::Document, REXML::Element
|
107
|
-
obj
|
108
|
-
else
|
109
|
-
REXML::Document.new(obj)
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
shared 'resolve' do
|
115
|
-
def resolve(url)
|
116
|
-
Ramaze::Controller::resolve(url)
|
117
|
-
end
|
118
|
-
|
119
|
-
def stack(url, &block)
|
120
|
-
resolve(url).stack(&block)
|
121
|
-
end
|
122
|
-
end
|
data/lib/ramaze/spec.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'ramaze/spec/helper'
|