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,128 @@
|
|
1
|
+
module Ramaze
|
2
|
+
module Helper
|
3
|
+
##
|
4
|
+
# Provides wrapper methods for a higher-level approach than the core layout
|
5
|
+
# method. The layout() method that comes with Innate/Ramaze is fairly basic
|
6
|
+
# as it only allows you to specify a single layout to always use or a block
|
7
|
+
# giving you some extra flexibility. The latter however is still a bit of a
|
8
|
+
# pain when dealing with many custom layouts in a single controller. Meet
|
9
|
+
# the Layout helper. This helper provides a single method (since April 2011,
|
10
|
+
# it used to provide more) called "set_layout". This method allows you to
|
11
|
+
# specify a number of layouts and the methods for which these layouts should
|
12
|
+
# be used.
|
13
|
+
#
|
14
|
+
# ## Examples
|
15
|
+
#
|
16
|
+
# The most basic example is simply setting a layout as you would do with the
|
17
|
+
# layout() method:
|
18
|
+
#
|
19
|
+
# set_layout 'default'
|
20
|
+
#
|
21
|
+
# This of course is very boring, time to add some more spices to our code:
|
22
|
+
#
|
23
|
+
# set_layout 'default' => [:index]
|
24
|
+
#
|
25
|
+
# Woah! What just happened? It's quite easy actually, we merely defined that
|
26
|
+
# the layout called "default" should be used for the index method *only*.
|
27
|
+
# Pretty sweet huh? It gets even better:
|
28
|
+
#
|
29
|
+
# set_layout 'default' => [:index, :edit], 'alternative' => [:add, :process]
|
30
|
+
#
|
31
|
+
# A few things changed. First of all there are now two key/value groups.
|
32
|
+
# Each group defines a layout (the key) and a set of methods (the value) for
|
33
|
+
# which each layout should be used. In this case the layout "default" will
|
34
|
+
# be used for index() and edit() but the layout "alternative" will be used
|
35
|
+
# for add() and process().
|
36
|
+
#
|
37
|
+
# Last but not least, multiple calls to set_layout will no longer override
|
38
|
+
# any existing settings *unless* you actually specify the same method with a
|
39
|
+
# different layout. This is possible because the set_layout method stores
|
40
|
+
# all these details in an instance variable called "_ramaze_layouts".
|
41
|
+
#
|
42
|
+
# @author Yorick Peterse
|
43
|
+
# @author Michael Fellinger
|
44
|
+
# @author Pistos
|
45
|
+
#
|
46
|
+
module Layout
|
47
|
+
|
48
|
+
##
|
49
|
+
# Extends the class that included this module so that the methods that
|
50
|
+
# this helper provides can be called outside of instance of class methods.
|
51
|
+
#
|
52
|
+
# @param [Object] into The class that included this module.
|
53
|
+
# @author Michael Fellinger
|
54
|
+
# @author Pistos
|
55
|
+
#
|
56
|
+
def self.included(into)
|
57
|
+
into.extend SingletonMethods
|
58
|
+
end
|
59
|
+
|
60
|
+
module SingletonMethods
|
61
|
+
##
|
62
|
+
# The set_layout method allows you to specify a number of methods and
|
63
|
+
# their layout. This allows you to use layout A for methods 1, 2 and 3
|
64
|
+
# but layout B for method 4.
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# # The key is the layout, the value an array of methods
|
68
|
+
# set_layout 'default' => [:method_1], 'alternative' => [:method_2]
|
69
|
+
#
|
70
|
+
# # We can combine this method with layout()
|
71
|
+
# layout 'default'
|
72
|
+
# set_layout 'alternative' => [:method_1]
|
73
|
+
#
|
74
|
+
# # This is also perfectly fine
|
75
|
+
# set_layout 'default'
|
76
|
+
#
|
77
|
+
# @param [String, Symbol, #to_hash] hash_or_layout
|
78
|
+
# In case it's a String or Symbol it will directly be used as the
|
79
|
+
# layout.
|
80
|
+
# When setting a Hash this hash should have it's keys set to the
|
81
|
+
# layouts and it's values to an array of methods that use the
|
82
|
+
# specific layout. For more information see the examples.
|
83
|
+
#
|
84
|
+
# @author Yorick Peterse
|
85
|
+
# @author Michael Fellinger
|
86
|
+
# @author Pistos
|
87
|
+
# @since 2011-04-07
|
88
|
+
#
|
89
|
+
def set_layout(hash_or_layout)
|
90
|
+
@_ramaze_layouts ||= {}
|
91
|
+
@_ramaze_old_layout ||= trait[:layout]
|
92
|
+
|
93
|
+
# Extract the layout to use
|
94
|
+
if hash_or_layout.respond_to?(:to_hash)
|
95
|
+
# Invert the method/layout hash and save them so they don't get lost
|
96
|
+
hash_or_layout.to_hash.each do |layout, layout_methods|
|
97
|
+
layout_methods.each do |layout_method|
|
98
|
+
@_ramaze_layouts[layout_method.to_s] = layout.to_s
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
layout do |path, wish|
|
103
|
+
path = path.to_s
|
104
|
+
|
105
|
+
if @_ramaze_layouts.key?(path)
|
106
|
+
use_layout = @_ramaze_layouts[path.to_s]
|
107
|
+
# Use the old layout
|
108
|
+
elsif @_ramaze_old_layout.respond_to?(:call)
|
109
|
+
use_layout = @_ramaze_old_layout.call(path, wish)
|
110
|
+
else
|
111
|
+
use_layout = @_ramaze_old_layout
|
112
|
+
end
|
113
|
+
|
114
|
+
use_layout
|
115
|
+
end
|
116
|
+
else
|
117
|
+
layout { |path| hash_or_layout }
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# @deprecated because it's not longer useful
|
122
|
+
def set_layout_except(hash_or_layout)
|
123
|
+
Ramaze.deprecated('set_layout_except', 'set_layout')
|
124
|
+
end
|
125
|
+
end # SingletonMethods
|
126
|
+
end # Layout
|
127
|
+
end # Helper
|
128
|
+
end # Ramaze
|
data/lib/ramaze/helper/link.rb
CHANGED
@@ -1,124 +1,57 @@
|
|
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
|
-
|
5
|
-
# Helper::Link is included into the Controller by default
|
6
|
-
#
|
7
|
-
# Usage is shown in spec/ramaze/helper/link.rb and the rdocs below.
|
8
|
-
|
9
|
-
module Helper::Link
|
10
|
-
private
|
11
|
-
|
12
|
-
# Builds a basic <a> tag.
|
13
|
-
#
|
14
|
-
# `text` is mandatory, the second hash of options will be transformed into
|
15
|
-
# arguments of the tag, :href is a special case and its segments will be
|
16
|
-
# CGI.escaped.
|
17
|
-
#
|
18
|
-
# If you pass no :href, the text will be run through Rs and its result is
|
19
|
-
# used instead. If you really want an empty href, use :href => ''
|
20
|
-
#
|
21
|
-
# Usage:
|
22
|
-
# A('text') #> <a href="/text">text</a>
|
23
|
-
# A('foo/bar') #> <a href="/foo/bar">foo/bar</a>
|
24
|
-
# A('/foo?x=y') #> <a href="/foo?x=y">/foo?x=y</a>
|
25
|
-
# A('text', :href => '/foo?x=y') #> <a href="/foo?x=y">text</a>
|
26
|
-
# A('Home', :href => Rs(:/)) #> <a href="/foo/bar">Home</a>
|
27
|
-
|
28
|
-
def A(*args)
|
29
|
-
hash = args.last.respond_to?(:to_hash) ? args.pop : {}
|
30
|
-
|
31
|
-
hash[:href] ||= Rs(*args)
|
32
|
-
text = hash.delete(:text) || args.last || hash[:title] || hash[:href]
|
33
|
-
hash[:href] = hash[:href].to_s.gsub(/[^\/?;=]+/) {|m| CGI.escape(m) }
|
34
|
-
|
35
|
-
args = ['']
|
36
|
-
hash.each {|k,v| args << %(#{k}="#{v}") if k and v }
|
37
|
-
|
38
|
-
%(<a#{args.join(' ')}>#{text}</a>)
|
39
|
-
end
|
40
|
-
|
41
|
-
# Builds links out of segments.
|
42
|
-
#
|
43
|
-
# Pass it strings, symbols, controllers and it will produce a link out of
|
44
|
-
# it. Paths to Controllers are obtained from Global.mapping.
|
45
|
-
#
|
46
|
-
# For brevity, the mapping for the example below is following:
|
47
|
-
# { MC => '/', OC => '/o', ODC => '/od' }
|
48
|
-
#
|
49
|
-
# Usage:
|
50
|
-
# R(MC) #=> '/'
|
51
|
-
# R(OC) #=> '/o'
|
52
|
-
# R(ODC) #=> '/od'
|
53
|
-
# R(MC, :foo) #=> '/foo'
|
54
|
-
# R(OC, :foo) #=> '/o/foo'
|
55
|
-
# R(ODC, :foo) #=> '/od/foo'
|
56
|
-
# R(MC, :foo, :bar => :x) #=> '/foo?bar=x'
|
57
|
-
|
58
|
-
def R(*atoms)
|
59
|
-
args, atoms = atoms.flatten.partition{|a| a.is_a?(Hash) }
|
60
|
-
args = args.flatten.inject{|s,v| s.merge!(v) }
|
4
|
+
require 'innate/helper/link'
|
61
5
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
if args
|
75
|
-
rear = args.inject('?'){|s,(k,v)| s << "#{CGI.escape k.to_s}=#{CGI.escape v.to_s};"}[0..-2]
|
76
|
-
front + rear
|
77
|
-
else
|
78
|
-
front
|
6
|
+
module Ramaze
|
7
|
+
module Helper
|
8
|
+
# This is a modification of Innate::Helper::Link to respect the routing of
|
9
|
+
# Ramaze
|
10
|
+
#
|
11
|
+
# NOTE: The A/R/Rs methods have been deprecated.
|
12
|
+
module Link
|
13
|
+
def route_location(klass)
|
14
|
+
prefix = Ramaze.options.prefix
|
15
|
+
location = Ramaze.to(klass) || Ramaze.to(klass.class)
|
16
|
+
[prefix, location].join('/')
|
79
17
|
end
|
80
|
-
end
|
81
|
-
|
82
|
-
# Uses R with Controller.current as first element.
|
83
|
-
|
84
|
-
def Rs(*atoms)
|
85
|
-
atoms.unshift Controller.current unless atoms.first.is_a?(Controller)
|
86
|
-
R(*atoms)
|
87
|
-
end
|
88
|
-
|
89
|
-
# Give it a path with character to split at and one to join the crumbs with.
|
90
|
-
# It will generate a list of links that act as pointers to previous pages on
|
91
|
-
# this path.
|
92
|
-
#
|
93
|
-
# Example:
|
94
|
-
# breadcrumbs('/path/to/somewhere')
|
95
|
-
#
|
96
|
-
# # results in this, newlines added for readability:
|
97
|
-
#
|
98
|
-
# <a href="/path">path</a>/
|
99
|
-
# <a href="/path/to">to</a>/
|
100
|
-
# <a href="/path/to/somewhere">somewhere</a>
|
101
|
-
#
|
102
|
-
# Optionally a href prefix can be specified which generate link
|
103
|
-
# names a above, but with the prefix prepended to the href path.
|
104
|
-
#
|
105
|
-
# Example:
|
106
|
-
# breadcrumbs('/path/to/somewhere', '/', '/', '/mycontroller/action')
|
107
|
-
#
|
108
|
-
# # results in this, newlines added for readability:
|
109
|
-
#
|
110
|
-
# <a href="/mycontroller/action/path">path</a>/
|
111
|
-
# <a href="/mycontroller/action/path/to">to</a>/
|
112
|
-
# <a href="/mycontroller/action/path/to/somewhere">somewhere</a>
|
113
18
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
19
|
+
##
|
20
|
+
# Give it a path with character to split at and one to join the crumbs
|
21
|
+
# with. It will generate a list of links that act as pointers to previous
|
22
|
+
# pages on this path.
|
23
|
+
#
|
24
|
+
# @example usage
|
25
|
+
# breadcrumbs('/path/to/somewhere')
|
26
|
+
#
|
27
|
+
# # results in this, newlines added for readability:
|
28
|
+
#
|
29
|
+
# <a href="/path">path</a>/
|
30
|
+
# <a href="/path/to">to</a>/
|
31
|
+
# <a href="/path/to/somewhere">somewhere</a>
|
32
|
+
#
|
33
|
+
# Optionally a href prefix can be specified which generate link
|
34
|
+
# names a above, but with the prefix prepended to the href path.
|
35
|
+
#
|
36
|
+
# @example usage
|
37
|
+
# breadcrumbs('/path/to/somewhere', '/', '/', '/mycontroller/action')
|
38
|
+
#
|
39
|
+
# # results in this, newlines added for readability:
|
40
|
+
#
|
41
|
+
# <a href="/mycontroller/action/path">path</a>/
|
42
|
+
# <a href="/mycontroller/action/path/to">to</a>/
|
43
|
+
# <a href="/mycontroller/action/path/to/somewhere">somewhere</a>
|
44
|
+
#
|
45
|
+
# @return [String]
|
46
|
+
def breadcrumbs(path, split = '/', join = '/', href_prefix = '')
|
47
|
+
atoms = path.split(split).reject{|a| a.empty?}
|
48
|
+
crumbs = atoms.inject([]){|s,v| s << [s.last,v]}
|
49
|
+
bread = crumbs.map do |a|
|
50
|
+
href_path = href_prefix + a*'/'
|
51
|
+
a(a[-1], href_path)
|
52
|
+
end
|
53
|
+
bread.join(join)
|
120
54
|
end
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
end
|
55
|
+
end # Link
|
56
|
+
end # Helper
|
57
|
+
end # Ramaze
|
@@ -0,0 +1,143 @@
|
|
1
|
+
require 'locale/tag'
|
2
|
+
require 'locale'
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
module Helper
|
6
|
+
##
|
7
|
+
# The localization helper can be used to output translated strings. This
|
8
|
+
# enables your application to use multiple language files for English, Dutch
|
9
|
+
# and so on.
|
10
|
+
#
|
11
|
+
module Localize
|
12
|
+
include Traited
|
13
|
+
|
14
|
+
trait :localize_locale => ::Locale::Tag::Simple.new('en')
|
15
|
+
trait :localize_charset => 'UTF-8'
|
16
|
+
|
17
|
+
def localize(string, substitute = nil)
|
18
|
+
localize_dictionary.translate(string, locales, substitute)
|
19
|
+
end
|
20
|
+
alias l localize
|
21
|
+
|
22
|
+
def locale
|
23
|
+
locales.first
|
24
|
+
end
|
25
|
+
|
26
|
+
def locales
|
27
|
+
locales = request.env['localize.locales']
|
28
|
+
return locales if locales
|
29
|
+
|
30
|
+
fallback = ancestral_trait[:localize_locale]
|
31
|
+
locales = Parser.new(request).locales(fallback)
|
32
|
+
request.env['localize.locales'] = locales
|
33
|
+
end
|
34
|
+
|
35
|
+
class Dictionary
|
36
|
+
attr_reader :dict
|
37
|
+
|
38
|
+
def initialize
|
39
|
+
@dict = {}
|
40
|
+
end
|
41
|
+
|
42
|
+
def translate(string, locales, substitute)
|
43
|
+
target = string.to_s.dup
|
44
|
+
locales = locales.flatten.uniq
|
45
|
+
|
46
|
+
if substitute
|
47
|
+
substitute.each do |key, value|
|
48
|
+
target.gsub!(/\{#{Regexp.escape(key)}\}/, lookup(value, locales))
|
49
|
+
end
|
50
|
+
return target
|
51
|
+
elsif target =~ /\{/
|
52
|
+
target.gsub!(/\{([^\}]+)\}/){ lookup($1, locales) }
|
53
|
+
return target
|
54
|
+
else
|
55
|
+
lookup(target, locales)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def lookup(string, locales)
|
60
|
+
locales.each do |locale|
|
61
|
+
next unless dict = self[locale]
|
62
|
+
next unless translated = dict[string]
|
63
|
+
return translated
|
64
|
+
end
|
65
|
+
|
66
|
+
string
|
67
|
+
end
|
68
|
+
|
69
|
+
def locales
|
70
|
+
@dict.keys
|
71
|
+
end
|
72
|
+
|
73
|
+
def [](locale)
|
74
|
+
@dict[arg_to_locale(locale)]
|
75
|
+
end
|
76
|
+
|
77
|
+
def []=(locale, dict)
|
78
|
+
@dict[arg_to_locale(locale)] = dict
|
79
|
+
end
|
80
|
+
|
81
|
+
def load(locale, options = {})
|
82
|
+
if file = options.delete(:yaml)
|
83
|
+
dict = ::YAML.load_file(file)
|
84
|
+
elsif hash = options.delete(:hash)
|
85
|
+
dict = hash
|
86
|
+
elsif marshal = options.delete(:marshal)
|
87
|
+
dict = Marshal.load(File.read(marshal))
|
88
|
+
else
|
89
|
+
raise ArgumentError, "either :yaml, :marshal, or :hash"
|
90
|
+
end
|
91
|
+
|
92
|
+
@dict[arg_to_locale(locale)] = dict
|
93
|
+
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
def arg_to_locale(arg, raises = true)
|
98
|
+
if raises and not arg
|
99
|
+
raise(ArgumentError, "%p cannot be converted to a Locale" % arg)
|
100
|
+
end
|
101
|
+
arg.respond_to?(:language) ? arg : ::Locale::Tag.parse(arg.to_s)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
class Parser
|
106
|
+
attr_accessor :request
|
107
|
+
|
108
|
+
def initialize(request)
|
109
|
+
@request = request
|
110
|
+
end
|
111
|
+
|
112
|
+
def locales(fallback = nil)
|
113
|
+
locales = [parse, fallback].flatten.uniq
|
114
|
+
::Locale::TagList.new(locales)
|
115
|
+
end
|
116
|
+
|
117
|
+
def parse
|
118
|
+
parse_params || parse_session || parse_cookie || parse_header
|
119
|
+
end
|
120
|
+
|
121
|
+
def parse_params(key = 'lang')
|
122
|
+
return unless lang = request.params[key]
|
123
|
+
::Locale::Tag.parse(lang)
|
124
|
+
end
|
125
|
+
|
126
|
+
def parse_session(key = :lang)
|
127
|
+
return unless lang = Current.session[key]
|
128
|
+
::Locale::Tag.parse(lang)
|
129
|
+
end
|
130
|
+
|
131
|
+
def parse_cookie(key = 'lang')
|
132
|
+
return unless lang = request.cookies[key]
|
133
|
+
::Locale::Tag.parse(lang)
|
134
|
+
end
|
135
|
+
|
136
|
+
def parse_header
|
137
|
+
request.accept_language.map{|lang|
|
138
|
+
::Locale::Tag.parse(lang) }
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end # Localize
|
142
|
+
end # Helper
|
143
|
+
end # Ramaze
|
@@ -1,31 +1,33 @@
|
|
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
|
module Ramaze
|
5
|
+
module Helper
|
6
|
+
# Allows you to use some shortcuts for markaby in your Controller.
|
7
|
+
module Markaby
|
8
|
+
##
|
9
|
+
# Use this inside your controller to directly build Markaby
|
10
|
+
# Refer to the Markaby-documentation and testsuite for more examples.
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# mab { h1 "Apples & Oranges"} #=> "<h1>Apples & Oranges</h1>"
|
14
|
+
# mab { h1 'Apples', :class => 'fruits&floots' }
|
15
|
+
#
|
16
|
+
def markaby(ivs = {}, helpers = nil, &block)
|
17
|
+
builder = ::Markaby::Builder
|
18
|
+
builder.extend(Ramaze::Helper::Methods)
|
19
|
+
builder.send(:helper, :link)
|
5
20
|
|
6
|
-
|
21
|
+
iv_hash = {}
|
22
|
+
instance_variables.each do |iv|
|
23
|
+
key, value = iv.gsub('@', '').to_sym, instance_variable_get(iv)
|
24
|
+
iv_hash[key] = value
|
25
|
+
end
|
7
26
|
|
8
|
-
|
9
|
-
# use this inside your controller to directly build Markaby
|
10
|
-
# Refer to the Markaby-documentation and testsuite for more examples.
|
11
|
-
# Usage:
|
12
|
-
# mab { h1 "Apples & Oranges"} #=> "<h1>Apples & Oranges</h1>"
|
13
|
-
# mab { h1 'Apples', :class => 'fruits&floots' } #=> "<h1 class=\"fruits&floots\">Apples</h1>"
|
14
|
-
|
15
|
-
def markaby(ivs = {}, helpers = nil, &block)
|
16
|
-
builder = ::Markaby::Builder
|
17
|
-
builder.extend(Ramaze::Helper::Methods)
|
18
|
-
builder.send(:helper, :link)
|
19
|
-
|
20
|
-
iv_hash = {}
|
21
|
-
instance_variables.each do |iv|
|
22
|
-
key, value = iv.gsub('@', '').to_sym, instance_variable_get(iv)
|
23
|
-
iv_hash[key] = value
|
27
|
+
builder.new(iv_hash.merge(ivs), helpers, &block).to_s
|
24
28
|
end
|
25
29
|
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
30
|
+
alias mab markaby
|
31
|
+
end # Markaby
|
32
|
+
end # Helper
|
33
|
+
end # Ramaze
|
data/lib/ramaze/helper/maruku.rb
CHANGED
@@ -1,7 +1,16 @@
|
|
1
|
+
require 'maruku'
|
2
|
+
|
1
3
|
module Ramaze
|
2
|
-
module Helper
|
3
|
-
|
4
|
-
Maruku
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
module Helper
|
5
|
+
module Maruku
|
6
|
+
# Shortcut to generate HTML from Markdown code using Maruku
|
7
|
+
#
|
8
|
+
# @param [#to_str] text the markdown to be converted
|
9
|
+
# @return [String] html generated from +text+
|
10
|
+
# @author manveru
|
11
|
+
def maruku(text)
|
12
|
+
::Maruku.new(text.to_str).to_html
|
13
|
+
end
|
14
|
+
end # Maruku
|
15
|
+
end # Helper
|
16
|
+
end # Ramaze
|