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,34 @@
|
|
1
|
+
module Ramaze
|
2
|
+
module Helper
|
3
|
+
|
4
|
+
# Provides shortcuts to the link/script tags.
|
5
|
+
module XHTML
|
6
|
+
LINK_TAG = '<link href=%p media=%p rel="stylesheet" type="text/css" />'
|
7
|
+
SCRIPT_TAG = '<script src=%p type="text/javascript"></script>'
|
8
|
+
|
9
|
+
def css(name, media = 'screen', options = {})
|
10
|
+
if options.empty?
|
11
|
+
LINK_TAG % ["/css/#{name}.css", media]
|
12
|
+
elsif options[:only].to_s.downcase == 'ie'
|
13
|
+
"<!--[if IE]>#{css(name, media)}<![endif]-->"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def css_for(*args)
|
18
|
+
args.map{|arg| css(*arg) }.join("\n")
|
19
|
+
end
|
20
|
+
|
21
|
+
def js(name)
|
22
|
+
if name =~ /^http/ # consider it external full url
|
23
|
+
SCRIPT_TAG % name
|
24
|
+
else
|
25
|
+
SCRIPT_TAG % "/js/#{name}.js"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def js_for(*args)
|
30
|
+
args.map{|arg| js(*arg) }.join("\n")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/ramaze/log.rb
ADDED
@@ -0,0 +1,39 @@
|
|
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/log/logging'
|
5
|
+
|
6
|
+
module Ramaze
|
7
|
+
Log = Innate::Log
|
8
|
+
|
9
|
+
module Logger
|
10
|
+
autoload :Analogger, 'ramaze/log/analogger'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
__END__
|
15
|
+
|
16
|
+
require 'ramaze/log/logging'
|
17
|
+
require 'ramaze/log/hub'
|
18
|
+
require 'ramaze/log/informer'
|
19
|
+
|
20
|
+
begin
|
21
|
+
require 'win32console' if RUBY_PLATFORM =~ /win32/i
|
22
|
+
rescue LoadError => ex
|
23
|
+
puts ex
|
24
|
+
puts "For nice colors on windows, please `gem install win32console`"
|
25
|
+
Ramaze::Logger::Informer.trait[:colorize] = false
|
26
|
+
end
|
27
|
+
|
28
|
+
module Ramaze
|
29
|
+
autoload :Analogger, "ramaze/log/analogger"
|
30
|
+
autoload :Knotify, "ramaze/log/knotify"
|
31
|
+
autoload :Syslog, "ramaze/log/syslog"
|
32
|
+
autoload :Growl, "ramaze/log/growl"
|
33
|
+
autoload :Xosd, "ramaze/log/xosd"
|
34
|
+
autoload :Logger, "ramaze/log/logger"
|
35
|
+
|
36
|
+
unless defined?(Log)
|
37
|
+
Log = Logger::LogHub.new(Logger::Informer)
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
require 'swiftcore/Analogger/Client'
|
5
|
+
|
6
|
+
module Ramaze
|
7
|
+
module Logger
|
8
|
+
|
9
|
+
# Informer for the Swiftcore Analogger logging system.
|
10
|
+
#
|
11
|
+
# You can find it at http://analogger.swiftcore.org and install with
|
12
|
+
# gem install analogger
|
13
|
+
|
14
|
+
class Analogger < ::Swiftcore::Analogger::Client
|
15
|
+
include Logging
|
16
|
+
|
17
|
+
# identifier for your application
|
18
|
+
trait :name => 'walrus'
|
19
|
+
|
20
|
+
# Host analogger runs on
|
21
|
+
trait :host => '127.0.0.1'
|
22
|
+
|
23
|
+
# Port analogger runs on
|
24
|
+
trait :port => 6766
|
25
|
+
|
26
|
+
# Create a new instance, parameters default to the traits.
|
27
|
+
|
28
|
+
def initialize(name = class_trait[:name], host = class_trait[:host], port = class_trait[:port])
|
29
|
+
super
|
30
|
+
end
|
31
|
+
|
32
|
+
# integration to Logging
|
33
|
+
|
34
|
+
def log(tag, *args)
|
35
|
+
super(tag, args.join("\n"))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
require 'ruby-growl'
|
5
|
+
|
6
|
+
module Ramaze
|
7
|
+
module Logger
|
8
|
+
|
9
|
+
# Informer for the growl notification system on OSX.
|
10
|
+
|
11
|
+
class Growl < ::Growl
|
12
|
+
|
13
|
+
trait :defaults => {
|
14
|
+
:name => 'walrus',
|
15
|
+
:host => 'localhost',
|
16
|
+
:password => 'walrus',
|
17
|
+
:all_notifies => %w[error warn debug info dev],
|
18
|
+
:default_notifies => %w[error warn info]
|
19
|
+
}
|
20
|
+
|
21
|
+
# Takes the options from the default trait for merging.
|
22
|
+
|
23
|
+
def initialize(options = {})
|
24
|
+
options = class_trait[:defaults].merge(options).values_at(:host, :name, :all_notifies, :default_notifies, :password)
|
25
|
+
super(*options)
|
26
|
+
end
|
27
|
+
|
28
|
+
# integration to Logging
|
29
|
+
|
30
|
+
def log(tag, *args)
|
31
|
+
notify(tag.to_s, Time.now.strftime("%X"), args.join("\n")[0..100])
|
32
|
+
rescue Errno::EMSGSIZE
|
33
|
+
# Send size was to big (not really), ignore
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
module Logger
|
6
|
+
|
7
|
+
# Bundles different informer instances and sends incoming messages to each.
|
8
|
+
# This is the default with Informer as only member.
|
9
|
+
|
10
|
+
class LogHub
|
11
|
+
include Logging
|
12
|
+
|
13
|
+
attr_accessor :loggers
|
14
|
+
attr_accessor :ignored_tags
|
15
|
+
|
16
|
+
# Takes a list of instances or classes (which will be initialized) and that
|
17
|
+
# are added to @loggers. All messages are then sent to each member.
|
18
|
+
|
19
|
+
def initialize(*loggers)
|
20
|
+
@loggers = loggers
|
21
|
+
@ignored_tags = Set.new
|
22
|
+
@loggers.map! do |logger|
|
23
|
+
next(nil) if logger == self
|
24
|
+
logger.is_a?(Class) ? logger.new : logger
|
25
|
+
end
|
26
|
+
@loggers.uniq!
|
27
|
+
@loggers.compact!
|
28
|
+
end
|
29
|
+
|
30
|
+
# integration to Logging
|
31
|
+
|
32
|
+
def log(tag, *args)
|
33
|
+
return if @ignored_tags.include?(tag)
|
34
|
+
@loggers.each do |logger|
|
35
|
+
logger.log(tag, *args)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
module Logger
|
6
|
+
|
7
|
+
# A minimal logger for Ramaze, supports files, CLI, colors and some
|
8
|
+
# customization.
|
9
|
+
|
10
|
+
class Informer
|
11
|
+
include Logging
|
12
|
+
include Ramaze::Traited
|
13
|
+
|
14
|
+
attr_accessor :out, :colorize, :log_levels
|
15
|
+
|
16
|
+
# Should Ramaze try to use colors?
|
17
|
+
trait :colorize => true
|
18
|
+
|
19
|
+
# parameter for Time.now.strftime
|
20
|
+
trait :timestamp => "%Y-%m-%d %H:%M:%S"
|
21
|
+
|
22
|
+
# This is how the final output is arranged.
|
23
|
+
trait :format => "[%time] %prefix %text"
|
24
|
+
|
25
|
+
# Which tag should be in what color
|
26
|
+
COLORS = {
|
27
|
+
:dev => :blue,
|
28
|
+
:debug => :yellow,
|
29
|
+
:info => :green,
|
30
|
+
:warn => :red,
|
31
|
+
:error => :red,
|
32
|
+
}
|
33
|
+
|
34
|
+
# Create a new instance of Informer.
|
35
|
+
# You can spcify
|
36
|
+
#
|
37
|
+
# Examples:
|
38
|
+
# Informer.new #=> logs to stdout with all levels being
|
39
|
+
# shown.
|
40
|
+
# Informer.new($stderr) #=> same, but to stderr
|
41
|
+
# Informer.new("foo.log") #=> same, but logs to the file foo.log
|
42
|
+
# (or creates it if it doesn't exist yet)
|
43
|
+
# Informer.new($stdout, [:info]) #=> show only #info messages to stdout.
|
44
|
+
|
45
|
+
def initialize(out = $stdout, log_levels = [:debug, :error, :info, :warn])
|
46
|
+
@colorize = false
|
47
|
+
|
48
|
+
@out =
|
49
|
+
case out
|
50
|
+
when STDOUT, :stdout, 'stdout'
|
51
|
+
$stdout
|
52
|
+
when STDERR, :stderr, 'stderr'
|
53
|
+
$stderr
|
54
|
+
when IO
|
55
|
+
out
|
56
|
+
else
|
57
|
+
if out.respond_to?(:puts)
|
58
|
+
out
|
59
|
+
else
|
60
|
+
File.open(out.to_s, 'ab+')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
if @out.respond_to?(:tty?) and class_trait[:colorize]
|
65
|
+
@colorize = @out.tty?
|
66
|
+
end
|
67
|
+
|
68
|
+
@log_levels = log_levels
|
69
|
+
end
|
70
|
+
|
71
|
+
# Close the file we log to if it isn't closed already.
|
72
|
+
|
73
|
+
def shutdown
|
74
|
+
if @out.respond_to?(:close)
|
75
|
+
Log.debug("close, #{@out.inspect}")
|
76
|
+
@out.close
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# Integration to Logging.
|
81
|
+
|
82
|
+
def log tag, *messages
|
83
|
+
return if closed? || !@log_levels.include?(tag)
|
84
|
+
messages.flatten!
|
85
|
+
|
86
|
+
prefix = tag.to_s.upcase.ljust(5)
|
87
|
+
|
88
|
+
if @colorize
|
89
|
+
color = COLORS[tag] ||= :white
|
90
|
+
prefix.replace prefix.send(color)
|
91
|
+
end
|
92
|
+
|
93
|
+
messages.each do |message|
|
94
|
+
@out.puts(log_interpolate(prefix, message))
|
95
|
+
end
|
96
|
+
|
97
|
+
@out.flush if @out.respond_to?(:flush)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Takes the prefix (tag), text and timestamp and applies it to
|
101
|
+
# the :format trait.
|
102
|
+
|
103
|
+
def log_interpolate prefix, text, time = timestamp
|
104
|
+
message = class_trait[:format].dup
|
105
|
+
|
106
|
+
vars = { '%time' => time, '%prefix' => prefix, '%text' => text }
|
107
|
+
vars.each{|from, to| message.gsub!(from, to) }
|
108
|
+
|
109
|
+
message
|
110
|
+
end
|
111
|
+
|
112
|
+
# This uses Global.inform_timestamp or a date in the format of
|
113
|
+
# %Y-%m-%d %H:%M:%S
|
114
|
+
# # => "2007-01-19 21:09:32"
|
115
|
+
|
116
|
+
def timestamp
|
117
|
+
mask = class_trait[:timestamp]
|
118
|
+
Time.now.strftime(mask || "%Y-%m-%d %H:%M:%S")
|
119
|
+
end
|
120
|
+
|
121
|
+
# is @out closed?
|
122
|
+
|
123
|
+
def closed?
|
124
|
+
@out.respond_to?(:closed?) and @out.closed?
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
module Logger
|
6
|
+
|
7
|
+
# Informer for the Knotify notfication system used on KDE.
|
8
|
+
# Doesn't need any special libraries.
|
9
|
+
|
10
|
+
class Knotify
|
11
|
+
include Logging
|
12
|
+
|
13
|
+
trait :present => 16
|
14
|
+
|
15
|
+
# Please see for more information on the API used here:
|
16
|
+
# http://lukeplant.me.uk/articles.php?id=3
|
17
|
+
|
18
|
+
def log(tag, *messages)
|
19
|
+
present = class_trait[:present]
|
20
|
+
tag = tag.to_s.capitalize
|
21
|
+
messages.flatten.each do |message|
|
22
|
+
system(%{dcop knotify default notify Ramaze "#{tag}" "#{message}" '' '' #{present} 0})
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
module Ramaze
|
7
|
+
module Logger
|
8
|
+
|
9
|
+
# Informer for the Stdlib Logger
|
10
|
+
|
11
|
+
class Logger < ::Logger
|
12
|
+
|
13
|
+
# integration to Logging
|
14
|
+
|
15
|
+
def log(tag, *args)
|
16
|
+
__send__(tag, args.join("\n"))
|
17
|
+
end
|
18
|
+
|
19
|
+
# Stub for compatibility
|
20
|
+
def dev(*args)
|
21
|
+
debug(*args)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
module Ramaze
|
5
|
+
|
6
|
+
# This module provides a basic skeleton for your own loggers to be compatible.
|
7
|
+
# The minimal usage is like this:
|
8
|
+
#
|
9
|
+
# class MyLogger
|
10
|
+
# include Logging
|
11
|
+
#
|
12
|
+
# def log(tag, *args)
|
13
|
+
# p tag => args
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
|
17
|
+
module Logging
|
18
|
+
|
19
|
+
# Takes the tag (:warn|:debug|:error|:info) and the name of a method to be
|
20
|
+
# called upon elements of msgs that don't respond to :to_str
|
21
|
+
# Goes on and sends the tag and transformed messages each to the #log method.
|
22
|
+
# If you include this module you have to define #log or it will raise.
|
23
|
+
|
24
|
+
def tag_log(tag, meth, *msgs)
|
25
|
+
msgs.each do |msg|
|
26
|
+
string = (msg.respond_to?(:to_str) ? msg : msg.send(meth))
|
27
|
+
log(tag, string)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# Converts everything given to strings and passes them on with :info
|
32
|
+
|
33
|
+
def info(*objects)
|
34
|
+
tag_log(:info, :to_s, *objects)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Converts everything given to strings and passes them on with :warn
|
38
|
+
|
39
|
+
def warn(*objects)
|
40
|
+
tag_log(:warn, :to_s, *objects)
|
41
|
+
end
|
42
|
+
|
43
|
+
# inspects objects if they are no strings. Tag is :debug
|
44
|
+
|
45
|
+
def debug(*objects)
|
46
|
+
tag_log(:debug, :inspect, *objects)
|
47
|
+
end
|
48
|
+
|
49
|
+
# inspects objects if they are no strings. Tag is :dev
|
50
|
+
|
51
|
+
def dev(*objects)
|
52
|
+
tag_log(:dev, :inspect, *objects)
|
53
|
+
end
|
54
|
+
|
55
|
+
alias << debug
|
56
|
+
|
57
|
+
# Takes either an Exception or just a String, formats backtraces to be a bit
|
58
|
+
# more readable and passes all of this on to tag_log :error
|
59
|
+
|
60
|
+
def error(ex)
|
61
|
+
if ex.respond_to?(:exception)
|
62
|
+
message = ex.backtrace
|
63
|
+
message.map!{|m| m.to_s.gsub(/^#{Regexp.escape(Dir.pwd)}/, '.') }
|
64
|
+
message.unshift(ex.inspect)
|
65
|
+
else
|
66
|
+
message = ex.to_s
|
67
|
+
end
|
68
|
+
tag_log(:error, :to_s, *message)
|
69
|
+
end
|
70
|
+
|
71
|
+
# nothing
|
72
|
+
|
73
|
+
def shutdown
|
74
|
+
end
|
75
|
+
|
76
|
+
# stub for WEBrick
|
77
|
+
|
78
|
+
def debug?
|
79
|
+
false
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|