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