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
@@ -0,0 +1,315 @@
|
|
1
|
+
require 'ramaze/gestalt'
|
2
|
+
|
3
|
+
module Ramaze
|
4
|
+
module Helper
|
5
|
+
# Helper for pagination and pagination-navigation.
|
6
|
+
#
|
7
|
+
# See {Ramaze::Helper::Paginate#paginate} for more information.
|
8
|
+
#
|
9
|
+
module Paginate
|
10
|
+
include Traited
|
11
|
+
|
12
|
+
# Define default options in your Controller, they are being retrieved by
|
13
|
+
# ancestral_trait, so you can also put it into a common superclass
|
14
|
+
trait :paginate => {
|
15
|
+
:limit => 10,
|
16
|
+
:var => 'pager',
|
17
|
+
:css => {
|
18
|
+
:first => 'first',
|
19
|
+
:prev => 'prev',
|
20
|
+
:next => 'next',
|
21
|
+
:last => 'last',
|
22
|
+
:current => 'current',
|
23
|
+
:number => '',
|
24
|
+
:disabled => 'grey'
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a new Paginator instance.
|
30
|
+
#
|
31
|
+
# Note that the pagination relies on being inside a Ramaze request to
|
32
|
+
# gain necessary metadata about the page it resides on, you cannot use it
|
33
|
+
# outside of Ramaze yet.
|
34
|
+
#
|
35
|
+
# The examples below are meant to be used within your controller or view.
|
36
|
+
#
|
37
|
+
# Usage with Array:
|
38
|
+
#
|
39
|
+
# data = (1..100).to_a
|
40
|
+
# @pager = paginate(data, :limit => 30, :page => 2)
|
41
|
+
# @pager.navigation
|
42
|
+
# @pager.each{|e| puts(e) }
|
43
|
+
#
|
44
|
+
# Usage with Sequel:
|
45
|
+
#
|
46
|
+
# data = Article.filter(:public => true)
|
47
|
+
# @pager = paginate(data, :limit => 5)
|
48
|
+
# @pager.navigation
|
49
|
+
# @pager.each{|e| puts(e)
|
50
|
+
#
|
51
|
+
# Note that you must first extend Sequel with the pagination extension"
|
52
|
+
#
|
53
|
+
# Sequel.extension :pagination
|
54
|
+
#
|
55
|
+
# Customizing the classes to use for the various HTML elements of the
|
56
|
+
# page list can be done by passing a key ``:css`` to the list of options.
|
57
|
+
# In this hash you can set the following keys:
|
58
|
+
#
|
59
|
+
# * first, defaults to "first"
|
60
|
+
# * prev, defaults to "prev"
|
61
|
+
# * next, defaults to "next"
|
62
|
+
# * last, defaults to "last"
|
63
|
+
# * current, defaults to "current"
|
64
|
+
# * number, empty by default
|
65
|
+
# * disabled, defaults to "grey"
|
66
|
+
#
|
67
|
+
# These options can also be specified globally in the trait ``:paginate``
|
68
|
+
# as following:
|
69
|
+
#
|
70
|
+
# class Posts < Ramaze::Controller
|
71
|
+
# map '/'
|
72
|
+
#
|
73
|
+
# trait :paginate => {
|
74
|
+
# :limit => 10,
|
75
|
+
# :var => 'page',
|
76
|
+
# :css => {
|
77
|
+
# :first => 'first_item',
|
78
|
+
# :prev => 'prev_item',
|
79
|
+
# # and so on.
|
80
|
+
# }
|
81
|
+
# }
|
82
|
+
# end
|
83
|
+
#
|
84
|
+
# @param [Sequel::Dataset|Array] dataset May be a Sequel dataset or an
|
85
|
+
# Array
|
86
|
+
# @param [Hash] options A hash containing custom options that takes
|
87
|
+
# precedence to ``trait[:paginate].
|
88
|
+
# @option options [Fixnum] :limit The number of elements used when you
|
89
|
+
# call #each on the paginator
|
90
|
+
# @option options [String] :var The variable name being used in the
|
91
|
+
# request, this is helpful if you want to use two or more independent
|
92
|
+
# paginations on the same page.
|
93
|
+
# @option options [Fixnum] :page The page you are currently on, if not
|
94
|
+
# given it will be retrieved from current request variables. Defaults to
|
95
|
+
# 1 if neither exists.
|
96
|
+
# @option options [Hash] :css A hash containing various options that can
|
97
|
+
# be used to customize the HTML classes to use for the various page
|
98
|
+
# links.
|
99
|
+
#
|
100
|
+
def paginate(dataset, options = {})
|
101
|
+
options = ancestral_trait[:paginate].merge(options)
|
102
|
+
limit = options[:limit]
|
103
|
+
var = options[:var]
|
104
|
+
page = options[:page] || (request[var] || 1).to_i
|
105
|
+
opts = {}
|
106
|
+
opts.merge!({:css => options[:css]}) if options[:css]
|
107
|
+
Paginator.new(dataset, page, limit, var, opts)
|
108
|
+
end
|
109
|
+
|
110
|
+
# Provides easy pagination and navigation
|
111
|
+
class Paginator
|
112
|
+
include Ramaze::Helper
|
113
|
+
helper :link, :cgi
|
114
|
+
attr_reader :css
|
115
|
+
|
116
|
+
def initialize(data = [], page = 1, limit = 10, var = 'pager', opts = {})
|
117
|
+
@data, @page, @limit, @var = data, page, limit, var
|
118
|
+
@css = Paginate.trait[:paginate][:css].dup
|
119
|
+
@css.merge!(opts[:css]) if opts[:css]
|
120
|
+
@pager = pager_for(data)
|
121
|
+
@page = @page > page_count ? page_count : @page
|
122
|
+
@pager = pager_for(data)
|
123
|
+
end
|
124
|
+
|
125
|
+
##
|
126
|
+
# Returns String with navigation div.
|
127
|
+
#
|
128
|
+
# This cannot be customized very nicely, but you can style it easily
|
129
|
+
# with CSS.
|
130
|
+
#
|
131
|
+
# Output with 5 elements, page 1, limit 3:
|
132
|
+
#
|
133
|
+
# <div class="pager">
|
134
|
+
# <span class="first grey"><<</span>
|
135
|
+
# <span class="previous grey"><</span>
|
136
|
+
# <a class="current" href="/index?pager=1">1</a>
|
137
|
+
# <a href="/index?pager=2">2</a>
|
138
|
+
# <a class="next" href="/index?pager=2">></a>
|
139
|
+
# <a class="last" href="/index?pager=2">>></a>
|
140
|
+
# </div>
|
141
|
+
#
|
142
|
+
# Output with 5 elements, page 2, limit 3:
|
143
|
+
#
|
144
|
+
# <div class="pager" />
|
145
|
+
# <a class="first" href="/index?user_page=1"><<</a>
|
146
|
+
# <a class="previous" href="/index?user_page=1"><</a>
|
147
|
+
# <a href="/index?user_page=1">1</a>
|
148
|
+
# <a class="current" href="/index?user_page=2">2</a>
|
149
|
+
# <span class="next grey">></span>
|
150
|
+
# <span class="last grey">>></span>
|
151
|
+
# </div>
|
152
|
+
#
|
153
|
+
def navigation(limit = 8)
|
154
|
+
g = Ramaze::Gestalt.new
|
155
|
+
g.div :class => :pager do
|
156
|
+
if first_page?
|
157
|
+
g.span(:class => "#{@css[:first]} #{@css[:disabled]}"){ h('<<') }
|
158
|
+
g.span(:class => "#{@css[:prev]} #{@css[:disabled]}"){ h('<') }
|
159
|
+
else
|
160
|
+
link(g, 1, '<<', :class => @css[:first])
|
161
|
+
link(g, prev_page, '<', :class => @css[:prev])
|
162
|
+
end
|
163
|
+
|
164
|
+
lower = limit ? (current_page - limit) : 1
|
165
|
+
lower = lower < 1 ? 1 : lower
|
166
|
+
|
167
|
+
(lower...current_page).each do |n|
|
168
|
+
link(g, n, n, :class => @css[:number])
|
169
|
+
end
|
170
|
+
|
171
|
+
link(g, current_page, current_page,
|
172
|
+
:class => "#{@css[:current]} #{@css[:number]}" )
|
173
|
+
|
174
|
+
if last_page?
|
175
|
+
g.span(:class => "#{@css[:next]} #{@css[:disabled]}"){ h('>') }
|
176
|
+
g.span(:class => "#{@css[:last]} #{@css[:disabled]}"){ h('>>') }
|
177
|
+
elsif next_page
|
178
|
+
higher = limit ? (next_page + limit) : page_count
|
179
|
+
higher = [higher, page_count].min
|
180
|
+
(next_page..higher).each do |n|
|
181
|
+
link(g, n, n, :class => @css[:number])
|
182
|
+
end
|
183
|
+
|
184
|
+
link(g, next_page, '>', :class => @css[:next])
|
185
|
+
link(g, page_count, '>>', :class => @css[:last])
|
186
|
+
end
|
187
|
+
end
|
188
|
+
g.to_s
|
189
|
+
end
|
190
|
+
|
191
|
+
# Useful to omit pager if it's of no use.
|
192
|
+
def needed?
|
193
|
+
@pager.page_count > 1
|
194
|
+
end
|
195
|
+
|
196
|
+
# these methods are actually on the pager, but we def them here for
|
197
|
+
# convenience (method_missing in helper is evil and even slower)
|
198
|
+
def page_count ; @pager.page_count ; end
|
199
|
+
def each(&block); @pager.each(&block); end
|
200
|
+
def first_page? ; @pager.first_page? ; end
|
201
|
+
def prev_page ; @pager.prev_page ; end
|
202
|
+
def current_page; @pager.current_page; end
|
203
|
+
def last_page ; @pager.last_page ; end
|
204
|
+
def last_page? ; @pager.last_page? ; end
|
205
|
+
def next_page ; @pager.next_page ; end
|
206
|
+
def empty? ; @pager.empty? ; end
|
207
|
+
def count ; @pager.count ; end
|
208
|
+
|
209
|
+
private
|
210
|
+
|
211
|
+
def pager_for(obj)
|
212
|
+
@page = @page < 1 ? 1 : @page
|
213
|
+
|
214
|
+
case obj
|
215
|
+
when Array
|
216
|
+
ArrayPager.new(obj, @page, @limit)
|
217
|
+
when (defined?(DataMapper::Collection) and DataMapper::Collection)
|
218
|
+
DataMapperPager.new(obj, @page, @limit)
|
219
|
+
else
|
220
|
+
obj.paginate(@page, @limit)
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
def link(g, n, text = n, hash = {})
|
225
|
+
text = h(text.to_s)
|
226
|
+
|
227
|
+
action = Current.action
|
228
|
+
params = request.params.merge(@var.to_s => n)
|
229
|
+
params.keys.each do |p|
|
230
|
+
if params[p].is_a?(Array) and not p.end_with?('[]')
|
231
|
+
params["#{p}[]"] = params.delete(p)
|
232
|
+
end
|
233
|
+
end
|
234
|
+
hash[:href] = action.node.r(action.path, params)
|
235
|
+
|
236
|
+
g.a(hash){ text }
|
237
|
+
end
|
238
|
+
|
239
|
+
# Wrapper for Array to behave like the Sequel pagination
|
240
|
+
class ArrayPager
|
241
|
+
def initialize(array, page, limit)
|
242
|
+
@array, @page, @limit = array, page, limit
|
243
|
+
@page = page_count if @page > page_count
|
244
|
+
end
|
245
|
+
|
246
|
+
def size
|
247
|
+
@array.size
|
248
|
+
end
|
249
|
+
|
250
|
+
def empty?
|
251
|
+
@array.empty?
|
252
|
+
end
|
253
|
+
|
254
|
+
def page_count
|
255
|
+
pages, rest = size.divmod(@limit)
|
256
|
+
rest == 0 ? pages : pages + 1
|
257
|
+
end
|
258
|
+
|
259
|
+
def current_page
|
260
|
+
@page
|
261
|
+
end
|
262
|
+
|
263
|
+
def next_page
|
264
|
+
page_count == @page ? nil : @page + 1
|
265
|
+
end
|
266
|
+
|
267
|
+
def prev_page
|
268
|
+
@page <= 1 ? nil : @page - 1
|
269
|
+
end
|
270
|
+
|
271
|
+
def first_page?
|
272
|
+
@page <= 1
|
273
|
+
end
|
274
|
+
|
275
|
+
def last_page?
|
276
|
+
page_count == @page
|
277
|
+
end
|
278
|
+
|
279
|
+
def each(&block)
|
280
|
+
from = ((@page - 1) * @limit)
|
281
|
+
to = from + @limit
|
282
|
+
|
283
|
+
a = @array[from...to] || []
|
284
|
+
a.each(&block)
|
285
|
+
end
|
286
|
+
|
287
|
+
include Enumerable
|
288
|
+
end
|
289
|
+
|
290
|
+
# Wrapper for DataMapper::Collection to behave like the Sequel
|
291
|
+
# pagination.
|
292
|
+
# needs 'datamapper' (or 'dm-core' and 'dm-aggregates')
|
293
|
+
class DataMapperPager < ArrayPager
|
294
|
+
|
295
|
+
def initialize(*args)
|
296
|
+
unless defined?(DataMapper::Aggregates)
|
297
|
+
Ramaze::Log.warn "paginate.rb: it is strongly " +
|
298
|
+
"recommended to require 'dm-aggregates'"
|
299
|
+
end
|
300
|
+
|
301
|
+
super
|
302
|
+
end
|
303
|
+
|
304
|
+
def size
|
305
|
+
@cached_size ||= @array.count
|
306
|
+
end
|
307
|
+
|
308
|
+
def empty?
|
309
|
+
size == 0
|
310
|
+
end
|
311
|
+
end # DataMapperPager
|
312
|
+
end # Paginator
|
313
|
+
end # Paginate
|
314
|
+
end # Helper
|
315
|
+
end # Ramaze
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'remarkably'
|
2
|
+
|
3
|
+
module Ramaze
|
4
|
+
module Helper
|
5
|
+
module Remarkably
|
6
|
+
include ::Remarkably::Common
|
7
|
+
|
8
|
+
# Avoid calling the Helper::Link#a method
|
9
|
+
def a(*args, &block)
|
10
|
+
method_missing(:a, *args, &block)
|
11
|
+
end
|
12
|
+
end # Remarkably
|
13
|
+
end # Helper
|
14
|
+
end # Ramaze
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rack/request'
|
2
|
+
module Ramaze
|
3
|
+
module Helper
|
4
|
+
module RequestAccessor
|
5
|
+
classes = [Rack::Request, Rack::Request::Helpers, Rack::Request::Env, Innate::Request, Ramaze::Request]
|
6
|
+
methods = classes.map { |klass|
|
7
|
+
klass.instance_methods(false)
|
8
|
+
}.flatten.uniq
|
9
|
+
|
10
|
+
methods.each do |method|
|
11
|
+
next if method == :intialize
|
12
|
+
if method =~ /=/
|
13
|
+
eval("def %s(a) request.%s a; end" % [method, method])
|
14
|
+
else
|
15
|
+
eval("def %s(*a) request.%s(*a); end" % [method, method])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end # RequestAccessor
|
19
|
+
end # Helper
|
20
|
+
end # Ramaze
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Ramaze
|
2
|
+
module Helper
|
3
|
+
##
|
4
|
+
# The SendFile module can be used to stream a file to the user's computer.
|
5
|
+
# While the performance of the module isn't optimal it's convenient and
|
6
|
+
# relatively easy to use.
|
7
|
+
#
|
8
|
+
module SendFile
|
9
|
+
##
|
10
|
+
# The send_file method streams the specified file to the user's browser.
|
11
|
+
#
|
12
|
+
# @param [String] filename The name or path to the file which will be
|
13
|
+
# streamed to the user.
|
14
|
+
# @param [String] content_type The type of file we're dealing with. For
|
15
|
+
# example, if we want to stream a JPG image we'd set this variable to
|
16
|
+
# 'image/jpg'.
|
17
|
+
# @param [String] content_disposition Value for the Content-Disposition
|
18
|
+
# header.
|
19
|
+
#
|
20
|
+
def send_file(filename, content_type = nil, content_disposition = nil)
|
21
|
+
content_type ||= Rack::Mime.mime_type(::File.extname(filename))
|
22
|
+
content_disposition ||= File.basename(filename)
|
23
|
+
|
24
|
+
response.body = ::File.open(filename, 'rb')
|
25
|
+
response['Content-Length'] = ::File.size(filename).to_s
|
26
|
+
response['Content-Type'] = content_type
|
27
|
+
response['Content-Disposition'] = content_disposition
|
28
|
+
response.status = 200
|
29
|
+
|
30
|
+
throw(:respond, response)
|
31
|
+
end
|
32
|
+
end # SendFile
|
33
|
+
end # Helper
|
34
|
+
end # Ramaze
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Ramaze
|
2
|
+
module Helper
|
3
|
+
# Produce very simple question/answer pairs.
|
4
|
+
#
|
5
|
+
# The default is a trivial mathematical problem.
|
6
|
+
#
|
7
|
+
# Usage (trait is optional):
|
8
|
+
#
|
9
|
+
# class RegisterController < Ramaze::Controller
|
10
|
+
# trait :captcha => lambda{
|
11
|
+
# ["the answer to everything", "42"]
|
12
|
+
# }
|
13
|
+
#
|
14
|
+
# def index
|
15
|
+
# %(
|
16
|
+
# <form action="#{r(:answer}">
|
17
|
+
# What is #{simple_captcha}?
|
18
|
+
# <input type="text" name="answer" />"
|
19
|
+
# <input type="submit" />
|
20
|
+
# </form>
|
21
|
+
# ).strip
|
22
|
+
# end
|
23
|
+
#
|
24
|
+
# def answer
|
25
|
+
# check_captcha(request[:answer])
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
module SimpleCaptcha
|
30
|
+
include Ramaze::Traited
|
31
|
+
|
32
|
+
NUMBERS = [5, 10, 15, 20]
|
33
|
+
|
34
|
+
# lambda should return question and answer in [question, answer] form
|
35
|
+
trait :captcha => lambda{
|
36
|
+
ns = Array.new(2){ NUMBERS.sort_by{rand}.first }.sort
|
37
|
+
op = rand > 0.42 ? [ns[0], :+, ns[1]] : [ns[1], :-, ns[0]]
|
38
|
+
|
39
|
+
question = op.join(' ')
|
40
|
+
answer = op[0].send(op[1], op[2])
|
41
|
+
|
42
|
+
[question, answer]
|
43
|
+
}
|
44
|
+
|
45
|
+
# Call the trait[:captcha] and store question/answer in session
|
46
|
+
def simple_captcha
|
47
|
+
question, answer = ancestral_trait[:captcha].call
|
48
|
+
session[:CAPTCHA] = { :question => question, :answer => answer.to_s }
|
49
|
+
|
50
|
+
question
|
51
|
+
end
|
52
|
+
|
53
|
+
# check the given +answer+ against the answer stored in the session.
|
54
|
+
def check_captcha(answer)
|
55
|
+
return false unless captcha = session[:CAPTCHA]
|
56
|
+
|
57
|
+
answer.to_s.strip == captcha[:answer].to_s
|
58
|
+
end
|
59
|
+
end # SimpleCaptcha
|
60
|
+
end # Helper
|
61
|
+
end # Ramaze
|
data/lib/ramaze/helper/stack.rb
CHANGED
@@ -1,68 +1,78 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All files in this distribution are subject to the terms of the
|
1
|
+
# Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the MIT license.
|
3
3
|
|
4
4
|
module Ramaze
|
5
|
+
module Helper
|
6
|
+
##
|
7
|
+
# Provides an call/answer mechanism, this is useful for example in a
|
8
|
+
# login-system.
|
9
|
+
#
|
10
|
+
# It is basically good to redirect temporarily somewhere else without
|
11
|
+
# forgetting where you come from and offering a nice way to get back
|
12
|
+
# to the last urls.
|
13
|
+
#
|
14
|
+
# Example:
|
15
|
+
#
|
16
|
+
# class AuthController < Controller
|
17
|
+
# helper :stack
|
18
|
+
#
|
19
|
+
# def login pass
|
20
|
+
# if pass == 'password'
|
21
|
+
# session[:logged_in] = true
|
22
|
+
# answer '/'
|
23
|
+
# else
|
24
|
+
# "failed"
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
#
|
28
|
+
# def logged_in?
|
29
|
+
# !!session[:logged_in]
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# class ImportantController < Controller
|
34
|
+
# helper :stack
|
35
|
+
#
|
36
|
+
# def secret_information
|
37
|
+
# call :login unless logged_in?
|
38
|
+
# "Agent X is assigned to fight the RubyNinjas"
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
#
|
42
|
+
module Stack
|
43
|
+
# redirect to another location and pushing the current location
|
44
|
+
# on the session[:STACK]
|
45
|
+
def push(frame)
|
46
|
+
(session[:STACK] ||= []) << frame
|
47
|
+
end
|
5
48
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
# It is basically good to redirect temporarly somewhere else without
|
10
|
-
# forgetting where you come from and offering a nice way to get back
|
11
|
-
# to the last urls.
|
12
|
-
#
|
13
|
-
# Example:
|
14
|
-
#
|
15
|
-
# class AuthController < Controller
|
16
|
-
# helper :stack
|
17
|
-
#
|
18
|
-
# def login pass
|
19
|
-
# if pass == 'password'
|
20
|
-
# session[:logged_in] = true
|
21
|
-
# answer if inside_stack?
|
22
|
-
# redirect '/'
|
23
|
-
# else
|
24
|
-
# "failed"
|
25
|
-
# end
|
26
|
-
# end
|
27
|
-
#
|
28
|
-
# def logged_in?
|
29
|
-
# !!session[:logged_in]
|
30
|
-
# end
|
31
|
-
# end
|
32
|
-
#
|
33
|
-
# class ImportantController < Controller
|
34
|
-
# helper :stack
|
35
|
-
#
|
36
|
-
# def secret_information
|
37
|
-
# call :login unless logged_in?
|
38
|
-
# "Agent X is assigned to fight the RubyNinjas"
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
|
42
|
-
module Helper::Stack
|
43
|
-
# redirect to another location and pushing the current location
|
44
|
-
# on the session[:STACK]
|
45
|
-
|
46
|
-
def call this
|
47
|
-
(session[:STACK] ||= []) << request.fullpath
|
48
|
-
redirect this
|
49
|
-
end
|
50
|
-
|
51
|
-
# return to the last location on session[:STACK]
|
52
|
-
|
53
|
-
def answer
|
54
|
-
if inside_stack?
|
55
|
-
stack = session[:STACK]
|
56
|
-
target = stack.pop
|
57
|
-
session.delete(:STACK) if stack.empty?
|
58
|
-
redirect target
|
49
|
+
def call(this)
|
50
|
+
push(request.fullpath)
|
51
|
+
redirect(this)
|
59
52
|
end
|
60
|
-
end
|
61
53
|
|
62
|
-
|
54
|
+
##
|
55
|
+
# return to the last location on session[:STACK]
|
56
|
+
# The optional alternative paramter will be used to redirect in case you
|
57
|
+
# are not inside_stack?
|
58
|
+
# If the session has no stack and no alternative is given this won't do
|
59
|
+
# anything
|
60
|
+
#
|
61
|
+
def answer(alternative = nil)
|
62
|
+
if inside_stack?
|
63
|
+
stack = session[:STACK]
|
64
|
+
target = stack.pop
|
65
|
+
session.delete(:STACK) if stack.empty?
|
66
|
+
redirect(target)
|
67
|
+
elsif alternative
|
68
|
+
redirect(alternative)
|
69
|
+
end
|
70
|
+
end
|
63
71
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
end
|
72
|
+
# check if the stack has something inside.
|
73
|
+
def inside_stack?
|
74
|
+
session[:STACK] and session[:STACK].any?
|
75
|
+
end
|
76
|
+
end # Stack
|
77
|
+
end # Helper
|
78
|
+
end # Ramaze
|
data/lib/ramaze/helper/tagz.rb
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the
|
2
|
+
# All files in this distribution are subject to the terms of the MIT license.
|
3
3
|
|
4
4
|
require 'tagz'
|
5
5
|
|
6
6
|
module Ramaze
|
7
|
-
|
8
|
-
# Allows you to use some shortcuts for Tagz in your Controller.
|
9
|
-
|
10
|
-
# use this inside your controller to directly build Tagz
|
11
|
-
# Refer to the Tagz-documentation and testsuite for more examples.
|
12
|
-
# Usage:
|
13
|
-
# tagz { h1_{ "Apples & Oranges" } } #=> "<h1>Apples & Oranges</h1>"
|
14
|
-
# tagz { h1_(:class => 'fruits&floots'){ 'Apples' } } #=> "<h1 class=\"fruits&floots\">Apples</h1>"
|
15
|
-
|
16
7
|
module Helper
|
8
|
+
##
|
9
|
+
# Allows you to use some shortcuts for Tagz in your Controller.
|
10
|
+
# use this inside your controller to directly build Tagz
|
11
|
+
# Refer to the Tagz-documentation and testsuite for more examples.
|
12
|
+
#
|
13
|
+
# Usage:
|
14
|
+
#
|
15
|
+
# tagz { h1_{ "Apples & Oranges" } } #=> "<h1>Apples & Oranges</h1>"
|
16
|
+
# tagz { h1_(:class => 'fruits&floots'){ 'Apples' } }
|
17
|
+
#
|
17
18
|
Tagz = ::Tagz
|
18
|
-
end
|
19
|
-
end
|
19
|
+
end # Helper
|
20
|
+
end # Ramaze
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the MIT license.
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
module Helper
|
6
|
+
module Thread
|
7
|
+
##
|
8
|
+
# The thread method executes the specified block in a new thread.
|
9
|
+
#
|
10
|
+
# @param [Block] block The block that contains the code that will be
|
11
|
+
# executed in the new thread.
|
12
|
+
#
|
13
|
+
def thread &block
|
14
|
+
parent_thread = Thread.current
|
15
|
+
Thread.new do
|
16
|
+
begin
|
17
|
+
block.call
|
18
|
+
rescue Exception => e
|
19
|
+
parent_thread.raise(e)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end # Thread
|
24
|
+
end # Helper
|
25
|
+
end # Ramaze
|