Update TODO, Version and announcement add (c) for Thread::into Adding Thread::into, almost forgot about it. Update doc/meta/announcement Remove Tool::Tidy and all traces of it, it's leaking memory, has problems upgrading and isn't used by anybody i know of. Using OrderedSet instead of Set helps keeping sessions deleted in chronological order Fix runner/starter/SEEED/APPDIR for bin/ramaze once again. Fix typo in string#/ Fix some spelling mistakes and clean up authors and patchstat rake tasks Updated doc/AUTHORS Add simple spec for examples/css Add dynamic css controller example + related sourcereload/caching enhancements New caching implementation, add support for :ttl and :key options + rdoc + specs Clean up examples/caching Improve file cache to work with mapped controllers Add Controller#cache wrapper for trait :actions_cached Prevent already initialized constant warnings in session spec Add traits task to list traits we have, only for quick and dirty overview, a bit buggy Add spec for IP_COUNT_LIMIT bug Improvment for add-copyright task Rewrite of helper/formatting for number_format Fixing Session::IP_COUNT, the same session-id should not be counted multiple times. Update (c) and shipped libs Bugfix from merb to get_args.rb Don't log backtraces for Ramaze::Error::NoAction Add Ramaze::Contrib::AutoParams for merb 0.4 style action parameterization Hack to fix strange rack behavior on PUT requests Print spec failure output so its readable Allow get('/action', { :input => 'value' }) and get('/action', 'input=value') Ran rake authors Move spec/helper/context to spec/helper/browser Simplify hash.inject([]) to hash.map Show last used email in AUTHORS file Remove simple_auth dependency on base64, use Array#pack('m') instead Add simple_auth example that implements Basic HTTP Authentication Cleanup RedirectHelper spec and add test for respond() with custom status code Add Controller#respond to RedirectHelper + specs Add FormattingHelper + specs Render aspects around actions before applying layout, and prevent aspects for render_template and layout rendering Change deprecated <%%> and invalid < use to prepare for Nagoro Fix references to Ezamar in template/nagoro.rb Refactored OrderedSet + specs again Update String#snake_case so CSSController automaps to /css instead of /c_s_s Layout cleanup - remove unused &block and don't include layout for render_template calls Clean up OrderedSet implementation and add more specs render_template fix and specs for usage within loops and recursively Allow for <%=@var%> style constructs with Ezamar (no spaces required) Implement Dispatcher::Action::FILTER as an OrderedSet so it isn't affected by source reload Conform to http spec regarding absolute uris in Location header Update auth example to use new :load_engines config option Minor improvment of spec wrapper ran fix-end-spaces Don't create meta-cache structure Require fileutils for Ramaze::Action::render Fix cache spec and add Action#extended_path again Fix off-by-one on spec output and cleanup template_root references in various specs Stop RDoc from complaining Fix Global options for (template|public)_root in spec/helper Don't activate Dispatcher::Directory by default. Updated benchmark formatting for wiki and latest benchmarks Add Global.load_engines to specify templating engines to load at startup Clean up Controller#extension_order and add comment to Action#uncached_render Add None template engine that does no processing Minor CgiHelper docfix whywiki example cleanups - remove extra output, use Rs() instead of R(self) and use methods defined by CgiHelper instead of CGI.(un)?escape Allow render_template to work recursively + spec Add spec for whywiki (ty @ riffraff) Add Ramaze::APPDIR to complement Ramaze::SEEED, make Global.public_root and Global.template_root relative from the APPDIR so we don't have to care where we run start.rb from Change spec to point to an unexisting file in any case Some improvments for whywiki Introduce Controller::engine and change specs to use the new form LinkHelper was escaping query-parameters, update implementation and specs. Add template example for nagoro Remove some junk from Rakefile, we don't use svn Make examples/sourceview work anywhere A few cleanups to the whywiki example (thanks gimb) Add caching to sourceview Keep the session[:STACK] out if we don't need it Simplify redirection Correct $LOAD_PATH in spec/helper.rb Sequel API change Small improvment for docs of RedirectHelper Small beautification to Dispatcher::File Adapt Nagoro for latest API changes Add (for now optional) support for Nagoro templates. Fix ezamar morpher, seems to break on 0.6 - simplify implementation at the same time... couldn't do a real benchmark for the new vs old since the old one doesn't seem to be able to process more complex documents, new one builds on XPATH functionality of hpricot and is a lot more robust but at the same time much easier to understand. Extend specs for it and don't require it by default anymore. Don't mention coderay in README anymore Minor sourceview cleanups layout example should not have an Element Numeric#human_readable_filesize_format #=> Numeric#filesize_format Add sourceview example- syntax highlighting source browser for ramaze source code gzip filter added Fix <title> in layout example Remove mention of Nginx from feature CGI Add Global.boring to avoid logging of some static files Don't overwrite Global on sourcereload Move auth example into its own dir and separate out templates so action stubs aren't required. Make AuthHelper#login_required private Add benchmark suite AuthHelper cleanups and an example using Sequel Ignore /favicon.ico by default rescue MissingArgument for missing arguments in bin/ramaze Add doc/LEGAL that is required by doc/LEGAL, holds a list of licenses and authors of files we use but do not 'own'. Add the needed adapter/swiftiplied_mongrel and adapter/evented_mongrel Support :adapter => (:evented_mongrel|:swiftiplied_mongrel), setting by ENV with :adapter => :mongrel and (SWIFT|EVENT)=1 should still work. we require 'mongrel' in any case, could that lead to problems? Fix hash-order issue for gestalt spec. Gestalt should accept symbols as attributes Fix reference and logging of CGI adapter. Fix docs for AuthHelper [localize] normalize session locale too Minor cleanup of whitespace [localize] normalize dictionary to regard symbols and strings the same, add usage doc Expand new Layout lookup so it can be relative paths too (no / at beginning means current controller) Add Stephan Maka to authors. spec/helper/wrap now handles rubygems version mismatch better. Do not automatically wrap layout paths in R(self, path) anymore, this allows for absolute paths so you can use layouts from other controllers easily. trivial comment changes Remove unused methods from Action Global.ignore now only ignores files if they don't exist. Fix requires for to specs. XSLT template example: add Content-Type XSLT template spec: two more examples XSLT templates: add extFunctions capability Ramaze support for XSLT templates, example Instruct SourceReload to expand filenames before loading to make sure they really do exist where we think they do. Slight 'beautifcation' for specwrapper SourceReload#reload_glob is now SourceReload.trait[:reload_glob] for ultimate control. This improves logging a bit by introducing the :dev tag and so lowering the overall output in default mode. alias Ramaze.contrib to Ramaze::Contrib.load Gestalt: allow text in arguments, properly escape this text and attributes Add $0 to files being sourcereloaded. Implement Global.ignore and spec it. Add Global.cache_alternative so you can specify a different cache-class to use for only certain caches. For example: Ramaze::Global.cache_alternative[:sessions] = Ramaze::MemcachedCache Small improvment to the sequel/fill contrib Add contrib/sequel/fill alias redirect_referer to redirect_referrer in RedirectHelper Allow custom /helper directory in apps, will be searched before ramazes helpers. Add the wikore example and fix spec for wiktacular a little. Improve output of spec wrapper a bit. Adding path for OSX to tool/tidy and improve readability of the spec for it a bit. Fixing dependence on the debug.rb implementation of ruby, since this may vary between different versions/implementations, use gestalt.rb instead, the oldest and most stable file we have. Small beautification/speedup for the mocked http Clean up the controller/resolve part a bit, implement raise_no_filter which throws a NoFilter error now and fix a minor bug that would result in a faulty response if an element of Cache.resolved was no valid action. Added docs for all methods in Controller. Restructuring of how contribs are handled, introducing the Ramaze::Contrib namespace, adding Global.contribs so we can add a unified shutdown in future, fixing routing so it won't try to match an already resolved route again and thereby avoiding recursion. Adding snippet for Array#put_within/put_before/put_after plus specs. docs missing. Updated spec for route This introduces the first contrib for routes, slight restructuring of Controller::resolve to allow filtering based on Controller::FILTER like we know it from Dispatcher. Added dictionary.rb from facets to allow sorted but hash-like routes-adding. Spec for routes added as small showcase. Add basic Ramaze::contrib as future helping instance for contributed things. make snippets/struct/values_at behaviour compatible with standard ruby (orig. by riffraff) Fix for directory-listing, always sort files/dirs shown TAG 0.1.4 Update doc/CHANGELOG Version 0.1.4 Make Struct#values_at backwards-compatible but remove Symbol#to_int (deprecated by ruby1.9) Fix typo in human_readable_filesize_format Update things in /doc Update doc/AUTHORS Fixing some more spaces. Adding (c) to Numeric#human_readable_filesize_format Adding --instant option to start bin/ramaze with an empty controller. Adding Numeric#human_readable_filesize_format and using it in the directory-listing. remove some useless debugging-information remove deprecated spec from dispatcher/file Remove the now useless controller/directory Minor fix to Action#extended_path Medium refactoring of bin/ramaze, adding better functionality in Global for it and adding some niceties for Global.public_root/template_root spec for Informer case statement in initialize spec for Action#to_hash spec for Struct#values_at spec for Struct#fill make snippets/struct/values_at behaviour compatible with standard ruby The usual, fixing some end-spaces. doc fix for caller_lines spec for Ramaze#caller_lines spec for Ramaze#caller_info Fixing directory listing and adding spec remove useless snippets/openstruct spec for String#snake_case spec for String#DIVIDE spec for String#color tests for snippet/string/camel_case small spec for __DIR__ snippet snippets specs for aquire,constant Fixing rake_tasks/spec for example specs more minimal READMES README for examples/blog Og's logger will write to STDERR which means that even if all tests pass SpecWrapper will show it in red and show the error report. It seems that using Ramaze::Inform as the default logger for it works, but maybe it should be done in start.rb, or we should use Logger.set(STDOUT) removed require ramaze from wiktacular specs ) these are just simple specs for example/blog, again more useful to show users how to write tests than to test the ramaze infrastructure. Strangely, all test pass but it is shown with a red bar from ramaze's rake. specs for wiktacular/{revert/unrevert} + refactoring Rewrite of Kernel#aquire Changing implementation of __DIR__ a bit. more tests for wiktacular to show post() usage Fixing typo in StackHelper docs. Adding the filecache meta structure and renaming Global.action_file_cached to Global.file_cache, adding Global.file_cache_meta_dir Make the wiktacular spec work standalone and fix its dependence on hash-order added __DIR__ snippet and change wiktacular to use it last __DIR__ usage in spec __DIR__ usage in examples more __DIR__ usage in specs changed todolist's spec to use __DIR__ use __DIR__ in specs refactor controller/model to hide path handling make wiktacular test work the dummy specs for wiktacular are now runnable standalone or from rake. It was a path problem. Needs consolidation in the model. Remove restriction on Haml, version 1.7.0 fixed the activesupport issue. Make executing spec-files directly work again. Update memcached, remove our flush_all hack, since this is supported by the latest version, add alias from #clear to #flush_all fixed todolist.rb so that spec run fine both from ramaze's rakefile and standalone re-added a commodity spec/helper to avoid changing all spec files example/todolist's db will be deleted at each test run, so we remay move todolist's test in example/todolist/spec mv spec/helper -> ramaze/spec/helper and accomodated requires. This means that end-users can use it for their own proijects by requiring ramaze/spec/helper, and we can add tests to the examples instead of leaving them in ramaze's spec directory. add cancel links to wiktacular templates Add missing html_layout.xhtml for wiktacular example. Fixing and improving filebased caching. '/' should be transformed to '/index' in Dispatcher::File. adding some path related methods to Action Adding filebased cache of actions... very alpha so please try it and suggest improvments (code donations more than welcome) Add Action#fullpath Create new Action for requests, modifying the cached one is dangerous. changed Adapter to circumvent JRubys TCPServer bug (http://jira.codehaus.org/browse/JRUBY-1266) Ramaze now works in JRuby with Webrick, tested on a PPC-Mac with JRuby 1.0 Add detailed error-message if haml 1.7.0 is installed but no activesupport. Improve text for redirection. Make examples/caching not based on computation, that is very error-prone and slow, use rand instead. More robust spec for informer Fixing multiple actions per layout. Remove references to FeedHelper/FormHelper from the features readme chunk. Update doc/meta/configuration.txt to reflect cookies => sessions. Global.cookies is now Global.sessions and actually works ;) Add examples/layout.rb Making layouts more flexible but not yet stackable. Fix aspect spec and aspects for template-only actions. Harmonize Fcgi documentation and code Updated spec for aspect helper Update description of gem Remove the faulty path from the post_install message on installing a gem. Added directory listing & another option move Dispatcher::build_response to Response#build partial helper module docs, pager add docs for private methods too Docs for Dispatcher::Action and RenderPartial, improving docs a bit concerning aspects *_all Full docs for Cache Full docs for CacheHelper A bit of meta-docs for IdentityHelper. finalize docs for controller/resolve document Localize class Remove FormHelper and specs Remove ReFeed/FeedHelper and Store::YAML and their specs Pager: documentation, major spec update Fix typos in AuthHelper Haml/Sass spec cleanup Documentation for mongrel/fcgi/cgi and sourcereload, reduces some overhead in the Cgi and Fcgi adapters. update docs concerning FeedHelper and ReFeed. Change wiktacular so it uses layout instead of Page. Put initial mapping into Controller::inherited so layout can work with it. Controller::startup is too late. Also introduces a change to delete any old mapping on usage of Controller::map. Add default content-type text/css for Sass and update specs for it Add autoload for Sass Fix typo in proto/template/index.xhtml initial support for Sass CSS templates Implementing layouts, view this patch to find out more as it also adds docs and specs Documentation for tool/localize Add another spec for Action() Added capitalization to Ramaze::Tool::Create output Updated user map information, added riffraff minor beautification and docs for controller/resolve fix a end-space Further improvment on error-handling on exception during render Add tries to require rubygems fix typo in bin/ramaze Documentation for Dispatcher, GlobalStruct, Dispatcher::Error, Tool::MIME, Response, Store::Default (adds some beautification in Dispatcher) document AspectHelper and Syslog document some raketasks move error-message in sourcereload into the failed hook full docs for sourcereload docs for informer main.rb is now start.rb tmm1's location on the ramaze users map add placemark for zenix Added Pistos avatar. Update of Pistos' description on Google Map. update users.kml add doc/meta/users.kml fix abort for bin/ramaze Add desc to release task Update CHANGELOG and AUTHORS TAG 0.1.3 Version 0.1.3 some minor changes Update announcement Document a bunch of methods/classes/modules rawiki is now wiktacular, fixed some bugs, added some features, HTML escapes fine now. documentation for dispatcher/error and the templating engines. Some more class/module docs. Documenting the inform/* informers. Add a spec for recent cache patch (namespaces for caches) don't translate empty strings (localize) Allow <Page js='foo'> as well as <Page js="foo"> small visual enhancement in resolve.rb Add rawiki example Revise cache, add cache-name to key, remove method missing .[] .[]= .delete .clear .values_at These are now the only operations supported by Cache, if you need more, use the Cache#cache to get the underlying object. Fix blog example, link is removed in favour of A Refining error-handling, now controllers are asked for a (also configurable) error-page if they have no action. Remove __ urls, saves us one iteration for each uri over 3 segments long :P jQuery 1.1.3.1 Warn if no mappings are done. Alternative error-page if error-template missing and hint about clicking backtraces. Two minor fixes for proto bugfix, Inform not Informer Add a Controller.at(mapping) method to nicely get to a mapped controller when you only have a path. remove the japanese COPYING, it's outdated and won't be read by anyone Partial suddenly needs Request.current instead of request O.o Scope for Elements is now the current controller This makes overriding of Elements easy. For example you have a top ::Page element and one in FooController::Page, the FooController::Page will be used when rendering actions from FooController and all other controllers will fall back to the default ::Page element. Protect Aspects when called on a controller which doesn't have the aspect helper included docfix, Base/IndexController don't get mapped to / anymore Sanitize Cache.resolved before blindly using what it gives us, better error-tolerance (for memcache as far as we know), oh, and removed some spaces at EOL Remove Global.public_proto, make sure you copy over the error.xhtml if you need it.. Add tool.rb to make autoload possible Follow the .current scheme with errors too, Ramaze::Dispatcher::Error.current informer_log_levels This patch adds a "filter" to the Informer class which allows for better separation of logs. For instance, you could log debug information at standard output while having another Informer logging all errors to a file. migrate previous render_partial fix to post 0.1.2 use hash of SEEED for memcached namespace [Pager] Overlooked one link implementation and spec for LinkHelper#breadcrumbs Remove eval in Pager, add new testcase Fix render_parial transformer fix up render_partial Some code-beautification and complete docs for all files in this patch. Fixing parser of `rake undocumented` to recognize '=begin rdoc' as comment as well. don't make a new Struct for GlobalStruct, causes problems with reloading. fix Pager (0.1.2 migration leftover) add Ramaze::SEEED which contains the file Ramaze.start was called from. Now used as key for memcached namespace. update AUTHORS - welcome tmm1! :) minor spec cleanups Describe the way of request/response in doc/meta/internals.txt (for rikur and all the other curious folks out there) Documented some undocumented methods. (by Riku R[_\c3_][_\a4_]s[_\c3_][_\a4_]en <riku@helloit.fi>) Make dispatching continue after Dispatcher::Action fails, just return the last available error if all dispatchers fail. Global.public_root has precedence over Global.public_proto TAG 0.1.2 Update CHANGELOG Version 0.1.2 Update announcement Update AUTHORS Revision of tutorial Replace Action::fill by Action::create to avoid clash with our custom Struct::fill (eventually we should solve that otherwise) - also fix the problem that params were not unescaped properly Added verbosity control to 'undocumented'. Run `rake undocumented-verbose' for the 'updated' version Documentation of main.rb & ezamar.rb Rough documentation of lib/proto/src/controller/main.rb and lib/ramaze/template/ezamar.rb add additional information about the colors for the `rake undocumented` task add ramaze/inform/knotify over Inform::Knotify total rewrite of the undocumented task, better matching using StringScanner and nicer output using colors. docs for the templating-engines, Template, Session and Tidy Add a couple of docs for Action and Dispatcher experimental compiling of templates, don't use it yet unless you are in serious demand of large speed-increase for mostly static templates. Xosd should be able to display multiple lines at once. Optional dynamic font size for XOSD simplify the template handling again, removing the (for now) unused Global.compile option add a Cache::startup for bulk initialization, clear the Cache.compiled and Cache.resolved on SourceReloadHooks#after_safe_load_succeed Improve performance by caching path lookups (need to add invalidation on SourceReload). change @template_root of controller when not given add the example i use to find memory-leaks, might be useful for someone. Fix memory-leak, Action should _never_ _ever_ use traits. Fixing Controller.current round up last patch, adding some files i overlooked and removing deprecated ones. Huge refactoring, making Action the central part for rendering. Please take a look at the changes until I can write some comprehensive summary (or wait with applying). Fix OpenID helper IdentityHelper Pager doesn't need Og anymore, small comment about exit! in adapter rather big change to Ezamar, fitting it to be able to compile before evaluation. add usage of Global.compile for erubis use tested doc in Controller::render get rid of a warning about undefined @files/@paths in sourereload Introducing experimental cached compilation (for HAML so far, and not ready for production, just a prototype) turn on Global.compile at your own risk ;) As expected, adding tests shows bugs :) CGI.rb has extremely bad names. escape() does url_encode unescape does url_decode so renamed them to this. Also added html_escape and html_unescape and one-letter aliases h and u. This behaviour comes for free by including ERb::Util but I don't know if we want to load all that (I'd say yes). All tests still pass, so the test suite is incomplete. ramaze with no opts should return -1 ENV SWIFT and EVENT now trigger require of swiftiplied or evented mongrel fixing all those annoying spaces on empty lines and adapt the add-copyright task not to add one automatically but just notice. mapping explanation in proto first TestDoc task fix typo in LinkHelper doc remove Base and Index as default mappings to '/' proto enhancement * integrated action-method, template and Page element * added a template-less action * changed index so that it gives slightly nicer informations update the authors task and doc/AUTHORS little clarification of code in Controller::render extend PartialHelper with render_template caching for our custom Request#params Add :collect trait to Localize, disable collecting for more speed pager need og/collection to run use HAsh#fetch when getting trait or default in render.rb Controller::cached? #=> Controller::should_cache? remove the mostly static trait :transform_pipeline in Ezamar with a constant, watch out since that may affect your code if you added custom transformers. add automatic require for win32console on windows (if installed) and sanitize @colorize/trait[:colorize] a bit add docs for Controller::render Controller::render gets a default empty array for params and params are each called .to_s upon to make escaping possible and unify the effects of calling internal against being called external. Add render partial implementation + specs constantize a couple of traits in Dispatcher, Dispatcher.trait[:handle_error] is now Dispatcher::Error::HANDLE_ERROR, Dispatcher::Action.trait[:filter] is now Dispatcher::Action::FILTER, sanitize error spec and add some docs. Common error classes, tiny change to Global, StackHelper expects url instead of using R() itself some santizing and docs for Session. speed up path resolution a little bit by directly instantinating Action fixing link building of the whywiki example document Informing and add some minor speed increase (increase will be smaller than most loggers would take to actual output) DRY up template.rb and add some docs docs for Action a couple of docs for Controller make the life for people who want to run specs without RUBYOPT easier small update to the FAQ add a Inform.ignored_tags so you can skip tags like :debug easily split up SourceReloadHooks::after_safe_load into after_safe_load_failed and after_safe_load_succeed, you get additionally the error-object on failure (also fix the s/save/safe typo) put the hooks into their own module SourceReloadHooks another wrapper, this time around save_load, with file and status for after SourceReload#before_reload/after_reload method stubs, to be filled by YOU :) Controller.trait[:template_extensions] is now Controller:TEMPLATE_ENGINES and retains order of your engines as you require them, you can also change it afterwards easily (wasn't possible with the Hash we used before) flatten atoms for R() fix LinkHelper to use Controller.current instead of self fixing memcached for multithreading Global.public_root went Global.public_proto and Controller.public_root went Global.public_root typo in LinkHelper docs Add PagerHelper (port from Nitro) add a release task TAG 0.1.1 update CHANGELOG Version 0.1.1 update todlist.html rdocs for LinkHelper rewrite of LinkHelper, link() is gone, use A() instead, will add some rdocs on usage. synchronize tutorial html-version another update of tutorial fix the precendence of startup-options: bin/ramaze > Ramaze.start > Global.option some fixes to the tutorial rake rdoc should generate the readme add some docs, update announcement and README Correct a minor typo/spelling error in shutdown message params assigned to Action should be unescaped automatically Cleanup some Remarkably requires "Update Remarkably usage for Remarkably-0.5.0" make the template+arbitary-params fail (i.e. make the spec pass) Spec for templates accepting arbitrary parameters (failing for now) this is a patch with rather large impact. I rewrote the whole aspect-business to get a much cleaner solution, aspects are now simple blocks and the hooks have been integrated in Controller (don't do anything by default, so unless you use AspectHelper the impact is near zero). Also removed the various monkeypatches of Method and Kernel#method since we don't use them anyway. updated tutorial and specs. extend the specs for the todolist example to match the current status tutorial should have a list instead of a simple <br /> separated linklist remove some wrong docs adds the CgiHelper and extens the default helpers by :flash and :cgi automatically unescape params in Action.params when they are set update doc/tutorial/todolist.* last step improving todolist example first fix for todolist example some small fixes for todolist.mkd move doc/tutorial/todolist.txt to .mkd so i can finally have automatic synatx in vim :) fix AspectHelper, it had errors with negative arity add support for cookies and referrer to MockHTTP add some docs for our override of Request#params clean up the todolist example a bit some fixes to get rid of rdoc warnings this is the last stage of the templating-refactor. improve Ramaze::Cache a bit, adding method_missing so you can use the advanced features of your cache speed up element spec speed up template spec speed up controller spec speed up params spec finally fix the localize spec, properly speed up the examples/chaching spec This removes Ezamar::Morpher from the templating-pipeline of Ezamar, if you don't know what Morpher is, ignore this :) [yay, another speedup] fix serious memory-leak, yeah, it's sessions and traits again... make Ezamar even faster remove usage of mongrel-adapter from the controller spec remove snippets/rdoc/usage_no_exit, it's not needed with the new bin/ramaze add Struct#values_at and finally, the little big templating-refactor, passing the real action rather than an hash to the transform-method of the engine. The most impact has the change of @action in a controller to the real action rather than a (propably wrong) action-name and that Ezamar pipeline specifies a nested array of class and method to call on the class. unify all examples for templates, preparation for big templating-refactor remove the dusty, old, deprecated, unneeded and nasty yaml files from proto, this time for real. minor fix for bin/ramaze yet another fix for bin/ramaze no bulky RAMZE_BASE in the bin/ramaze anymore, just require ramaze add check for defined?(Action) fixing some typos in tutorial use the new functionality of Cache all over Ramaze, makes a ton of trait lookups unnessecary and the total caches available in a single place. make Cache Enumerable, add #each, #has_key? and ::add to add new global caches that are easily accessable fix Dispatcher::File and add spec for missing response-code due to an evil mix of racks status-code hash and rubys nil.to_i => 0 fix localize spec add the tutorial task for rake add some (c) for the controller split tutorial/todolist.html has a neat little menu with ToC now update of tutorial/todolist a little cleanup for bin/ramaze don't create a new instance of the adapter for every request, we use singleton-methods only - may improve performance :) improve examples/hello documentation for ramaze/adapter/base.rb document ramaze/action.rb and ramaze/adapter.rb document lib/ramaze.rb update the meta-doc for configuration add a chapter about configuration to the tutorial add some cleanup to the cache specs split up Controller and move the parts in the ramaze/controller directory additional fix to bin/ramaze, it didn't work with '-a m' to select adapters. Ramaze doesn't extend itself anymore, so you have to explicitly write 'Ramaze.start' instead of 'include Ramaze; start' - is that good? minor update for tutorial a couple of additional requires for socket and yaml, mongrel and webrick. fixing a small bug that arose when we switched to ThreadGroup. add MemCache#clear and fix SourceReload for files from ./ improve output of SpecWrap a little bit for the controller spec (the one with 125 specs) a couple of changes for adapter, better usage of Adapter::Base, moving it into ramaze/adapter/base, got rid of racks trap in a rather clean way and change Global.adapters from Set to ThreadGroup which gives us as well easier and cleaner control. fix lib/proto as well fix examples/todolist and add a quite good spec for it add to Global.origin remove the old /conf files from proto and example/todolist we ain't got no modes anymore fix bin/ramaze --create require rack/handler/mongrel instead of mongrel directly fixing random vanishing of template_extensions spec and corresponding fix for the "i've got an empty hash in my request.params['foo']" problem switch trait _template to Controller::template remove an added path that was only useful for me SourceReload just got a lot mightier. split up global.rb into global.rb global/dsl.rb and global/globalstruct.rb - introducing the clean GlobalDSL :) remove some of the to_sym usage and the Hash#keys_to_sym(!) from snippets. One spot still left, but we need a wrapper for it first. due to the annoying trap of rack we'll define a new trap every second now, gotta fix that later on, but continuations and trap are two nasty beasts... maybe we should patch rack for this somehow (chris2 won't - asked already). remove some cruft from bin/ramaze Total rewrite of bin/ramaze based on optparse, which turns out to be nearly perfect for our usecase. Try it, read it, be astonished! (the DSL in Global finally is put to use now as well) update the announcement.txt to keep track of features - we'll just add them here and remove what is not important or accurate prior to the next public release on 0.1.2 add Ramaze::Record to easily record requests made that fit a particular pattern. fixing the trait _template spec and implementation to avoid recursion various fixes to Cache and adding spec for the new layout of it. Change the Remarkably Template usage to cater for Remarkably version 0.4.0 and higher Remove an accidentally added piece of debug code. Add small spec for template resolving of traits Remove yaml files for localizations add migration info for patch 1111 first attempt at a DSL for Global + docs + CLI minor fixes add testcase_requires for the templating examples H.U.G.E. refactoring of the core of Ramaze, beware! don't try this at work! will assemble a change-guide tonight. Add Remarkably templates make the error.zmr a lot simpler, remove the logo, don't use CodeRay and use ENV['EDITOR'] instead of vim (if set) - also some improvments to the stylesheet regarding the <pre> tags remove the post-clean tasks for specs, they are never run since darcs relies on exit-status and so SpecWrap exits before they can be done fix the :force_setup setting and rename it to :origin, it was only used in this way in spec/ramaze/helper/form and with the new spec-system this is not needed anymore, gives us nicer handling of CLI/app/spec options restructure spec tasks, check `rake -T` for the new tasks remove spec/ramaze/dependencies - it's not exactly helpful anymore some small fixes don't base SourceReload on a sleep of @interval/files.size, rather sleep fixed @interval (which is now by default 1) fix SourceReload Global.shield - a security-net for the Dispatcher to respond fast to repeated errors without first going down the controller (rendering the error-page still takes ages) move Action out of Controller into ramaze/action.rb fix for the params-fix add fix for paramix if Og is used introducing SourceReload instead of old autoreload Make Analogger trait-configurable again Makes it play better together with LogHub TAG 0.1.0 Update CHANGELOG Version 0.1.0 fix localize spec update README with latest chunks some patches to the rake-stuff, BASEDIR was messed up and some other things were outdated remove Tidy and Localize form the Action pipeline (fix the spec and remove some spaces) Update localization tool a couple of updates for the readme_chunks move bl_Og to blog remove the old blog example fix a couple of bugs that the new controller stirred up, private methods are now really no actions anymore, fixing auth-helper and aspect-helper to respect that. update announcement remove some spelling-mistakes in announcement don't use an additional .reverse for the session-key Informer again, flush the output if possible, that makes it possible to tail -f if you pipe to a logfile check for .tty? when deciding whether we should colorize or not. intelligent logging of errors in Dispatcher::Error, omitting repeated backtraces Change Rs() to use Controller.current instead of self add Controller::current and an experimental spec of how to do render_partial fixing Controller::template_paths and Controller::resolve_template tons of small fixes and improvments, Inform.debug won't inspect anymore if it's already a string, proper error-handling with sweet 500's for the templating and specific 404s for not found controller or action, improved caching in Controller, fixed some bugs in the AspectHelper, fixed the cache-example spec, activated the error-specs again, added some (c), gave the Action Struct a nicer look..... add and use snippets/struct/fill improve pattern_cache for Controller make the caching spec a bit more robust fixing some weirdness and verbosity disable two specs so we pass all specs - these are about error-handling but right now it's not clear what the distinction between 404 and 500 is anymore. some minor changes big extension of spec/ramaze/controller add ramaze/controller to the spec layout again fixing some spaces include the spec dir to the fix-end-spaces task fix/extend the template_resolving spec add some modules to ignore as actions in the spec/helper setup fix template/ezamar file-lookup is done for it, no need to do it again fix helper/aspect for the new Controller better handling of Dispatcher::File - we should cache the lookup-paths let the Dispatcher::Error respect Global.error_page 90% rewrite of controller/action/template lookup in Controller move Global.controllers setup into the DEFAULT of Global add the Action Struct, nothing fancy but it should act from now on as container for actions ramaze-wide, most likely we'll extend it with binding and optional controller, it only propagates inside controller.rb and helper/aspect.rb atm remove the proto/public/404.jpg we cannot distribute something that doesn't belong to us. Add 'template resolving' controller spec add workaround if we run specs and don't want their modules in our controller some small updates on the previous patch Add a few specs for the base ramaze template class doc and typo in bl_Og/main.rb huge patch consisting of 171 hunks that provide huge improvments both to ramazes core and the whole spec-system, which is now mock-based fixing the template_root for the example templates make some helper-methods private make bin/ramaze compatible to ruby1.9 clean files of the SpecLayout in a seperate step add example/bl_Og from entropy Add a spec for testing Markaby links Add my surname improving performance in controller lookup remove special handling of action 'error', it's not needed anymore split up the Rakefile and put parts into rake_tasks add the rake authors task that generates the doc/AUTHORS add the template specs to the default specs get rid of the failures we sometimes get for webrick by explicit require fixing extensions lookup order, it doesn't allow much modification yet, but should work for most common cases fix the markaby example, 'this' should be a symbol remove the old template from the haml-example update dependencies, rspec now 0.9.1 fixing the template examples and add specs remove old stuff from Template::Markaby fixing instances-variable passing for markaby remove some of the debugging-code from markaby fix automapping update proto configs fixing the markaby example update spec/dependencies to include syntax exit specs if rspec is < 0.9.0 add spec/helper/layout and use it in spec/all - this is hopefully the last in a series of refactorings for the spec-framework add spec for inform/informer and inform/syslog update dependency-versions for gemspec convert specs from 0.8.x to 0.9 update global.rb for ruby1.9 update spec/all into a less hackish and easier configurable design, running all specs including examples add helpers to spec/all add spec for FileHelper add (c) to FileHelper updating Rakefile to add a newline after (c) adding specs for a couple of the simple examples adding FileHelper, no specs for it yet but added it to default-helpers add Controller::map to make the 'trait :map => "/foo"' nicer, use it like: 'map "/foo", "/bar"' adding some startup-information about controllers small fixes to loggers add the missing helper/markaby minor rewrite of Template::Markaby and its spec some modifications to make LinkHelper work with markaby, it's a bit ugly right now... this improves the template-lookup and general performance of Controller, file-templates can now be handled by different engines based on the extension, if unknown or method-only the trait takes over. also replacing some ancestral_traits with more specific versiosn of class_trait/trait improving example for markaby a bit, it's not working yet though, have to talk with the markaby-folks fixing some (c)s use '--partial' for darcs get putting Ramaze::Inform assignment into Global.setup again move checking for automap into Controller huge refactoring of logging, this needs extensive review add map for examples/hello as well fixing examples/element - we need mappings now fixing a non-critical behaviour where Ezamar would throw an error if it cannot find a template but an action is there. adding Object#class_trait for better lookup of traits defined in the class of the current instance rewrite of notification_hub and xosd removing the spaces that kashia introduced so nice in the last patch Add NotificationHub, Growl, Xosd Loggers This is a preliminary patch, especially the Xosd is not tested. better report about errors in the ezamar pipeline, please note that the browser will still show 'no such action', but the console will inform you about all real errors (this has to improve further) little change in blog example Add a response message for deleting "no such entry" in the blog example session result message is by id instead of class in the blog example, and disappears after 1.5 seconds emphasise titles displayed within results for the blog example Show session result if applicable Replace all references to oid with eid in the blog example. limit sessions to 1000 per IP, also makes inspecting ObjectSpace easier add Global.test_connections to switch testing connections via TCPSocket on startup. replace some stuff in spec for CacheHelper to be more readable s/Context/Browser/ for specs, Context could be confused with the meaning of context of RSpec. add doc/meta/announcement.txt as a template for announcements - would be thankful for reviews and corrections. move configuration/internals from doc/readme_chunks to doc/meta move out SpecWrap to spec/helper/wrap and add a little fix to commonize fixing tutorial and examples/element Element doesn't use @hash anymore, instead the keys are set to instance-variables directly, please take car, this causes breakage total restructure of spec remove the rescue Object from tool/localize rename Global.inform to Global.informer to respect what class it is pointing to add backtrace to Informer#error again adding readme_chunks/internals.txt update configuration.txt and remove useless :cache_actions from Global add doc/readme_chunks/configuration.txt - just a first draft and to be completed adding implementation and specs for tool/localize (we _need_ docs for that) a couple of fixes and adding missing stuff to Global Logger fixes define $context_runner getting rid of warnings in SimpleHTTP don't define #get twice in the spec requester get rid of the warning about redefinition of aquire get rid of the redefinition of #each... do an actual check first (for 1.9) huge refactoring of the Inform system for better configurability, this changes lots of small things in lots of places, but nothing too invasive adapt error.zmr to new inform system add support for nested params pass $: as -I over in spec_all GlobalInformer Inform in the og-gulper add systemu to optional dependencies better implementation of String#each (for 1.9 only) Informer => Inform brand new controller lookup on startup - use YourController.mapping to get its mapping :) fixing (c) fixing logger.rb by adding Informer add missing logger.rb for informer change Make logger configurable Included loggers: * GlobalInformer (standard) * Analogger [Kirk Haines] * Syslog filter for Dispatcher::Action new implementation of autoreload, not in usage yet, but it should boost performance and reliability (and avoid the awkward double-thread replace the aquire with a verbose way... snippets were not added to the $:/$" extending Global for setting and add a trait-link to tidy better implementation of tidy... only use it for debugging, it's leaking memory remove the post_dispatch from Dispatcher a couple of changes in Global, we can now collect the traits inside Global transparently (finally modular configuration) use class-methods instead of instantination in the Dispatcher for speed extremly brutal refactoring of Dispatcher, it lacks a bit of elegance right now, but it is the right way a couple of small changes for compatibility with 1.9 small refactoring for Inform#error small fixes for YARV exitstatus 0/1 for spec_all so the darcs hook can see if it's passing - finally automated recording-joy :) darcs hook fixing flash for memcached add rake patchstat allow request[:foo] to access request.params['foo'] add Inform::warn check the template-dir mapping on startup for each controller a bit more elaborate but much safer handling of exceptions in Ezamar experiments in adapter.rb - please review refactor of request/response/dispatcher/adapter (be careful, tidy broke) little cleanup better error-reporting for usual NoMethodError in controller/template use normal blocks instead of Symbol#to_proc, there was some weird error in Informer#debug fixing the usage of meth_debug, replacing it with normal debug add helper/inform yet another possible refactor of Inform, thinking about just using Informer instead, the modules functionality is not used anywhere. adding --console and --backtrace as startup-options for the bin/ramaze, improving error-reports for gone-wrong requires on startup update doc/TODO fix rake task todolist huge refactoring of Inform for better handling of colors and nicer code remove some debugging from examples/blog s/Global/Ramaze::Global in adapter.rb add further colors/styles to snippets/string/color avoid warning on reload of Inform / don't define Informer twice added simple colorizer for Inform - can be activated by Global.inform_color = true / added String#red/yellow/green to snippets/String/color restoring and improving functionality of Tool::Tidy, you can now output tidy HTML by setting Global.tidy = true | added ability to change the options and paths, no `locate` anymore TAG 0.0.9 0.0.9 fixing (c) beautify code block css in tutorial typos, proper encoding and doctype for the tutorial add tutorial/todolist.html update tutorial/todolist - bluecloth instead of rdoc update the principles chunk add a tutorial2html to the rakefile close all inform_to on exit fixing the ramaze call in the two failing specs define a new Request#fullpath (in latest rack, not yet released) improving spec_all further, correct align of errors and information when a spec yields no usable output change default in spec_helper to webrick instead of mongrel add attempt to require rubygems to spec_all add the spec/public/error404.xhtml and adapt the tc_error, static error-pages are now definetly working replace Term::ANSIColor and the stubs with a small actual implementation allow multiple 'pipes' for Global.inform_to, just give it an array (backwards-compatible) updating tc_error getting rid of a warning about redefining Traits Sanitizing error-handling for non-existant static error-page fixing Inform, it did wrong matching for $stderr/$stdout add example for nitroform add a first stub for helper/nitroform - there seem to be some odd problems don't raise when we can't find the file wanted by caller_lines fix Kernel#aquire (by lasso) improve handling of missing actions, now raising NoActionError fix serving static files on windows (hopefully) remove the useless _openid_consumer_service from the session afterwards add examples/identity fixing IdentityHelper so that it works move helper/openid to helper/identity add ::create_with(hash) to store/yaml show the real error from Template::Ezamar make the error parsing a lot more robust and fault-tolerant adapt Controller#error for the new caller_lines/caller_info extracting caller_lines and put it into snippets/kernel/caller_lines - also small fixes in caller_info small changes in Method#name move snippets/kernel/caller_lines to snippets/ramaze/caller_lines fixing problematic error response in dispatcher remove Kernel#silently require pp before patching pretty_inspect move Method#name from snippets/kernel/method to snippets/method/name remove Thread#dead? remove snippets/kernel/rescue_require move snippets/kernel/self_method => snippets/kernel/method fix Rakefile so that it produces good gems again move snippets/kernel/autoreload => snippets/ramaze/autoreload don't R() the passed params to redirect and update docs update tc_helper_redirect better information about errors in templates better handling of redirections, you can now catch(:redirect){ another_action } to prevent redirection from that path of execution typo support custom status-code in redirect and do R() automatically on the params update Rakefile add (c) to OpenidHelper update README update examples/todolist update tutorial small improvment to template/ezamar makes methodless actions work again. remove helper/template_map update feature-list add a Rs method to LinkHelper to make the usual R(self, :foo) stuff into Rs(:foo) and update the tc_helper_stack add first implementation of OpenidHelper (yet untested) fix tc_helper_redirect 0.0.8 as version alias referrer referer document CacheHelper document FlashHelper cleanup and docs for Ramaze::Request (add values_at for quick params-retrieval) some cleanup and documentation for Trinity::Session, it also got a trait[:finalize] as a pipeline of what to do on finalize (finalize_flash only atm) don't escape the @title of an error twice less agressive redirect in R/link proper inspect in the error-page and adding inspect/pretty_inspect to Global TAG 0.0.8 newline :) checking all the caches in tc_session nicer output of specs of helper_auth and tc_session reimplement Trinity::Session fixing the caller_lines bug no rescue in StackHelper anymore small fix in yaml_store small nicety in examples/simple add 'stubs' for CGI and FastCGI - they are not tested at all yet, suggestions for specs welcome remove the actionview_stub from HAML, it's not needed with HAML 1.5 (make sure you upgrade though) remove the ezamar-'feature' ;) speed up the ezamar-spec a bit and proper errors for markaby deleting entities in Store::YAML possibility to #{render} in your controller/templates escape the title of the error-page to show classes properly small improvments to bin/ramaze - output of version and better info when there is nothing to start small improvment in custom_template selection remove debugging-statements better error-reports from Ezamars transformation no more errors about #debug? missing from WEBrick improved error-page (minor fixes) fixing the ezamar example fixing spec_all to report the real number of failed specs shorter line don't assign a FLASH_PREVIOUS when we don't need to (also add a (c) to pretty_inspect) fixing FlashHelper (with a new SessionFlash in trinity/session) put the new specs into the old tc_helper_flash spec for flash, template finding fix * trait :foo_template => :bar__foo did break * added spec for flash, no fix relax arity-sensitivity, it's impossbile to get right and shouldn't block correct parameter-sets More specs for params add fallback for pretty_inspect fixing session-problem plus the specs fixing the flash_id informing you about missing elements add rack in the tc_dependencies new custom error-handling, tell me your exception and i tell you where you land temporarily add Helper to Element avoid malformed response from the controller specs for FlashHelper add ability to delete specific key from session improve error-handling in Template::Ezamar add FlashHelper updating some readme chunks handle the case when there are no controllers... remove setup.rb since i don't provide any support for it. update Rakefile (dependencies and some tasks) change the require for rack, make sure you got the gem installed or it's in your path (or required already) remove vendor/rack since rack has its release out now controller has to respond to :render fix lookup for the cache improved error-handling, templating-engines take responsibility now fix docs for examples/hello proper namespacing, address everything under Ramaze, don't rely on the user to include Ramaze in the main-namespace fixing namespace for Informer in adapter/webrick rack snapshot testrunner should work on windows refactoring the filtering in dispatcher to return early results and do nicer error-handling oh phrack, we just require template/ezamar on startup now... no more autorequire-magic :P updates to the README making it possible to go without Element in AuthHelper fixing references to Element in proto and specs fixing references to Element Morpher and Element moved into module ::Ezamar - please do now class YourElement < Ezamar::Element - this is part of an ongoing effort to extract Ezamar for broader usage new doc/README from the chunks proper heading for README splitting README into seperate files in doc/readme_chunks add rake build-readme to build the README from the chunks in doc/readme_chunks remove the fluff from trinity/response - soon to be removed altogether Ramaze::Request => Rack::Request set 404 in Controller#error proper check for 404 in tc_error adapt the specs to take advantage of Context#story adding Context.new with block or Context#story to provide a way for consecutive requests inside a common context. using request_uri instead of path_info for StackHelper to preserve params rack snapshot fixing spec/tc_controller fixing the first-load-problem which was caused by complicated require-procedures. fixing examples/todolist fixing Global.cookies = false snapshot rack add doc/GPL support link('/' :class => 'foo', :id => 'bar', :title => 'index') small improvments in examples/whywiki extending examples/element a bit fixing examples/caching hopefully fixing the issue of first-load problems add lib/proto to the lookup-paths for static files snapshot of rack fixing filters, the third change order of filter... again change doc/COPYING change filter-order for static files to take priority turn off $VERBOSE again adding a requirement for rubygems in tc_dependencies (if you don't have rubygems you don't have to worry about that anyway) fixing Global.cache_all multiple fixes in the examples/blog adapting the various specs for the new context/request helper switching the testing-system to a modified version of simple_http, much cleaner :) refactoring request_tc_helper a little bit adding session.clear using our own YAML::Store for store/yaml + some other minor changes fixing StackHelper fixing RedirectHelper fixing example/caching fixing serving static files fixing the fix for the fix for the error-bug prevent endless error-erroring removing cruft from trinity/session, some smaller changes in tc_helper_auth... still not working though (last spec failing, most likely due to our messed up Context) fixing redirection and error-handling, removing cruft from trinity/request (who'd have thought that it would fit into one screenful one day) ignore the new vendor/rack for fixes of copyright and spaces adding rack under lib/ramaze/vendor/rack - until rack got its first release fixing sessions and spec_helper, removing tc_request_rack remove provisory rack-adapter, it's replaced by adapter/mongrel|webrick Switch adapters to work with rack Add primitive Rack adapter some small fixes and adding MIME-types :D adding cleanup for tc_cache to Rakefile implementing PUT/DELETE for WEBrick plus neccesary abstraction in trinity/request adding the files neccesary for the up/download specs, splitting the tc_request into tc_request_mongrel and tc_request_webrick add doc/ProjectInfo for coming switch to ratchets major rewrite of dispatcher, affecting the controller-lookup and the adapters, this is much, much cleaner now, though not perfect yet - but the first step of many. avoid repetition in the subclasses of Template add spec/tc_dependencies to make sure we don't leak any gems into the vanilla ramaze adding store/yaml for an abstracted version of YAML::Store + corresponding specs. fixing the issues with send_file temporarily add specs for methods on a controller like this__is__a__method which translates to this/is/a/method temorarily deactivate the new template-mapping fixing missing end autoload Element/Morpher when referenced removing the alias of Ramaze::start to Ramaze::new to avoid nasty bugs when Ramaze is included into Object adding some more docs for templating first partial implementation of template_maps add support for actions of the double__underscore__way updating FAQ documenting another couple of classes documenting dispatcher fully documenting cache/memcached adding further docs to adapter/mongrel fixing AuthHelper fixing the examples and adapting lib/proto for the new Controller add xhtml as default extension for Ezamar fixing flawed references to Template::Rezamar in the docs. fixing the tutorial for new implementation rescue the Timeout::Error we get when a request takes too long in a test. documenting all undocumented methods, some classes/modules still lacking docs. fixing AspectHelper and with that subsequently AuthHelper. rewrite of spec/spec_all and fixing a typo in spec/spec_helper make example/caching|hello|simple run again execute(*tasks) instead of execute *tasks get rid of warnings in ezamar/engine - it still should be written more elegant though. don't require aquire twice. had a double definition of the request_path method for webrick-requests. set the default of bin/ramaze and spec_all to output warnings. use our own methods for showing the usage, less hacky and avoids warnings make AspectHelper not bail out at start. define #current on the actual Response-object This patch is HUGE, introducing real controllers and making the templating-engines even more uniform and modular, selection of the engine now based on file-extension or and/or a trait, fixing all tests (except AspectHelper and AuthHelper which relies on that), moving the Ezamar-engine out of the usual templating (so you can use it for your own evil plans) and quite some other stuff... this rewrite didn't work out to be very atomic, but the effects are. make the rdoc-tasks a bit nicer and add doc/FAQ add doc/FAQ Ramaze::Template::Ramaze => Ramaze::Template::Ezamar - renaming the templating to get rid of confusion and provide a name to talk about when one means the templating. add hint about installation to tutorial/todolist remove allison from the repository again. fixing specs for tc_helper_feed for broken hpricot using ramaze/store/default for proto fix issue when having a symbol as Global.cache for sessions. better error-handling for Template::Ramaze set @action for Template::Ramaze extending Store::Default and adding corresponding specs and docs. add the doc/tutorial/todolist.txt add the example/todolist add Store::Default#empty? adding doc/INSTALL fixing and extending amrita2 templating, adding the example for it. fixing a bug in feed-helper and hiding a bug in current hpricot... (0.5) - need to file a bug-report :( a bit nicer output if the test is skipped due to dependencies add the testfile for send_file fixing send_file for mongrel-adapter. TAG 0.0.7 update changelog this fixes some issues with rubygems/rdoc little hack for RDoc::usage so it will work with a gem too. add rspec as dependency nicer exit remove foul language ;) added :distribute task and fixed a small typo TAG 0.0.6 0.0.6 working around a bug in Hpricot 0.5 update changelog this introduces a new startup/shutdown hook system update changelog, fixing Rakefile and making bin/ramaze a bit nicer. fixing typo in Rakefile adding documentation for all traits. improving Hash#keys_to_sym adding the files for the allison-template add rake allison for the improved allison rdoc-template fixing minor typos in the README, removing ramaze.xcf and fixing require hpricot in tc_helper_feed add a post install message for the gem and add documentation for Tool::Create handle referer for mongrel too remove the require coderay in error.rb main-body, this is done dynamically and with a proper rescue in the error-method instead, therefor removing the shown dependecy in rake dependencies fixing rake rdoc, adding rake readme2html and adding rake as dependency adding some more methods to Store::Default finally make ramaze --create project work minor changes to README adding todo update documentation for Global update doc/TODO little patch to rake todolist adding testcase_requires in spec_helper to have a standard way of saying whether a testcase is supposed to pass at all, also fixing a little issue with require-path for ramaze and problematic lookup of Ramaze::Helper in haml (it's extended anyway) use proto/public for static lookup, not lib/public fixing logger for files adds the other stuff for lib/proto, just a very simple little hello-world app with most of the structure of a fully grown application and some example configurations. move lib/public to lib/proto/public add tool/create and change the bin/ramaze for ramaze --create myapp, which basically copies the proto-directory from lib/proto uh, forgot the source of these two files add the snippets for Hash and Symbol update Rakefile for testing and superior options for rdoc remove lib/test move lib/test/request_maker into the rake-task request patch the specs to work in the new directory move test_helper to spec/spec_helper and all_tests to spec_all move test to spec tons of little changes to make dispatcher work again, also adding support for defining your Global.inform_to in a YAML file ('stdout', 'stderr', :stdout, :stderr or a filename) yet another typo typo document String#snake_case docu for String#camel_case MAJOR update to README ;) - now it should be a lot more RDoc-able update docs for Template::Amrita2 remove the Template::Stupid document some more snippets adding docs for OpenStruct#temp add the last bits of code and documentation for request/response/session (mostly the ::current method) a little bit nicer API in Dispatcher, but most importantly, fully documented! something broke... now reading the template extra-early... this should give us better ways to do action-compiles later on... Ramaze::Template::Element => Ramaze::Element first draft of documentation for dispatcher completing documentation of ramaze.rb and lib/test/test_helper completing documentation for Ramaze::Template minor changes and full documenation for Gestalt completing documentation of adapter/mongrel adapter/webrick taking advantage of a custom external config-file... i won't build an automatic loading of that file since it's just a oneliner to load it. this is for the blog-example support for mapping controllers as symbols/strings, looking up the constants on startup. testing redirect_referer in tc_helper_redirect updating tc_helper_auth for the different ways to set the auth_table this adds the possibility to add a base url for the context (like path to a controller)... nasty, nasty stuff make rake all_tests compatible for tinderbox and a little bit prettier use request.referer and add request.local_net? from nitro restructuring and documenting AuthHelper use ancestral_trait for aspects add documentation for the Rakefile tasks remove a bit of debugging-info from AspectHelper adding stack functionality in the AuthHelper by default. So once you are logged in, you will be redirected back to the last known position. simplify the code in helper.rb a little bit small updates to the README again, adding some links. adding the Liquid templating-engine (Template::Liquid) complete with tests and example. little fixes for Haml (examples/templates) and adding the option to pass your own haml_options or set a trait... also some docs for transform. another Inform => Informer for erubis and amrita2 adding Haml example in examples/templates updating README adding Haml Templating-engine. (Template::Haml) add a tc_error fixing Element => Template::Element limiting the backtrace for the errorpage to 0..20 to make it speedier, requiring coderay putting Element and Morpher in the Ramaze::Template namespace, prefixing the Ramaze::BASEDIR fixing dispatcher errorhandling for webrick... was broken, as usual. adapt the errorpage and give it really neat new CodeRay highlighting, the old one was b0rken ages ago. use Informer in the templating to avoid confusion with the error method on the controller and of Inform (which will need to search for a new naming-scheme, i fear) template.rb gets a new trait, the :public which points per default to ramazes public directory, we extend the paths searched to this directory, some more general cleanup as well. just a little nicety ;) remove the old errorpage-cruft from the error.rb, it will in future serve for some general errors that Ramaze will use. make dispatcher aware of error-handling (not just that hardcoded errorpage-stuff create the new error.xhtml and error.css in order to finally get some sane structure in error-handling. show the error-message as well when Template.transform fails. remove Template from the pipeline again, just causing problems with multiple evaluation. splitting out Element.transform into multiple methods, this is the preparation to make it a bit more... itelligent :) _yet_ another way how webrick handles cookies... this is getting tiresome :P if the action is a symbol convert to string before escaping changes to morpher and rearranging the pipeline... evaluating twice should be avoided somehow... vast upgrade of AuthHelper support different arity for pre-aspects final version of the blog (for the time being, as always ;) remove the pointers to EntryController and remove the list.xhtml remove the EntryController and use MainController instead move the templates for the wiki to the root template-folder use the cleaner Global.setup instead of direct assignment fixing session for non-POST remove the old index of blog, we'll implement that more minimalistic remove miniwiki and move microwiki to whywiki huuge patch (kinda) to support cookies via POST with Net::HTTP to webrick, improves some tests and remove tc_helper_crud prevent stack from answering if the stack is empty little typo, forgot comma ;) uhm... remove model... again? :) removing the CrudHelper stuff again, it's just confusing and quite worthless in practice. little fix in tc_helper_form in case Og isn't there. as promised, using throw(:respond) now to do redirection properly adding a new option Global.cookies to turn sending cookies on and off... also we are now catching :respond to break out of a request/response cycle early (this will be used for redirection) alias Ramaze.start with Ramaze.new a little more explanation in the examples/hello adding ramaze --console for starting up an irb-session while the server runs in the background Ramaze.autoreload instead of Kernel.autoreload small change to make ancestral_trait work for the current instance as well. the adapter should return only one thread to watch... implement multiple ports for webrick + tests implement for mongrel + tests first step in supporting startup for multiple servers at once (ramaze -p 7000..7010) via a new Global.ports that is taken from Global.port (which loses in significance... but it's only of value before startup anyway add documentation and fix minor bugs in ramaze, ramaze/global and ramaze/inform document ramaze/template and remove the require of ramaze/model it should be :transform_pipeline, not :template_pipeline remove lib/ramaze/model.rb - nowhere used anyway :P documentation for adapter/mongrel, adapter/webrick, AuthHelper and CacheHelper set the default method for mongrels log-method to Informer#<< documentation for: FeedHelper, StackHelper and FormHelper remove #instance? was a nice hack but we don't use it anywhere fixing rake undocmented... missed out some methods and added some too much remove test/tc_helper, it was just a copy of test/tc_helper_redirect ... makes my autocomplete a little bit faster ;) use head instead of @head in the response template/ramaze uses render_action instead of render_method... another ancestral_trait docs for template/markaby replace the clumsy ancestors_trait by ancestral_trait a little bit of docs for store/default - still pondering about removing it since it's not used anywhere... also remove the [] and []= method, they should be handled by method_missing anyway. changes for Object#trait, adding docs and replacing the ancestors_trait with the ancestral_trait method, it yields an hash that consists of all the traits of the ancestors Ramaze::Informer instead of Ramaze::Inform for autoreload output make Informer respond to << for WEBrick it's Global.inform_ ... no Hash anymore for easier defaults new defaults for Global plus a little bit of documentation-stubs... we really should make a seperate documentation in doc/ for the options. check for the :benchmark tag in the adapter make mongrel log as #debug instead of info Global.autoreload is now a simple integer, no mapping of modes to integers, since we don't have modes anymore close the thing Inform logs to at shutdown small change, in case the adapter doesn't respond to #stop little change in examples/element adjust the bin/ramaze for the new Inform and use RDocs parser for the output of help, version and copyright. typo move init_global a bit forward so it's available right from the start. update the Global for the new Inform patch the rest of the system for the new Inform rewrite Inform to be tag-based and a lot simpler :) finally set a default mapping to {} at require Global prevent errors in case we pass Coderay some empty piece of code supporting mongrels send_file, should give some decent speedups. append a newline to the output of CrudHelper... makes CLI-use easier add the examples/crud.rb to show how to use the CrudHelper for subsequent starts of ramaze in tests we finally have the :fake_start option that updates the Global but doesn't do much else, so that the original instance can just continue to work, i like the implementation... but our Global slowly gets stuffed :) big change also to the way Global is set up, new method init_global on Ramaze that sets up the Global as usual but now also preserves the mappings set before the start of ramaze and just adds new mappings that you pass on start, gives the CrudHelper the ability to set up a mapping for your Store... you can change the name of the mapping with 'crud => YourStore, :name => "blah"' which maps to /blah... rewrite of CrudHelper, now it only converts your Store into a kind of Controller, extends it with Trinity and defines the ::handle_request method (yay for ducktyping), it just sets up a proxy and you can define your own 'route', which request should send what method. introduce custom morphs and add even more docs... ratio must be 2:1 by now :) adding documentation for Morpher#transform and making the rescue a lot better. rearrange tc_heper_form to resemble tc_morpher in regard to the require-failsafe add template/ramaze/morpher and tests for it, it requires hpricot at the moment but got a graceful fallback that just won't process morphers... maybe i can whip up a pure ruby variant later, but the code using hpricot is just sweet :) add test for headers in tc_request and add a method for raw_get that gives you the original object from open() back remove cruft from helper/feed CrudHelper and testcase fixing tons of typos in the README fail gently on require rubygems... we probably should remove that requires completly... add some more tests for the previous bug (request.params instead of request.query) fix request[key] and request[key] = value add an example for the usage of Element in examples/element.rb make tc_request pass again, request.body.read instead fixing helper/feed add exitstatus checking for all_tests reimplementation of Element, making code a bit cleaner (but longer... and possibly harder to understand?) also adding some tests for <Element /> document lib/test/test_helper document lib/test/all_tests document tool/tidy complete documentation of template/ramaze/element add/remove documentation from snippets/kernel/self_method change rake uncommented to rake undocumented document all of Inform document all of Trinity document all of trinity/session document all of trinity/response document all of trinity/request don't include the dot-graph here (yet), also show all methods (private, protected) new rake todolist and the file it generates add support for CDATA in FeedHelper, add some more tests and add from_xml to parse the class in again (just basic yet, no nested niceties) extending FeedHelper and testcase, now attributes to tags are possible... (just for the enclosing class for now) don't duplicate body by reading it, the user can always see it with request.body.read in the controller. set the trinity-methods to private, we don't want them to be accessable ignore memcached in the tests if it's not installed fixing the controller-method-lookup patching method-lookup for controllers... now it should be possible to expose public methods via helper-methods... have to test this first though. rephrase message on startup... remove the useless invalidate_cache method from CacheHelper make rake record a bit less annoying ;) add example/caching.rb total reimplementation of caching, the CacheHelper now finally works (added testcase) for both actions (based on action(*params)) and values, this is a giant step for ramaze, since proper caching is a key to serving fast. The implementation might not be perfect yet, but some real-life testing will show if the current API and use-cases are worth anything, for now i'm very satisfied :) test/tc_aspect.rb => test/tc_helper_aspect.rb provide a little anonymous gulp-class to catch the stuff Og sends out in the testcase, finally the rake test looks pretty enough :) add Kernel#silently, to temporarly turn off warnings on reassinging constants and use it in session.rb add/remove some todos introduce caching now for sessions as well, setting the adapter for tc_request back to mongrel since webrick doesn't implement PUT (fix that too) add test for PUT, we need to find a way to do a DELETE-request, possibly with Net::HTTP? (also investigate other ways not to rely on curl for PUT) rewrite tc_helper_feed better implementation of the tc_global, it would fail on slow or busy systems support PUT and DELETE rewrite FeedHelper, still not functional, but a lot nicer to build XML from objects provide some info about where the adapter attempts to connect... also fix debugging-output in tests remove require of fastthread, they finally fixed it add handling of multipart (file-uploads) all_tests gives _much_ prettier and more informative output... still gotta use systemu for catching that nasty output from Og though... redirect takes now a :status argument, for your very own redirect-status-code fix the spaces ;) run fix-end-spaces and add-copyright before rake record rake fix-end-spaces, new task to remove spaces at end of line where not needed ;) add a .each method to GlobalStruct a much POLSer way of working with the bin/ramaze, options from the CLI are not overwritten by options in your app anymore... also ignores start from your app if you use this command. add rake patchsize to show how many patches we got nicer handling of SIGINT add example/microwiki, like miniwiki but total reimplementation using Template::Ramaze, should do one for every templating-engine to show usage run tests per default on port 7007 and only on 127.0.0.1, avoids interfering with running apps improve shutdown rearrange and add the Global parameters a little bit provide a content_type for the error-page... old bug, need to add some tests for the errorpage... clean the setting of response/request/sessions a little bit CGI.unescape all parameters of GET/POST use method_missing to catch all the transactions for YAML::Store, cleans the API quite a bit and provides more functionality TAG 0.0.5 Ramaze 0.0.5 update CHANGELOG added changelog task that updates doc/CHANGELOG based on doc/changes.txt (from rake changes) ran add-copyright once again update README a bit update and extend testcases for tc_cache change Rakefile to sweep out cache.yaml and run rake clean after rake test finally added and integrated caching, possible caches for now are YAML::Store, usual Hash (for one instance only) and MemCache, the respective objects are YAMLStoreCache, MemoryCache and MemcachedCache, you can set them with Global.cache = respective_class before startup, there is no functionality yet to change this during runtime, but you could Ramaze.const_set('Cache', YourClass.new) since Ramze::Cache is the usual instance. See the testcases and documentation for more information on the usage add tc_feed_helper add tc_cache autoreload now has its own method on Ramaze and can be turned off by Global.autoreload = false require 'ramaze/cache' (not yet used) use Set instead of Array for the Controllers finally fix the problem of having another application running (we can detect it now!) use Set instead of Array in autoreload... makes it a bit nicer fix FeedHelper, had one <feed> too much first version of (real) cache simple CacheHelper fix Rakefile add some more tasks, :record and :changes (record calls changes) added tasks changes-xml and changes-text to the Rakefile, stores the current changes into textual format for further use :) add the template for the tc_template_ramaze support template-only actions for Template::Ramaze, now you can just put a file with the appropiate name in your template-directory and it doesn't need a seperate method in your controller... this does not work yet with multiple arguments stop some squeaking of the wheel and added a little comment of the why fix feed.rb _again_ check before undef method id in Feed::Bag, that makes it better suited for autoreload escape the stuff we get (possibly dangerous) serious extension of TCFormHelper remove useless code in ramaze.rb critical, log error when one happens on render! not just recall (which is a bad thing... we should keep a record to avoid loops in case of errors... horrible DoS :| make error-output prettier FormHelper now handles Date and works! (total rewrite of the option-handling) add 'docs' in the FeedHelper :) little prettification in dispatcher fixed test (for rcov) not yet completed rewrite of form-helper extend FormHelper test Session.current added fix Inform, make output a bit nicer again two fixes, use AuthHelper::PASSWORD rather than a preset one (still defaults to 'passwort') inform on using cached version fix OpenStruct#temp changes in Template::Ramaze again, mostly passing filenames to eval add a very simple AuthHelper some comfy changes in Inform first implementation of FeedHelper add copyright to files that still lack it rake add_copyright adds copyright to files that don't have it :) stub for a TC to send a file. patch the parsing of GET/POST parameters again... accidentially used escape instead of unescape :P this little patch uses the ability of erubis to eval with a filename to give better error-reports fixing POST-requests add String.camel_case String.snake_case smaller changes not really worth mentioning :P pass on parameter-parsing to CGI.parse set an instance variable instead of checking for arity of render-method (@hash) for Elements fix form-helper in case there is no control fix url for stylesheet of error-page don't break this test if we got no Og... suboptimal :| rewrite the usage of the render-method a bit to be clear :) extending tc_session fix ramaze for fastthread-require... and split shutdown into shutoff/shutdown for more granularity add the rake uncommented task, this is a very simple method that shows you which methods are not documented yet (alpha phase, it's got loads of bugs... but is quite helpful already just as a rough overview) modify all the testcases to fit the new ramaze-method inside context... also split tc_adapter into tc_adapter_mongrel/tc_adapter_webrick huge change to the test_helper... no more ramaze{} but ramaze() - this will shield us from future pain and is also a lot nicer for integration into RSpec fixing a rather serious bug in the Element, only consider an Element if you really find the class for it and this class responds to :render big changes again in the form-helper... added loads of options, most are used in the testcases (that still have to be expanded, but they give a good idea of what is possible now) added OpenStruct#temp to create temporary copies just with an updated table support for element-parameters and some tests for it forgot one Logger => Inform in autoreload Ramaze::Logger => Ramaze::Inform - avoid clashes with the tons of other Logger thingies out there fix tc_tidy change from digest/sha1 to digest/sha2 - would someone explain me what this does? fixing diverse issues with latest rubygems update give the markaby-templates in the miniwiki-example the proper ext. stop autoreload from failing from some mysterious bug... fix the error-page to work with the new template-implementation... also remove the old Gestalt-code, it's in darcs anyway blog/template/entry/list.rmze snippet/kernel/rescue_require.rb additional specification for tc_element add test/tc_aspect restructure test_helper for fastthread... reimplementation of session... mainly better hash typo fix a serious bug with the HEREDOC in the template/ramaze... if we don't prefix a character it will break if the hash starts with a number (oddly enough, this happens very seldom) add the helper/aspect prepare the helper for addition of aspect do not load fastthread in adapter/mongrel, if it has not been required so far by ramaze.rb it's too late already and we get only an annoying warning. minor restructuring for ramaze.rb requires (mainly cause of fastthread) fix problem for fastthread-require, it has to be loaded before everything else (especially mongrel and/or thread) fix tc_template_ramaze for the restructuring (you don't have to call transform() in the controller anymore) move the trap... now that i know that it uses continuations we should propably use a different technique... make find_template private, fix the :transform_pipeline and add a little comment fixing Element for passing parameters restructuring of the ramaze-templating... looks a lot nicer and is a whole lot more modular... preparing to change for the use of render() in templates simplify the dispatcher a little bit, splitting the fill_out into respond_file and resopnd_action, so we can use it from the Templating for relookup of actions on different controllers little change in the README adding trait[:transform_pipeline] to Ramaze... this still is very buggy :| first implementation of ancestor_trait, which searches the ancestors for a trait... this should be made default in a bit fixes some problems with autoreload when the path/file is b0rken remove method_missing from Logger... it overwrites alle method_missings everywhere!!! do not run setup_global in the bin/ramaze anymore, just pass them along... also fixes a problem for method-missing... error doesn't take multiple arguments (string/error-object only) removed the Timout for the total ramaze{} block for testing, added Ramaze.shutdown for the teardown (still commented, it has nasty side-effects) tiny updates to ramaze.rb, rewrite of the shutdown method... it still is very fragile though... Mongrel seems to do magic to threads beyond my knowledge use the new Logger-capabilities to finally catch the stuff WEBrick has thrown long enough to STDOUT Logger.puts is no longer private, added also << as an alias... additionally it can be sneaked into usual Logger-systems and take them over :P a little bit nicer adapters by use of class << self ... also added a stop-method for future use rewrite of the tc_global for the new structure reimplementation of Global - should be a lot saner and simpler now ;) do not require digest/sha1 in session.rb - it is not used for calculating sessions this moves handle_elements into the ramaze/element.rb and names it transform, it handles arity of an render-method in the elements and passes optional parameters when given... this will give us a hard time when handling arbitary objects... :P some minor changes regarding logging... there has still to be done a lot (esp webrick and logging to files) this moves all global-stuff into the global.rb - makes ramaze.rb a lot nicer ;) - also added some more tests patching Global further, we move the defaults in here since they only clutter the ramaze.rb and make handling difficult do not raise on initialize of Global... it just looks odd ;) do not timeout requests anymore... give mongrel a proper way to handle logging convert the action to a string since we might get symbols as well, and remove some other useless debugging-info trying to use #{render} and it seems to work, mostly removing some unneeded debugging-info from the template-file lookup making the blog-example a good deal neater... next up: sidebar ;) remove the test for the amrita-controller, it's not neccesary anymore since we have an own testsuite for it... fixing the testcases for templates... for some templates we used to use $0 as root, which would be lethal would it be a real application and it was started with the bin/ramaze - i removed that oddity and require it to have the real path, not relative to the first file simplify template/ramaze by inheriting from Template move the Element in its own file... template/ramaze/element - which also introduces a default way of extending templating-engines with new classes simplify template/markaby by inheriting from Template simplify template/erubis by inheriting from Template simplify the template/amrita2 by inheriting from Template this introduces Ramaze::Template::Template - it's a really stupid name, but i couldn't come up with anything better... this is the first step in slacking down the templates (they are really not DRY anymore) a neat little hack to see if an object is an 'instance' or not... though every object is an instance not every object responds to :new (which makes the distinction class/instance for me) set the priority for the handling thread really high... should give it some advantages over the autoreload-thread in case of high load equalize the testcases for templates with the prefix tc_template_ (just for ramaze, which was tc_template.rb till now) small update to the Rakefile... testing task-dependencies :P wielding all the power of ramaze, the blog-example is coming along very very well, it uses elements and form-helper now, you can add/delete/edit entries... more to come ;) adding an Element for the blog-example... makes overall design a _lot_ nicer :) giving the blog-example a 'nice' stylesheet various fixes for the lookup of template/ramaze templates added implementation of element-handling into the template/ramaze, will add lots of docs later as well. added the basic structure of Element... maybe put this in its own file later rewrite of form-helper... should rename it since it works only with Og currently added a very basic testcases for how Element should work do not use .rmze templates for markaby, only .mab - this should be done for the other templating-systems as well. some experiments with the helper-facility in markaby... not really working yet, but we're getting there do not rescue in markaby anymore, this is done already by markaby itself and it just obfuscates the error-report better handling of the instance-variable-collection, due to the .flatten it used to break if it encounters and empty array as value the error-page used to break when it meets a (eval) in the backtrace, make it just ignore them (may add some more information later) make ramaze run again, the helper/form really messed things up due to some syntax-errors unification of the examples/template introducing examples/templates/template_markaby (not yet working due to some odd bugs using helpers) now, that's finally a nice README :) fixing the tests for the templates to use the template_root this fixes the template-lookup for ramaze, it's now also possible to use trait :template_root in the controller, please read the rdoc for more infos and a small example small cosmetic update LOTS of testcases added for markaby this patch makes Template::Ramaze some magnitudes faster and adds some better security for the case someone is funny and tries to hack the HEREDOC major upgrade for Markaby, should be finally running now :) class-lookup in the error-template was a bit wrong added Error::Template a little beautification :P lots of additions/changes in the tc_helper_link to reflect the changes made set the @action instance-variable for use in templates (the examples use it quite a bit, so i thought it would be useful) require helper.rb in template.rb Trinity -> Helper update for template/stupid (no idea if we need that one at all anymore...) a little bit of moving around in Template::Ramaze, same changes for Helper instead of Trinity and removal of the helper-method for use in other templating-systems Ramaze::Helper instead of Trinity for template/markaby this adds the transform-method for conformity to Template::Erubis, also improved the template-lookup quite a bit and using Ramaze::Helper instead of Trinity use Ramaze::Helper instead of Trinity in template/amrita2 further improvments in the LinkHelper, not only can you now just pass self instead of self.class, but it also supports get-parameters in the ?foo=bar style - link(self, :foo => :bar) use Helper instead of Trinity in Ramaze::Controller this puts the helper-method into its own module that also includes Trinity for convinience added examples for templating in ramaze and erubis, more to come added template/markaby with some tests (not all pass yet... lunchtime is just too short :) added testcase for link :title change from load()ing the helpers to require()ing them, so we can update them via autoreload as well (load doesn't add to the $LOADED_FEATURES...) added redirect_referer to the RedirectHelper - it redirects you directly to where you come from. small fix for the LinkHelper - would't use :title proper if given more than '/' this is the first stub for the new FormHelper, no real documentation or functionality here yet, mostly a summary of ideas that i need to reevaluate [ok... in reality my notebook ran out of power ;] vast extension of the example/blog - added some templates and stuff to the controller, this will use the FormHelper (that i will stub soon) added a simple testsuite for the blog-example, nothing too heavy yet. oops, almost forgot to check in this file :) a new error-page, totally implemented in Template::Ramaze instead of Gestalt, left the Gestalt one in there commented, not sure what i should do with it... use it as an example? (might horrify people though ;) Template::Ramaze.transform now takes an optional binding, gotta make this API nicer, since it also takes optional ivs... maybe :binding => binding, :ivs => {} - oh, and commented the nasty #[] for the time being use STATUS_CODE lookup instead of the direct error-codes tc_session should use the new get/eget of Context tc_helper_stack - added a logged_in? to the controller and doing more extensive testing for get and post using the new abilities of Context Context now uses eget/get instead of reqest/erequest to be look more like get(); also added post/epost, this is lots of fun ahead :) added test/tc_helper_stack - this is tests the new call/answer behaviour that works just like the one in nitro. please check the test for further understanding. moving Context into test_helper - it is used to mock sessions changing link_raw to R - you can also set titles now with link(:foo, :title => 'foo') split tc_helper into tc_helper_redirect and tc_helper_link huuge update for the testcases... to make it more testing-friendly we gotta use different controller-classes for each testcase, also the update of Global didn't allow a change of the used adapter, this is fixed now. update todo for template/ramaze remove todo 'add host' for webrick, we do that since ages already ;) some addtional changes... i really gotta fix the rcov-task... make output of rake todo a little bit nicer TAG 0.0.4 dump version to 0.0.4 the first really nice and stable release don't pretty-inspect Global at startup anymore we now have a proper interaction with Global via the bin/ramaze Usage: ramaze [switches] startfile [arguments] -a, --adapter=ADAPTER select an adapter [mongrel|webrick] -m, --mongrel use mongrel to process requests -w, --webrick the default --mode=LEVEL set the running-mode -b, --benchmark full logging with benchmarks, autoreload 5 -d, --debug the default, full logging, autoreload 5 -t, --stage log infos/errors, autoreload 10 -l, --live log errors, autoreload 20 -s, --silent no logging, autoreload 40 -o, --host which host should ramaze listen for requests default is 0.0.0.0 -p, --port what port should ramaze use default is 7000 -n, --no-errorpage don't use the default errorpage of ramaze helpful if you want to make sure noone can ever see your code by accident or for testing --template-root set a custom template-root for the whole application, please note that ~ is not expanded to your home-directory --autoreload=N set how frequent ramaze should search for updated files in your application default depends on the (-mode) -r, --run-loose don't take control after startup. this is useful for testcases. --cache use the simple caching based on the signature of your requests (experimental) --tidy run Tool::Tidy over text/html output -h, --help print this help -v, --version print the version -c, --copyright print the copyrith Please report bugs to <m.fellinger at gmail.com> added doc/COPYING and doc/COPYING.ja from the ruby-distribution added copyright to all .rb files improved tc_controller a little bit tc_adapter should use get() instead of its own calling of open default test-adapter is mongrel again, enables out-of-the-box testing wrapping webricks server.start in a Thread.new{} again, this provides proper handling of it again. also the default-response status is now 500 removed the params/parse_params from adapter/webrick they will be handled in trinity/request now moved the get?/post? methods into trinity/request also added put? and delete? for REST add tests for private methods to the controller raise error if no template is found in amrita2 small typo in the blog-template a rather huge structural change, we extract Trinity from Dispatcher and give it its own file, controller subsequently only exists as an optional Controller-namespace and to identify Controllers. moved request/response/session into their own trinity-directory. also changed the require to something plain, simple and maybe stupid, but every parser and reader will thank me ;) added extensions .ephp .ec .ejava .escheme .eprl .ejs - i have no idea yet how to implement them, but as a simple reminder ;) change default-mode for tests to :debug do not catch errors in the test_helper anymore, everything seems fine now changed the require-path to match the new require-style inside the testcases removed the non-working requireing of each testcase (which was previously commented out anyway) added Template::Erubis rewrote Template::Amrita2 in the way the implementation of Erubis worked out, a lot cleaner and straight-forward. will have to minimize the overhead of find_file though. moved the controller out of the blog/main.rb to blog/src/controller.rb and added an EntryController to take advantage of Og added an index.rmze with the first extensive ramaze-template to the blog-example - it's supposed to list all the entries prepare for erubis avoid aliasing Kernel#method twice added tc_template_erubis and it passes :) moved tc_amrita2 to test/ sane trait for the controller change all the requires to require a bit different... (insiede test only - it is now required that you run the tests from ../test which gives the whole thing a bit more substance) add a simple template for erubis (standard-extension .rhtml) rearrange the stuff inside test/template - move the tests in the basedir and use it soley for templates, less confusion, more efficient (just a bit uglier filenames :) give the standard-return-code of 500 if none is set. added a rcov-task to Rakefil and changed from catching only timeout to everything in the test_helper changed all testcases from usage of #[] to #{} extended the tc_template LOADS of documentation for the template/ramaze and better implementation of the transform (avoiding easily used variables) minor patch for the case that autoreload doesn't get a valid interval documentation for helpers added a pretty good coverage of the helpers in test/tc_helper.rb output of <?r ?> is no longer considered worthwhile, would have strange effects on arr.each or some other iterators who return self adding a helper method to Template::Ramaze, use it like: helper :link, :redirect redirect is now a helper too like LinkHelper, but even simpler RedirectHelper actually takes advantage of LinkHelper.link_raw to build the links it redirects to. It doesn't do much else than this: setting a status-code of 303 and a head['Location'] = link returning some nice text for visitors who insist on ignoring those hints :P example of usage: redirect MainController redirect MainController, :foo redirect 'foo/bar' still todo: - setting custom status-code, it ignores any preset ones at the moment - maybe some more options, like a delay added the LinkHelper, the first of the helpers it is included into the Template::Ramaze by default this helper tries to get along without any major magic, the only 'magic' thing is that it looks up controller-paths if you pass it a controller the text shown is always the last segmet of the finished link from split('/') usage is pretty much shown in test/tc_helper however, to give you some idea of how it actually works, some examples: link MainController, :foo #=> '<a href="/foo">foo</a>' link MinorController, :foo #=> '<a href="/minor/foo">foo</a>' link MinorController, :foo, :bar #=> '<a href="/minor/foo/bar">bar</a>' link MainController, :foo, :raw => true #=> '/foo' link_raw MainController, :foo #=> '/foo' link_raw MinorController, :foo #=> '/minor/foo' link_raw MinorController, :foo, :bar #=> '/minor/foo/bar' still todo: - handling of no passed parameters - setting of a custom link-title, possibly images as well - setting of id or class - taking advantae of Gestalt to build links - lots of other minor niceties, for the moment i'm only concerned to keep it as simple as possible total rewrite of the mongrel-adapter, passing around less stuff and making it a lot more readable major update to the blog-example, it now works with Og and has a cleaner structure, also some simple templating and multiple controllers update rake clean to delete leftover vim-tempfiles and data.db commenting out the testcase for #[]! - this should not be used anymore, for now. remark about the odd behaviour of the return of a POST, suddenly it just didn't fail anymore, and i have no idea how to reproduce it. the raise just changes too often, this time i just check for raise - maybe we get more consistent behaviour later on, but for now i'll let it be extended tc_global the test_helper methods have now sane timeouts to make things fail faster just another way to run the tests, commented due to non-functionality marking the adapter-thread with [:task] = :adapter to make killing easier give Global responsibility for update itself, makes ramaze.rb cleaner comment about the bad behaviour of #[] in templates marking the autoreload-thread with the new Thread.current[:task] = :autoreload - to make them easier to identify... all threads in Ramaze should have a [:task] from now on give poor request a request.params for get/post parameters (post has precendence) replacing Global with something totally new, we should create dynamic methods though to get some minor speedup do not use start in examples/simple embedding tc_amrita2 correctly into a ramaze{} block typo adding net/http to test_helper and make some text nicer ;) this is a fix in case some testcase just hangs, at least you will know which one does finally fixed the adapter-startup, at least for mongrel... still very weird issues with webrick start a new process on rake test, avoids possible side-effects patching the testcases to fit in the new way of testing we add a nice testing-block called ramaze, you pass it a hash for startup-options and a block and it does setup/teardown... specify-driven would take too long and is too verbose nicer output of all_tests this should improve the startup-behaviour for the adapters... there must be bugs lurking in there though. update the global nicer on startup, we have no idea what the user passes or has set already, so be very careful as well (not you, ramaze) kill all threads except for main on exit... i need some way to get out nicely without exit... this is a major improvment for the Template::Ramaze - passing (almost) all tests, just slight problems with #[] still slightly more expressive code in response-creation no thread in thread anymore for webrick just start up ramaze, we ignore the problem that it might be started already since we never can be sure and people would partially build trust on it despite that fact - so as a rule, don't start your files manually if you want bin/ramaze to start it added the templates for the tc_template in test/template/ major change in the templating... now using <%= %> <% %> <?r ?> #[] - this needs some extensive testing and is not fully done yet, but getting there... added tc_template this improves the templating a tiny bit... however #[]! still fails, we need some serious regex-magic here. saner tc_store improved templating further, now, if a template-file is given and returns something useful we discard the stuff from the controller-method and use that instead touch the db before initializing the default-store minor patch for mongrel-cookies added a mostly-stub for the new blog-example added the default-store, this is just a very simple wrapper over YAML::Store and doesn't offer anything really... just to satisfy the tests move the test-request-methods over from test_get/test_post/request to get/post update to test_helper, now using get/post instead of test_get/test_post or request Template::Ramaze now supports extremly simple templating with #[expr] - more to come fixing sessions for webrick updated README with coderay-info don't be so verbose about missing coderay, if someone wants it we should mention it in the README moving from ann to trait just a FIXME lots of improved compatibility between the mongrel and webrick adapter, added respone.content_type Socket.do_not_reverse_lookup = true # for OSX removed some debugging-info about timeouted added small doc-snippets to the simple example about error-page added indication which file is ran by bin/ramaze simplified ann, which is now trait (should be double speed ;) moved add.rb to traits.rb to avoid conflicts with facets (used by Og) added a testcase for sum (from example/simple) added a timeout if the port is already used, otherwise it would retry indefinitly change the default-adapter to webrick for all the poor lads who don't have mongrel yet added lots of docs and further examples in examples/simple.rb added some more docs to hello.rb upgrade of rspec to 0.7 updated CHANGELOG and a bit of docu in tidy more efficient lookup of the libtidy.so, still relying on `locate`, but you can set it yourself now with Ramaze::Tool::Tidy.ann[:path] fixing the amrita2 controller to find the correct path for templates (ann[:template_root] to override it) patches to dispatcher, proper handling of caching and actionless controllers in case of / => index fixing the tc_controller and added the amrita template for the controller testcase, also added the annotation for template_root updated the Rakefile and changed to version 0.0.3 - one todo marked as done changed the amrita testcase to work default testmode is now :live instead of :silent added a simple YAMLstore... to be replaced by the real thing the dispatcher respects actionless controllers now (Amrita2) added trinity in most places and using the annotations now, also a bit of cleanup added trinity, to be extracted added self_method added new Annotation added favicon and logo added testcases for controller and templating of amrita2/ramaze - they still have to be made passing added a setup for tc_adapter, makes it a bit slower but a lot better after fix in mongrel, this should work nice again and the tcs should pass more elegant tc_gestalt finish up in the ramaze.rb and bring together the loose ends rewrote the ramaze-template autoreload is now a method in Ramaze and i added a Global.autoreload hash that holds the autoreload-times for the hashes, additionally there is the new :benchmark mode added pretty_inspect to the response to fit better into the new error-page implemented the logger-todos Gestalt is now no subclass of BlankSlate anymore... it was unneccesary and just complicating the whole code. using the simple p-hack again a really huge update to the errorpage again... remember to remove the logo ;) added a timeout to the dispatcher and removed some annoying return-statements added response method to controller-prototype adapter have now the possibilities to bench requests when mode is :benchmark updated the miniwiki to use YAML::Store and work correctly in general added a testcase for params and proper handling of the errors now. (thanks mfp) output the error if tidy fails adding __instance_variable_set__ to Gestalt to better handle iv without evaling better handling of CodeRay inside error-template little cleanup and adding documentation in the error-page proper handling of -1 params adding proper params-handling for webrick, (very very bad proper handling) remove the require 'rubygems' and error-handling from the adapter itself, that is handled one level lower added a default in public/css/coderay.css since i will use it quite often. first templates for Ramaze (called .rmze) and a proper working miniwiki-example - very very simplistic, but does its job so far yay for my new miniwiki example :) use webrick in the miniwiki added codray-highlighting (if installed) and inspecting of request/session/response/global better handling if the adapter is not found and don't kill the autoreload-threads anymore update of the Global defaults (most important, added Global.logger[:timestamp|:prefix_(info|error|debug)] replaced autoreload with the new one (and some settings for the reload-speed based on the Global.mode replaced the Module.autoload with a require beforehand... the other way just added complexitiy though it's a nice thing :) usage of Tidy.tidy now possible reimplementation of autoreload little update in the request, in case there is no @request.params (webrick) rather large update to the error-page... not fully finished i fear - but i added CSS so it's going to be nicer to change :) better use of the Logger in the dispatcher a rather huge update to the logger, introducing the Global.logger hash to easily define your own favorite settings, also we got a Timestamp now! :) updates to the mongrel-adapter, better rescue for rubygems/mongrel and nicer usage of Tidy small updates to the simple example added the webrick-adapter, it's not perfect, but works smooth so far added testcase for the adapters (tc_adapter) [mongrel|webrick] so far moved the HTTP-status codes to http_status.rb from dispatcher.rb small typo in Logger.debug output ('d-' instead of 'd') added stub for miniwiki one todo gone, one added an ultimate patch... this addes lots of documentation, rewrite of the Response to be Struct instead of OpenStruct (17 times faster) and also some minor tweaks all over the place, notable also the change of the logger-format minor updates to the testcases, somehow i should fix the tc_params on the errors... but that takes a bit more time, otherwise just removed the sleeps that are now handled by ramaze small fixes to the simple example added new rake task, todo - it scrapes the source for TODO markers and prints them out. added documentation and Gestalt.build, which takes a block instead of Gestalt.new cleaned up the tests a bit and updated the test-runner to show some summary loooooots of documentation (which is not displayed on rdoc due to some very weird behaviour a new and simple way to react on signals, default is SIGINT, it executes Ramaze.shutdown which in turn kills the adapter, to change the signal listened on change Global.shutdown_trap very minor cleanup of some methods... added an rdoc-task to the Rakefile moved README and CHANGELOG to the new /doc dir tidy takes now an hash of options and i added extensive documentation ... could use some more though (removed require for rubygems) lots of smaller changes, extracted tidy from the mongrel-adapter to a new dir named tool - where most helper-stuff should go to. updates to global.rb - stuff that doesn't make sense for a singleton revised most testcases and added tc_global and tc_tidy added rcov-task use String#/ instead of File.join much better handling of restarts and stuff by joining still running mongrel-threads remove the gostruct.rb update to README removing the global openstruct and just use Global... removing the default-adapter because it's useless and not used removed a bit of debugging-info from tc_session this drives in the last nail to support sessions, also speeds up requests a tiny weeny bit ;) controller now accesses the Thread#[] to get request/session split up the response in mongrel into set_out and set_head added ramaze/session added a session-testcase updated CHANGELOG TAG Ramaze 0.0.2 tagged 0.0.2 - next version will support sessions (hopefully :) updated the readmy and rakefile-description a bit added Ramaze::VERSION added a SIGINT-trap to cleanly shutdown added test/tc_request [passes] further improvment to the testcase-runner and setting default Global.error_page to true and everything passes now... patching the test-runner to shut down ramaze before it is run again from the next testcase... huuuuge patch, perfect error-handling, better automagic controller-mapping, superb tidy-functionlity, even the params-testcase passes again :P - to turn on tidy, set Global.tidy to true added snippets for String#/ added caller_lines in the snippets a new snapshot with some more tests and lots of bugs fixed... also working now on the pluggable templating again. this fixes a bug that lead to problems if you don't define a mapping this introduces a new Global.running_adapter, for later easy access outside of Ramaze - should add some methods to check if the adapter is running and the like by default, require 'pp', i think it's far too useful not to be available all the time some more info in the CHANGELOG, this will only be updated in releases from now on, the information comes from darcs anyway changed hello.rb to fit in with the use of the ramaze-binary updated the Rakefile to prodcue some more useful stuff :) - also knows about the executable 'ramaze' now updated the README a bit, more to come added an ramaze executable it can be found in bin/ramaze and you use it like that: $ cd example $ ls main.rb $ ramaze which will in turn run the main.rb you can give ramaze a parameter for the run-file, more sophisticated parameters are not included (yet) initialize