rjspotter-ramaze 2009.06.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/.mailmap +25 -0
- data/MANIFEST +502 -0
- data/README.md +457 -0
- data/Rakefile +88 -0
- data/benchmark/bench_templates/bench.rb +67 -0
- data/benchmark/bench_templates/view/large.erb +79 -0
- data/benchmark/bench_templates/view/large.haml +41 -0
- data/benchmark/bench_templates/view/large.xhtml +79 -0
- data/benchmark/bench_templates/view/small.erb +21 -0
- data/benchmark/bench_templates/view/small.haml +12 -0
- data/benchmark/bench_templates/view/small.xhtml +21 -0
- data/benchmark/results.txt +131 -0
- data/benchmark/run.rb +355 -0
- data/benchmark/suite/minimal.rb +11 -0
- data/benchmark/suite/no_informer.rb +7 -0
- data/benchmark/suite/no_sessions.rb +9 -0
- data/benchmark/suite/no_template.rb +7 -0
- data/benchmark/suite/simple.rb +5 -0
- data/benchmark/suite/template_erubis.rb +8 -0
- data/benchmark/suite/template_etanni.rb +8 -0
- data/benchmark/suite/template_ezamar.rb +8 -0
- data/benchmark/suite/template_haml.rb +13 -0
- data/benchmark/suite/template_liquid.rb +11 -0
- data/benchmark/suite/template_markaby.rb +9 -0
- data/benchmark/suite/template_nagoro.rb +8 -0
- data/benchmark/suite/template_redcloth.rb +13 -0
- data/benchmark/suite/template_tenjin.rb +8 -0
- data/benchmark/test.rb +35 -0
- data/bin/ramaze +15 -0
- data/doc/AUTHORS +44 -0
- data/doc/CHANGELOG +17362 -0
- data/doc/COPYING +56 -0
- data/doc/FAQ +92 -0
- data/doc/GPL +339 -0
- data/doc/INSTALL +92 -0
- data/doc/LEGAL +26 -0
- data/doc/TODO +29 -0
- data/doc/meta/announcement.txt +146 -0
- data/doc/meta/configuration.txt +163 -0
- data/doc/meta/internals.txt +278 -0
- data/doc/meta/users.kml +64 -0
- data/doc/tutorial/todolist.html +1379 -0
- data/doc/tutorial/todolist.txt +920 -0
- data/examples/app/auth/layout/auth.xhtml +25 -0
- data/examples/app/auth/start.rb +23 -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/README +3 -0
- data/examples/app/blog/app.rb +69 -0
- data/examples/app/blog/config.ru +17 -0
- data/examples/app/blog/controller/comment.rb +45 -0
- data/examples/app/blog/controller/entry.rb +85 -0
- data/examples/app/blog/controller/init.rb +86 -0
- data/examples/app/blog/controller/main.rb +20 -0
- data/examples/app/blog/controller/tag.rb +9 -0
- data/examples/app/blog/layout/default.nag +31 -0
- data/examples/app/blog/model/comment.rb +58 -0
- data/examples/app/blog/model/entry.rb +89 -0
- data/examples/app/blog/model/init.rb +15 -0
- data/examples/app/blog/model/tag.rb +36 -0
- data/examples/app/blog/public/css/screen.css +273 -0
- data/examples/app/blog/spec/blog.rb +87 -0
- data/examples/app/blog/start.rb +5 -0
- data/examples/app/blog/view/comment/form.nag +10 -0
- data/examples/app/blog/view/comment/show.nag +16 -0
- data/examples/app/blog/view/entry/edit.nag +14 -0
- data/examples/app/blog/view/entry/feed.atom.nag +8 -0
- data/examples/app/blog/view/entry/feed.rss.nag +7 -0
- data/examples/app/blog/view/entry/index.nag +7 -0
- data/examples/app/blog/view/entry/new.nag +13 -0
- data/examples/app/blog/view/entry/show.nag +36 -0
- data/examples/app/blog/view/feed.atom.nag +18 -0
- data/examples/app/blog/view/feed.rss.nag +25 -0
- data/examples/app/blog/view/index.nag +6 -0
- data/examples/app/blog/view/tag/index.nag +5 -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/examples/app/chat/public/js/jquery.js +3436 -0
- 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/sourceview/public/coderay.css +104 -0
- data/examples/app/sourceview/public/images/file.gif +0 -0
- data/examples/app/sourceview/public/images/folder.gif +0 -0
- data/examples/app/sourceview/public/images/tv-collapsable-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-collapsable.gif +0 -0
- data/examples/app/sourceview/public/images/tv-expandable-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-expandable.gif +0 -0
- data/examples/app/sourceview/public/images/tv-item-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-item.gif +0 -0
- data/examples/app/sourceview/public/jquery.js +11 -0
- data/examples/app/sourceview/public/jquery.treeview.css +48 -0
- data/examples/app/sourceview/public/jquery.treeview.js +223 -0
- data/examples/app/sourceview/public/sourceview.js +52 -0
- data/examples/app/sourceview/start.rb +79 -0
- data/examples/app/sourceview/view/index.haml +59 -0
- data/examples/app/todolist/controller/init.rb +10 -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/public/favicon.ico +0 -0
- data/examples/app/todolist/start.rb +11 -0
- data/examples/app/todolist/view/index.xhtml +29 -0
- data/examples/app/upload/start.rb +19 -0
- data/examples/app/upload/view/index.xhtml +25 -0
- data/examples/app/whywiki/spec/whywiki.rb +58 -0
- data/examples/app/whywiki/start.rb +46 -0
- data/examples/app/whywiki/template/edit.xhtml +14 -0
- data/examples/app/whywiki/template/show.xhtml +18 -0
- data/examples/app/wikore/spec/wikore.rb +109 -0
- data/examples/app/wikore/src/controller.rb +78 -0
- data/examples/app/wikore/src/model.rb +56 -0
- data/examples/app/wikore/start.rb +9 -0
- data/examples/app/wikore/view/index.xhtml +8 -0
- data/examples/app/wiktacular/README +2 -0
- data/examples/app/wiktacular/mkd/link/2007-07-20_19-45-51.mkd +1 -0
- data/examples/app/wiktacular/mkd/link/current.mkd +1 -0
- data/examples/app/wiktacular/mkd/main/2007-07-20_16-31-33.mkd +1 -0
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-21-12.mkd +1 -0
- 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/app/wiktacular/mkd/markdown/current.mkd +3 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +2 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd +3 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-46-01.mkd +11 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-46-32.mkd +13 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd +17 -0
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd +17 -0
- data/examples/app/wiktacular/mkd/testing/current.mkd +17 -0
- data/examples/app/wiktacular/public/favicon.ico +0 -0
- data/examples/app/wiktacular/public/screen.css +72 -0
- data/examples/app/wiktacular/spec/wiktacular.rb +157 -0
- data/examples/app/wiktacular/src/controller.rb +55 -0
- data/examples/app/wiktacular/src/model.rb +102 -0
- data/examples/app/wiktacular/start.rb +8 -0
- data/examples/app/wiktacular/template/edit.xhtml +6 -0
- data/examples/app/wiktacular/template/html_layout.xhtml +27 -0
- data/examples/app/wiktacular/template/index.xhtml +9 -0
- data/examples/app/wiktacular/template/new.xhtml +6 -0
- data/examples/basic/element.rb +47 -0
- data/examples/basic/gestalt.rb +26 -0
- data/examples/basic/hello.rb +14 -0
- data/examples/basic/layout.rb +28 -0
- data/examples/basic/linking.rb +29 -0
- data/examples/basic/partial.rb +26 -0
- data/examples/basic/simple.rb +52 -0
- data/examples/helpers/cache.rb +33 -0
- data/examples/helpers/form_with_sequel.rb +24 -0
- data/examples/helpers/httpdigest.rb +107 -0
- data/examples/helpers/identity.rb +18 -0
- data/examples/helpers/nitro_form.rb +23 -0
- data/examples/helpers/paginate.rb +71 -0
- data/examples/helpers/rest.rb +28 -0
- data/examples/helpers/simple_captcha.rb +29 -0
- data/examples/misc/css.rb +37 -0
- data/examples/misc/facebook.rb +159 -0
- data/examples/misc/memleak_detector.rb +37 -0
- data/examples/misc/nagoro_element.rb +43 -0
- data/examples/misc/ramaise.rb +132 -0
- data/examples/misc/rapp.rb +56 -0
- data/examples/misc/sequel_scaffolding.rb +34 -0
- data/examples/misc/serve_directory.rb +6 -0
- data/examples/templates/template_erubis.rb +52 -0
- data/examples/templates/template_ezamar.rb +51 -0
- data/examples/templates/template_haml.rb +49 -0
- data/examples/templates/template_liquid.rb +66 -0
- data/examples/templates/template_markaby.rb +57 -0
- data/examples/templates/template_nagoro.rb +50 -0
- data/examples/templates/template_redcloth.rb +58 -0
- data/examples/templates/template_remarkably.rb +54 -0
- data/examples/templates/template_tenjin.rb +52 -0
- data/examples/templates/view/external.haml +22 -0
- data/examples/templates/view/external.liquid +28 -0
- data/examples/templates/view/external.mab +30 -0
- data/examples/templates/view/external.nag +28 -0
- data/examples/templates/view/external.redcloth +19 -0
- data/examples/templates/view/external.rem +30 -0
- data/examples/templates/view/external.rhtml +28 -0
- data/examples/templates/view/external.tenjin +28 -0
- data/examples/templates/view/external.zmr +28 -0
- data/lib/proto/app.rb +14 -0
- data/lib/proto/config.ru +20 -0
- data/lib/proto/controller/init.rb +11 -0
- data/lib/proto/controller/main.rb +20 -0
- data/lib/proto/layout/default.xhtml +24 -0
- data/lib/proto/model/init.rb +4 -0
- data/lib/proto/public/.htaccess +24 -0
- data/lib/proto/public/css/screen.css +30 -0
- data/lib/proto/public/dispatch.fcgi +11 -0
- data/lib/proto/public/favicon.ico +0 -0
- data/lib/proto/public/js/jquery.js +4376 -0
- data/lib/proto/public/ramaze.png +0 -0
- data/lib/proto/spec/main.rb +20 -0
- data/lib/proto/start.rb +8 -0
- data/lib/proto/view/index.xhtml +41 -0
- data/lib/ramaze.rb +87 -0
- data/lib/ramaze/app.rb +124 -0
- data/lib/ramaze/cache.rb +19 -0
- data/lib/ramaze/cache/localmemcache.rb +56 -0
- data/lib/ramaze/cache/memcache.rb +124 -0
- data/lib/ramaze/cache/sequel.rb +82 -0
- data/lib/ramaze/contrib/addressable_route.rb +55 -0
- data/lib/ramaze/contrib/app_graph.rb +64 -0
- data/lib/ramaze/contrib/email.rb +88 -0
- data/lib/ramaze/contrib/facebook.rb +23 -0
- data/lib/ramaze/contrib/facebook/facebook.rb +171 -0
- data/lib/ramaze/contrib/gettext.rb +113 -0
- data/lib/ramaze/contrib/gettext/mo.rb +155 -0
- data/lib/ramaze/contrib/gettext/parser.rb +46 -0
- data/lib/ramaze/contrib/gettext/po.rb +109 -0
- data/lib/ramaze/contrib/gzip_filter.rb +1 -0
- data/lib/ramaze/contrib/maruku_uv.rb +59 -0
- data/lib/ramaze/contrib/profiling.rb +36 -0
- data/lib/ramaze/contrib/rest.rb +22 -0
- data/lib/ramaze/contrib/sequel/create_join.rb +26 -0
- data/lib/ramaze/contrib/sequel/form_field.rb +129 -0
- data/lib/ramaze/contrib/sequel/image.rb +196 -0
- data/lib/ramaze/contrib/sequel/relation.rb +98 -0
- data/lib/ramaze/controller.rb +104 -0
- data/lib/ramaze/controller/default.rb +12 -0
- data/lib/ramaze/current.rb +7 -0
- data/lib/ramaze/files.rb +24 -0
- data/lib/ramaze/gestalt.rb +132 -0
- data/lib/ramaze/helper.rb +13 -0
- data/lib/ramaze/helper/auth.rb +84 -0
- data/lib/ramaze/helper/bench.rb +41 -0
- data/lib/ramaze/helper/cache.rb +117 -0
- data/lib/ramaze/helper/disqus.rb +26 -0
- data/lib/ramaze/helper/flash.rb +62 -0
- data/lib/ramaze/helper/form.rb +127 -0
- data/lib/ramaze/helper/formatting.rb +189 -0
- data/lib/ramaze/helper/gestalt.rb +47 -0
- data/lib/ramaze/helper/gravatar.rb +79 -0
- data/lib/ramaze/helper/httpdigest.rb +97 -0
- data/lib/ramaze/helper/identity.rb +119 -0
- data/lib/ramaze/helper/layout.rb +97 -0
- data/lib/ramaze/helper/link.rb +56 -0
- data/lib/ramaze/helper/localize.rb +138 -0
- data/lib/ramaze/helper/markaby.rb +31 -0
- data/lib/ramaze/helper/maruku.rb +16 -0
- data/lib/ramaze/helper/nitroform.rb +14 -0
- data/lib/ramaze/helper/pager.rb +367 -0
- data/lib/ramaze/helper/paginate.rb +242 -0
- data/lib/ramaze/helper/partial.rb +100 -0
- data/lib/ramaze/helper/remarkably.rb +14 -0
- data/lib/ramaze/helper/request_accessor.rb +16 -0
- data/lib/ramaze/helper/sequel.rb +55 -0
- data/lib/ramaze/helper/sequel_form.rb +284 -0
- data/lib/ramaze/helper/simple_captcha.rb +61 -0
- data/lib/ramaze/helper/stack.rb +75 -0
- data/lib/ramaze/helper/tagz.rb +19 -0
- data/lib/ramaze/helper/thread.rb +17 -0
- data/lib/ramaze/helper/ultraviolet.rb +46 -0
- data/lib/ramaze/helper/user.rb +229 -0
- data/lib/ramaze/helper/xhtml.rb +34 -0
- data/lib/ramaze/log.rb +39 -0
- data/lib/ramaze/log/analogger.rb +39 -0
- data/lib/ramaze/log/growl.rb +38 -0
- data/lib/ramaze/log/hub.rb +41 -0
- data/lib/ramaze/log/informer.rb +129 -0
- data/lib/ramaze/log/knotify.rb +28 -0
- data/lib/ramaze/log/logger.rb +26 -0
- data/lib/ramaze/log/logging.rb +83 -0
- data/lib/ramaze/log/rotatinginformer.rb +168 -0
- data/lib/ramaze/log/syslog.rb +51 -0
- data/lib/ramaze/log/xosd.rb +92 -0
- data/lib/ramaze/middleware_compiler.rb +13 -0
- data/lib/ramaze/plugin.rb +69 -0
- data/lib/ramaze/reloader.rb +172 -0
- data/lib/ramaze/reloader/watch_inotify.rb +85 -0
- data/lib/ramaze/reloader/watch_stat.rb +58 -0
- data/lib/ramaze/request.rb +115 -0
- data/lib/ramaze/response.rb +36 -0
- data/lib/ramaze/setup.rb +123 -0
- data/lib/ramaze/snippets.rb +22 -0
- data/lib/ramaze/snippets/array/put_within.rb +44 -0
- data/lib/ramaze/snippets/binding/locals.rb +25 -0
- data/lib/ramaze/snippets/blankslate.rb +7 -0
- data/lib/ramaze/snippets/fiber.rb +63 -0
- data/lib/ramaze/snippets/kernel/pretty_inspect.rb +21 -0
- data/lib/ramaze/snippets/metaid.rb +17 -0
- data/lib/ramaze/snippets/numeric/filesize_format.rb +32 -0
- data/lib/ramaze/snippets/numeric/time.rb +63 -0
- data/lib/ramaze/snippets/object/__dir__.rb +29 -0
- data/lib/ramaze/snippets/object/instance_variable_defined.rb +19 -0
- data/lib/ramaze/snippets/object/pretty.rb +16 -0
- data/lib/ramaze/snippets/object/scope.rb +18 -0
- data/lib/ramaze/snippets/ordered_set.rb +51 -0
- data/lib/ramaze/snippets/proc/locals.rb +19 -0
- data/lib/ramaze/snippets/ramaze/acquire.rb +31 -0
- data/lib/ramaze/snippets/ramaze/deprecated.rb +23 -0
- data/lib/ramaze/snippets/ramaze/dictionary.rb +400 -0
- data/lib/ramaze/snippets/ramaze/fiber.rb +24 -0
- data/lib/ramaze/snippets/ramaze/struct.rb +45 -0
- data/lib/ramaze/snippets/string/camel_case.rb +21 -0
- data/lib/ramaze/snippets/string/color.rb +31 -0
- data/lib/ramaze/snippets/string/end_with.rb +20 -0
- data/lib/ramaze/snippets/string/esc.rb +34 -0
- data/lib/ramaze/snippets/string/ord.rb +21 -0
- data/lib/ramaze/snippets/string/snake_case.rb +21 -0
- data/lib/ramaze/snippets/string/start_with.rb +19 -0
- data/lib/ramaze/snippets/string/unindent.rb +28 -0
- data/lib/ramaze/snippets/thread/into.rb +18 -0
- data/lib/ramaze/spec.rb +33 -0
- data/lib/ramaze/spec/bacon.rb +34 -0
- data/lib/ramaze/spec/helper/bacon.rb +8 -0
- data/lib/ramaze/spec/helper/pretty_output.rb +82 -0
- data/lib/ramaze/spec/helper/snippets.rb +16 -0
- data/lib/ramaze/spec/helper/template_examples.rb +19 -0
- data/lib/ramaze/tool/bin.rb +340 -0
- data/lib/ramaze/tool/create.rb +48 -0
- data/lib/ramaze/tool/project_creator.rb +111 -0
- data/lib/ramaze/version.rb +3 -0
- data/lib/ramaze/view.rb +39 -0
- data/lib/ramaze/view/erubis.rb +23 -0
- data/lib/ramaze/view/ezamar.rb +23 -0
- data/lib/ramaze/view/gestalt.rb +14 -0
- data/lib/ramaze/view/haml.rb +16 -0
- data/lib/ramaze/view/liquid.rb +100 -0
- data/lib/ramaze/view/maruku.rb +15 -0
- data/lib/ramaze/view/nagoro.rb +44 -0
- data/lib/ramaze/view/nagoro/render_partial.rb +32 -0
- data/lib/ramaze/view/redcloth.rb +21 -0
- data/lib/ramaze/view/remarkably.rb +21 -0
- data/lib/ramaze/view/sass.rb +21 -0
- data/lib/ramaze/view/tagz.rb +63 -0
- data/lib/ramaze/view/tenjin.rb +32 -0
- data/lib/vendor/etag.rb +22 -0
- data/lib/vendor/route_exceptions.rb +42 -0
- data/ramaze.gemspec +85 -0
- data/spec/contrib/addressable_route.rb +32 -0
- data/spec/contrib/rest.rb +28 -0
- data/spec/examples/caching.rb +16 -0
- data/spec/examples/css.rb +14 -0
- data/spec/examples/element.rb +15 -0
- data/spec/examples/hello.rb +10 -0
- data/spec/examples/helpers/httpdigest.rb +64 -0
- data/spec/examples/linking.rb +17 -0
- data/spec/examples/simple.rb +40 -0
- data/spec/examples/templates/template_erubis.rb +10 -0
- data/spec/examples/templates/template_ezamar.rb +10 -0
- data/spec/examples/templates/template_haml.rb +10 -0
- data/spec/examples/templates/template_liquid.rb +10 -0
- data/spec/examples/templates/template_markaby.rb +11 -0
- data/spec/examples/templates/template_nagoro.rb +10 -0
- data/spec/examples/templates/template_redcloth.rb +10 -0
- data/spec/examples/templates/template_remarkably.rb +10 -0
- data/spec/examples/templates/template_tenjin.rb +10 -0
- data/spec/helper.rb +9 -0
- data/spec/ramaze/action/render.rb +21 -0
- data/spec/ramaze/action/view/bar.xhtml +1 -0
- data/spec/ramaze/action/view/instancevars/layout.xhtml +1 -0
- data/spec/ramaze/action/view/other_wrapper.erb +1 -0
- data/spec/ramaze/action/view/other_wrapper.xhtml +1 -0
- data/spec/ramaze/action/view/single_wrapper.xhtml +1 -0
- data/spec/ramaze/action/view/sub/sub_wrapper.erb +1 -0
- data/spec/ramaze/action/view/sub/sub_wrapper.xhtml +1 -0
- data/spec/ramaze/app.rb +47 -0
- data/spec/ramaze/bin/ramaze.rb +91 -0
- data/spec/ramaze/cache/localmemcache.rb +49 -0
- data/spec/ramaze/cache/memcache.rb +60 -0
- data/spec/ramaze/cache/sequel.rb +51 -0
- data/spec/ramaze/controller/actionless_templates.rb +36 -0
- data/spec/ramaze/controller/lonely_mapping.rb +16 -0
- data/spec/ramaze/controller/mapping.rb +43 -0
- data/spec/ramaze/controller/provide_inheritance.rb +47 -0
- data/spec/ramaze/controller/resolve.rb +30 -0
- data/spec/ramaze/controller/subclass.rb +36 -0
- data/spec/ramaze/controller/template_resolving.rb +77 -0
- data/spec/ramaze/controller/view/bar.xhtml +1 -0
- data/spec/ramaze/controller/view/base/another.xhtml +1 -0
- data/spec/ramaze/controller/view/greet.xhtml +1 -0
- data/spec/ramaze/controller/view/list.xhtml +1 -0
- data/spec/ramaze/controller/view/other/greet/other.xhtml +1 -0
- data/spec/ramaze/controller/view/other_wrapper.xhtml +1 -0
- data/spec/ramaze/dispatcher/directory.rb +69 -0
- data/spec/ramaze/dispatcher/file.rb +71 -0
- data/spec/ramaze/dispatcher/public/favicon.ico +0 -0
- data/spec/ramaze/dispatcher/public/file name.txt +1 -0
- data/spec/ramaze/dispatcher/public/test_download.css +141 -0
- data/spec/ramaze/error.rb +88 -0
- data/spec/ramaze/files.rb +29 -0
- data/spec/ramaze/files/public_1/plain.txt +1 -0
- data/spec/ramaze/files/public_2/rich.txt +1 -0
- data/spec/ramaze/gestalt.rb +135 -0
- data/spec/ramaze/helper/auth.rb +83 -0
- data/spec/ramaze/helper/bench.rb +18 -0
- data/spec/ramaze/helper/cache.rb +124 -0
- data/spec/ramaze/helper/flash.rb +41 -0
- data/spec/ramaze/helper/form.rb +356 -0
- data/spec/ramaze/helper/formatting.rb +111 -0
- data/spec/ramaze/helper/gestalt.rb +15 -0
- data/spec/ramaze/helper/gravatar.rb +40 -0
- data/spec/ramaze/helper/httpdigest.rb +144 -0
- data/spec/ramaze/helper/layout.rb +79 -0
- data/spec/ramaze/helper/layout/default.xhtml +5 -0
- data/spec/ramaze/helper/link.rb +70 -0
- data/spec/ramaze/helper/localize.rb +62 -0
- data/spec/ramaze/helper/maruku.rb +19 -0
- data/spec/ramaze/helper/pager.rb +96 -0
- data/spec/ramaze/helper/paginate.rb +68 -0
- data/spec/ramaze/helper/request_accessor.rb +19 -0
- data/spec/ramaze/helper/sequel_form.rb +91 -0
- data/spec/ramaze/helper/simple_captcha.rb +45 -0
- data/spec/ramaze/helper/stack.rb +86 -0
- data/spec/ramaze/helper/user.rb +72 -0
- data/spec/ramaze/helper/view/locals.xhtml +1 -0
- data/spec/ramaze/helper/view/loop.xhtml +4 -0
- data/spec/ramaze/helper/view/num.xhtml +1 -0
- data/spec/ramaze/helper/view/partial.xhtml +1 -0
- data/spec/ramaze/helper/view/recursive.xhtml +8 -0
- data/spec/ramaze/helper/view/recursive_local_ivars.xhtml +7 -0
- data/spec/ramaze/helper/view/recursive_locals.xhtml +7 -0
- data/spec/ramaze/helper/view/test_template.xhtml +1 -0
- data/spec/ramaze/helper/xhtml.rb +32 -0
- data/spec/ramaze/log/informer.rb +73 -0
- data/spec/ramaze/log/logging.rb +63 -0
- data/spec/ramaze/log/syslog.rb +73 -0
- data/spec/ramaze/params.rb +153 -0
- data/spec/ramaze/public/favicon.ico +0 -0
- data/spec/ramaze/public/ramaze.png +0 -0
- data/spec/ramaze/public/test_download.css +141 -0
- data/spec/ramaze/request.rb +61 -0
- data/spec/ramaze/rewrite/file.css +1 -0
- data/spec/ramaze/session/memcache.rb +66 -0
- data/spec/ramaze/struct.rb +47 -0
- data/spec/ramaze/template/ramaze/external.test +1 -0
- data/spec/ramaze/view.rb +36 -0
- data/spec/ramaze/view/erubis.rb +73 -0
- data/spec/ramaze/view/erubis/external.rhtml +8 -0
- data/spec/ramaze/view/erubis/sum.rhtml +1 -0
- data/spec/ramaze/view/ezamar.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/gestalt.rb +94 -0
- data/spec/ramaze/view/gestalt/external.ges +8 -0
- data/spec/ramaze/view/haml.rb +86 -0
- data/spec/ramaze/view/haml/external.haml +5 -0
- data/spec/ramaze/view/haml/sum.haml +2 -0
- data/spec/ramaze/view/liquid.rb +73 -0
- data/spec/ramaze/view/liquid/external.liquid +8 -0
- data/spec/ramaze/view/liquid/sum.liquid +1 -0
- data/spec/ramaze/view/nagoro.rb +73 -0
- data/spec/ramaze/view/nagoro/external.nag +8 -0
- data/spec/ramaze/view/nagoro/sum.nag +1 -0
- data/spec/ramaze/view/redcloth.rb +66 -0
- data/spec/ramaze/view/redcloth/external.redcloth +8 -0
- data/spec/ramaze/view/remarkably.rb +49 -0
- data/spec/ramaze/view/remarkably/external.rem +8 -0
- data/spec/ramaze/view/remarkably/sum.rem +1 -0
- data/spec/ramaze/view/sass.rb +73 -0
- data/spec/ramaze/view/sass/file.css.sass +5 -0
- data/spec/ramaze/view/tagz.rb +51 -0
- data/spec/ramaze/view/tagz/external.tagz +8 -0
- data/spec/ramaze/view/tagz/sum.tagz +1 -0
- data/spec/ramaze/view/tenjin.rb +57 -0
- data/spec/ramaze/view/tenjin/external.rbhtml +8 -0
- data/spec/ramaze/view/tenjin/sum.rbhtml +1 -0
- data/spec/snippets/array/put_within.rb +33 -0
- data/spec/snippets/binding/locals.rb +9 -0
- data/spec/snippets/numeric/filesize_format.rb +12 -0
- data/spec/snippets/numeric/time.rb +12 -0
- data/spec/snippets/object/__dir__.rb +14 -0
- data/spec/snippets/ordered_set.rb +63 -0
- data/spec/snippets/ramaze/acquire.rb +77 -0
- data/spec/snippets/ramaze/dictionary.rb +110 -0
- data/spec/snippets/ramaze/struct.rb +12 -0
- data/spec/snippets/string/camel_case.rb +25 -0
- data/spec/snippets/string/color.rb +11 -0
- data/spec/snippets/string/snake_case.rb +24 -0
- data/spec/snippets/string/unindent.rb +43 -0
- data/spec/snippets/thread/into.rb +9 -0
- data/tasks/authors.rake +30 -0
- data/tasks/bacon.rake +66 -0
- data/tasks/changelog.rake +20 -0
- data/tasks/copyright.rake +21 -0
- data/tasks/gem.rake +22 -0
- data/tasks/gem_setup.rake +99 -0
- data/tasks/git.rake +46 -0
- data/tasks/grancher.rake +12 -0
- data/tasks/jquery.rake +15 -0
- data/tasks/manifest.rake +4 -0
- data/tasks/metric_changes.rake +24 -0
- data/tasks/rcov.rake +23 -0
- data/tasks/release.rake +54 -0
- data/tasks/reversion.rake +8 -0
- data/tasks/setup.rake +6 -0
- data/tasks/todo.rake +27 -0
- data/tasks/traits.rake +21 -0
- data/tasks/yard.rake +4 -0
- metadata +720 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
class MainController < Ramaze::Controller
|
5
|
+
helper :identity
|
6
|
+
|
7
|
+
def index
|
8
|
+
if session[:openid_identity]
|
9
|
+
%{<h1>#{flash[:success]}</h1>
|
10
|
+
<p>You are logged in as #{session[:openid_identity]}</p>}
|
11
|
+
else
|
12
|
+
openid_login_form
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Ramaze::Log.loggers.each{|l| l.log_levels << :dev }
|
18
|
+
Ramaze.start :adapter => :mongrel
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
gem 'facets', '=1.4.5'
|
5
|
+
require '/home/manveru/prog/projects/nitroproject/glycerin'
|
6
|
+
require 'nitro'
|
7
|
+
require 'og'
|
8
|
+
|
9
|
+
class Article
|
10
|
+
attr_accessor :title, String
|
11
|
+
end
|
12
|
+
|
13
|
+
Og.setup :store => :sqlite, :destroy => true
|
14
|
+
|
15
|
+
class MainController < Ramaze::Controller
|
16
|
+
helper :nitroform
|
17
|
+
|
18
|
+
def index
|
19
|
+
form(Article.new).to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Ramaze.start
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
USERS = DATA.read.split("\n")
|
5
|
+
|
6
|
+
class MainController < Ramaze::Controller
|
7
|
+
helper :paginate
|
8
|
+
|
9
|
+
trait :paginate => {
|
10
|
+
:limit => 6,
|
11
|
+
:var => 'user_page',
|
12
|
+
}
|
13
|
+
|
14
|
+
def index
|
15
|
+
@pager = paginate(USERS)
|
16
|
+
%q~
|
17
|
+
<html>
|
18
|
+
|
19
|
+
<head><title>Users</title></head>
|
20
|
+
<body>
|
21
|
+
#{@pager.navigation if @pager.needed?}
|
22
|
+
<pre>
|
23
|
+
<?r @pager.each do |user| ?>
|
24
|
+
#{user}
|
25
|
+
<?r end ?>
|
26
|
+
</pre>
|
27
|
+
#{@pager.navigation if @pager.needed?}
|
28
|
+
</body>
|
29
|
+
</html>
|
30
|
+
~
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
Ramaze.start
|
35
|
+
|
36
|
+
__END__
|
37
|
+
Michael Fellinger 1868 [ 77.13% ]
|
38
|
+
Aman Gupta 211 [ 8.71% ]
|
39
|
+
Jonathan Buch 89 [ 3.67% ]
|
40
|
+
Gabriele Renzi 49 [ 2.02% ]
|
41
|
+
Ara T. Howard 44 [ 1.82% ]
|
42
|
+
Clive Crous 37 [ 1.53% ]
|
43
|
+
Keita Yamaguchi 27 [ 1.11% ]
|
44
|
+
Ryan Grove 17 [ 0.70% ]
|
45
|
+
Pistos 16 [ 0.66% ]
|
46
|
+
Wang, Jinjing 11 [ 0.45% ]
|
47
|
+
Colin Shea 9 [ 0.37% ]
|
48
|
+
Sam Carr 6 [ 0.25% ]
|
49
|
+
Stephan Maka 5 [ 0.21% ]
|
50
|
+
samcarr 4 [ 0.17% ]
|
51
|
+
raggi 3 [ 0.12% ]
|
52
|
+
Clinton R. Nixon 3 [ 0.12% ]
|
53
|
+
Chris Duncan 3 [ 0.12% ]
|
54
|
+
Richard Outten 2 [ 0.08% ]
|
55
|
+
Andy Smith 2 [ 0.08% ]
|
56
|
+
skaar 1 [ 0.04% ]
|
57
|
+
Yasushi Abe 1 [ 0.04% ]
|
58
|
+
Thomas Leitner 1 [ 0.04% ]
|
59
|
+
Rob Lievaart 1 [ 0.04% ]
|
60
|
+
Riku Raisaenen 1 [ 0.04% ]
|
61
|
+
Matt Rubens 1 [ 0.04% ]
|
62
|
+
Martin Hilbig 1 [ 0.04% ]
|
63
|
+
Leo Borisenko 1 [ 0.04% ]
|
64
|
+
Lars Olsson 1 [ 0.04% ]
|
65
|
+
Jeremy Evans 1 [ 0.04% ]
|
66
|
+
Jean-Francois Chevrette 1 [ 0.04% ]
|
67
|
+
James Tucker 1 [ 0.04% ]
|
68
|
+
Fabian Buch 1 [ 0.04% ]
|
69
|
+
Christian Neukirchen 1 [ 0.04% ]
|
70
|
+
Carlo Zottmann 1 [ 0.04% ]
|
71
|
+
Andrew Farmer 1 [ 0.04% ]
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
class MainController < Ramaze::Controller
|
5
|
+
helper :rest
|
6
|
+
|
7
|
+
on_get
|
8
|
+
def index
|
9
|
+
'Hello, World'
|
10
|
+
end
|
11
|
+
|
12
|
+
on_post
|
13
|
+
def create
|
14
|
+
p request.params
|
15
|
+
end
|
16
|
+
|
17
|
+
on_delete
|
18
|
+
def delete
|
19
|
+
'Deleted stuff'
|
20
|
+
end
|
21
|
+
|
22
|
+
on_put
|
23
|
+
def insert
|
24
|
+
'Inserted stuff'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
Ramaze.start
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
class MainController < Ramaze::Controller
|
5
|
+
helper :simple_captcha
|
6
|
+
|
7
|
+
def index
|
8
|
+
%|
|
9
|
+
<form action="/answer" method="POST">
|
10
|
+
<fieldset>
|
11
|
+
<legend>#{simple_captcha}</legend>
|
12
|
+
<input type="text" name="answer" />
|
13
|
+
<input type="submit" />
|
14
|
+
</fieldset>
|
15
|
+
</form>
|
16
|
+
|
|
17
|
+
end
|
18
|
+
|
19
|
+
def answer
|
20
|
+
redirect_referrer unless request.post?
|
21
|
+
|
22
|
+
answer = request[:answer]
|
23
|
+
is = check_captcha(answer) ? 'Correct' : 'Wrong'
|
24
|
+
|
25
|
+
"<h1>#{is}</h1><a href='/'>Back</a>"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
Ramaze.start
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
# delete cached css after inline template is changed
|
5
|
+
module Ramaze::SourceReloadHooks
|
6
|
+
module_function
|
7
|
+
def after_safe_load file
|
8
|
+
Ramaze::Cache.actions.delete '/css/style.css' if file == __FILE__
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class CSSController < Ramaze::Controller
|
13
|
+
engine :Sass
|
14
|
+
|
15
|
+
helper :aspect
|
16
|
+
before_all do
|
17
|
+
response['Content-Type'] = 'text/css'
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
define_method('style.css') do
|
22
|
+
%(
|
23
|
+
body
|
24
|
+
font:
|
25
|
+
family: sans-serif
|
26
|
+
size: 11px
|
27
|
+
margin: 0.5em
|
28
|
+
padding: 1em
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
helper :cache
|
33
|
+
cache 'style.css'
|
34
|
+
end
|
35
|
+
|
36
|
+
# http://localhost:81/css/style.css
|
37
|
+
Ramaze.start :adapter => :mongrel, :port => 81
|
@@ -0,0 +1,159 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
Ramaze.contrib :facebook
|
5
|
+
|
6
|
+
# Settings for your facebook app
|
7
|
+
# SERVER: where this ramaze app is running
|
8
|
+
# URL: the apps.facebook.com url to your app
|
9
|
+
# KEY: API key for your app
|
10
|
+
# SECRET: Secret key for your app
|
11
|
+
# ID: Your app's ID (from the about page url)
|
12
|
+
# ADMINS: uids of facebook users that are admins
|
13
|
+
# SESSION: an admin's session key
|
14
|
+
#
|
15
|
+
# These vars are used by the Facebook Helper are are also useful
|
16
|
+
# within your controller and templates. For example,
|
17
|
+
# <a href="#{Facebook::URL}/search">click here to search</a>
|
18
|
+
#
|
19
|
+
# In addition, set the following options on your app's 'Edit Settings' page:
|
20
|
+
# Callback URL: http://myapp.domain.com:7000/ (trailing slash required)
|
21
|
+
# Canvas Page URL: ramazing
|
22
|
+
# Can your app be added on Facebook: Yes
|
23
|
+
# Who can add your app: Users
|
24
|
+
# Post-Add URL: http://apps.facebook.com/ramazing/install
|
25
|
+
# Post-Remove URL: http://myapp.domain.com:7000/uninstall
|
26
|
+
# Side Nav URL: http://apps.facebook.com/ramazing
|
27
|
+
|
28
|
+
module Facebook
|
29
|
+
SERVER = 'http://myapp.domain.com:7000'
|
30
|
+
URL = 'http://apps.facebook.com/ramazing'
|
31
|
+
KEY = 'b32f58685c06a7f8107bc7915354bd89'
|
32
|
+
SECRET = 'e0f9........................9429'
|
33
|
+
ID = 2502696782
|
34
|
+
ADMINS = [ 15601088 ]
|
35
|
+
SESSION = ''
|
36
|
+
end unless defined? Facebook::ID
|
37
|
+
|
38
|
+
# The facebook helper (included your controller using +helper :facebook+)
|
39
|
+
# defines a +facebook+ object, which is also aliased to +fb+.
|
40
|
+
#
|
41
|
+
# POST parameters sent by the facebook servers can be accessed via fb.params
|
42
|
+
# and also fb[]. Wherever possible, values will be converted to native ruby
|
43
|
+
# types (Time objects, true/false, arrays)
|
44
|
+
#
|
45
|
+
# fb.params = { :api_key => "b32f58685c06a7f8107bc7915354bd89",
|
46
|
+
# :added => true,
|
47
|
+
# :profile_update_time => Mon Oct 15 15:07:28 -0400 2007,
|
48
|
+
# :friends => [1,2,3],
|
49
|
+
# :session_key => "f7bed6aefaa5467b3a6344f2-15601088",
|
50
|
+
# :time => Sat Dec 01 02:02:50 -0500 2007,
|
51
|
+
# :user => 15601088,
|
52
|
+
# :position_fix => false,
|
53
|
+
# :expires => 0,
|
54
|
+
# :in_canvas => true }
|
55
|
+
#
|
56
|
+
# fb[:user] == facebook[:user] == facebook.params[:user]
|
57
|
+
#
|
58
|
+
# The facebook object can also be used to make API calls. Native ruby types (true, false, strings, hashes and arrays)
|
59
|
+
# will be returned. If facebook returns an array with only one element, that element will be returned instead.
|
60
|
+
#
|
61
|
+
# facebook.auth.createToken # => "41b5dc65792ba4bf405faf857a17267c"
|
62
|
+
# fb.users.getInfo :uids => 15601088, :fields => [:name] # => {"name"=>"Aman Gupta", "uid"=>15601088}
|
63
|
+
# fb.profile.setFBML :uid => 15601088, :markup => 'Hi!' # => true
|
64
|
+
#
|
65
|
+
# API calls will use the current viewing users' session key (from fb[:session_key]) if present,
|
66
|
+
# or Facebook::SESSION, which should be set to one of the admin's keys. You can also provide another
|
67
|
+
# session key yourself from your users database:
|
68
|
+
#
|
69
|
+
# fb.feed.publishActionOfUser :session_key => "the user's session key", :title => 'is using Ramaze!'
|
70
|
+
#
|
71
|
+
# Finally, you can use the following facebook object methods:
|
72
|
+
#
|
73
|
+
# facebook.valid? # verify fb_sig, if invalid fb.params will return {}
|
74
|
+
# facebook.redirect '/url' # redirect to /url using <fb:redirect/>
|
75
|
+
# facebook.addurl # return the add url for the current app
|
76
|
+
# facebook.addurl '/url' # add url for app that redirects to /url after successful install
|
77
|
+
|
78
|
+
class MainController < Ramaze::Controller
|
79
|
+
helper :formatting
|
80
|
+
helper :facebook
|
81
|
+
|
82
|
+
before {
|
83
|
+
# show some information about current user in logs
|
84
|
+
# INFO Facebook {:user=>15601088, :in_canvas=>true, :added=>true}
|
85
|
+
if fb[:user]
|
86
|
+
# use facebook session_key as session cookie
|
87
|
+
session.session_id = fb[:session_key] if fb[:session_key]
|
88
|
+
|
89
|
+
Ramaze::Log.info "Facebook " + fb.params.reject{|k,v| k.to_s !~ /^(in|is|user|added|locale|request)/}.inspect
|
90
|
+
else
|
91
|
+
# require_add: redirect to add url
|
92
|
+
# fb.redirect fb.addurl
|
93
|
+
end
|
94
|
+
|
95
|
+
# suggest setting SESSION key if one is not set, and current user is an admin
|
96
|
+
# INFO Set a default session key: SESSION = 'b3638446fa02466210c49f42-15601088'
|
97
|
+
if Facebook::SESSION.empty? and Facebook::ADMINS.include? fb[:user]
|
98
|
+
Ramaze::Log.info "Set a default session key: SESSION = '#{fb[:session_key]}'"
|
99
|
+
end
|
100
|
+
}
|
101
|
+
|
102
|
+
def install
|
103
|
+
Ramaze::Log.info "#{fb[:user]} installed app" if request['installed'] == '1'
|
104
|
+
facebook.profile.setFBML :uid => fb[:user], :markup => "Isn't this a great surprise!?"
|
105
|
+
facebook.redirect request['next'] || '/'
|
106
|
+
end
|
107
|
+
|
108
|
+
def uninstall
|
109
|
+
Ramaze::Log.info "#{fb[:user]} uninstalled app"
|
110
|
+
end
|
111
|
+
|
112
|
+
def main
|
113
|
+
fb.redirect '/index' unless fb[:user]
|
114
|
+
@userinfo = facebook.users.getInfo :uids => facebook[:user], :fields => [:name, :pic_square]
|
115
|
+
%q(
|
116
|
+
Hey there #{@userinfo['name']}. You look like this: <img src="#{@userinfo['pic_square']}"/>. <br/>
|
117
|
+
You updated your profile #{time_diff fb[:profile_update_time]} ago. You have #{fb[:friends].size} friends. <br/>
|
118
|
+
<p>
|
119
|
+
<?r unless fb[:added] ?>
|
120
|
+
I know you already logged in, but you should really <a href="#{facebook.addurl}">add this app</a>.
|
121
|
+
You'll get a real nifty surprise on your profile if you do.
|
122
|
+
<?r else ?>
|
123
|
+
Now that you added this app, I can access your profile and news feed. <br/>
|
124
|
+
Did you see the cool surprise I left on <a href="http://www.facebook.com/profile.php?id=#{fb[:user]}">your profile</a>?
|
125
|
+
<?r end ?>
|
126
|
+
</p>
|
127
|
+
)
|
128
|
+
end
|
129
|
+
|
130
|
+
def index
|
131
|
+
facebook.redirect '/main' if facebook[:user]
|
132
|
+
%q(
|
133
|
+
This is a great app. Here are some reasons you'll like it:
|
134
|
+
<ul>
|
135
|
+
<li>It's on facebook</li>
|
136
|
+
<li>It's written in Ramaze</li>
|
137
|
+
</ul>
|
138
|
+
<a href="#{Facebook::URL}/main" requirelogin="true">Login</a> to start using it. Or, to
|
139
|
+
get the full benefit, you should <a href="#{facebook.addurl '/main'}">add it</a> so we have
|
140
|
+
access to your newsfeed and can add a box to your profile.
|
141
|
+
)
|
142
|
+
end
|
143
|
+
|
144
|
+
def layout
|
145
|
+
%q(
|
146
|
+
<fb:dashboard>
|
147
|
+
<?r unless fb[:added] ?>
|
148
|
+
<fb:create-button href="#{facebook.addurl '/main'}">Add App</fb:create-button>
|
149
|
+
<?r end ?>
|
150
|
+
</fb:dashboard>
|
151
|
+
<div id="content" style="margin: 0 2em 2em 2em">
|
152
|
+
#@content
|
153
|
+
</div>
|
154
|
+
)
|
155
|
+
end
|
156
|
+
layout :layout
|
157
|
+
end
|
158
|
+
|
159
|
+
Ramaze.start :adapter => :mongrel
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
require 'ramaze'
|
5
|
+
|
6
|
+
# This little app helps me track down memory-leaks in Ramaze.
|
7
|
+
|
8
|
+
class MainController < Ramaze::Controller
|
9
|
+
def index
|
10
|
+
"Hello, World!"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def memcheck(top = 10, klass = Object)
|
15
|
+
puts
|
16
|
+
os = Hash.new(0)
|
17
|
+
ObjectSpace.each_object(klass){|o| yield(os, o) }
|
18
|
+
pp sorted = os.sort_by{|k,v| -v }.first(top)
|
19
|
+
puts
|
20
|
+
|
21
|
+
return sorted
|
22
|
+
rescue Exception => ex
|
23
|
+
puts ex
|
24
|
+
ensure
|
25
|
+
GC.start
|
26
|
+
end
|
27
|
+
|
28
|
+
Thread.new do
|
29
|
+
loop do
|
30
|
+
# memcheck(10, String){|os, o| os[o] += 1 }
|
31
|
+
memcheck{|os, o| os[o.class] += 1 }
|
32
|
+
sleep 5
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
Ramaze::Log.loggers.clear
|
37
|
+
Ramaze.start :adapter => :webrick, :mode => :live
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ramaze'
|
3
|
+
|
4
|
+
class MainController < Ramaze::Controller
|
5
|
+
map '/'
|
6
|
+
|
7
|
+
engine :Nagoro
|
8
|
+
|
9
|
+
def index
|
10
|
+
%{
|
11
|
+
<Page title="Test">
|
12
|
+
<SideBar />
|
13
|
+
<p>
|
14
|
+
Hello, World!
|
15
|
+
</p>
|
16
|
+
</Page>
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
Nagoro.element 'Page' do |content, attrs|
|
22
|
+
%{
|
23
|
+
<html>
|
24
|
+
<head>
|
25
|
+
<title>examples/element</title>
|
26
|
+
</head>
|
27
|
+
<body>
|
28
|
+
<h1>#{attrs['title']}</h1>
|
29
|
+
#{content}
|
30
|
+
</body>
|
31
|
+
</html>
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
Nagoro.element 'SideBar' do |content, attrs|
|
36
|
+
%{
|
37
|
+
<div class="sidebar">
|
38
|
+
<a href="http://something.com">something</a>
|
39
|
+
</div>
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
Ramaze.start
|