-
A lightweight, ORM agnostic, Rack (rack.rubyforge.org) compatible MVC framework.
-
Doozer was initially a project I started working on for Google App Engine. It was eventually abandoned since GAE lacked (at the time and may still) proper support for migrations. I ported some of the code to Ruby mainly to learn the internals of Rack back in December 2008.
-
Rails conventions and methodologies (mostly the application structure, configuration, nomenclature, scripts, and a few viewhelper methods).
-
Clustering ala Mongrel::Cluster
-
Ruby < 1.9 (untested on Ruby 1.9 as of now)
-
Rack (rack.rubyforge.org) gem (0.9.1, 1.0.0, or 1.0.1)
-
Any http server supported by Rack out of the box (CGI, FastCGI, Mongrel, EventedMongrel, SwiftipliedMongrel, WEBrick, LSWS, SCGI, or Thin)
-
ActiveRecord, DataMapper, or Sequel (only if you need DB support)
-
As of version >= 0.2.0, the doozer gem is now distributed via gemcutter.
-
The project homepage is here: gemcutter.org/gems/doozer
-
Install the gem(s):
- gem sources -a gemcutter.org (if you haven’t already) - sudo gem install rack - sudo gem install doozer
-
Run ‘doozer test-app’ to generate the base application skeleton.
-
Fire up the application in development mode
- cd test-app - script/cluster -C start
-
Navigate to localhost:9292
-
Doozer is configurable to use an ORM library of your choosing: ActiveRecord, DataMapper, or Sequel.
-
By default, routes are handled by Doozer controllers or you can define other Rack compatible applications which handle specific request paths.
-
Http server of your liking (Mongrel, Thin, Lighttpd, or anything supported by Rack).
-
Multiple appservers.
-
Static directories.
-
Generate an application skeleton. Run ‘doozer test-app’ (see Getting Started).
-
Generate views, controllers, and models (depending on the configured ORM). Run ‘doozer generate -h’ for more info.
-
start/stop/restart your web server(s). Run ‘script/cluster -h’ for more info.
-
Migrations up or down. ‘script/migrate -h’.
-
Tasks. Run ‘script/task -h’ for more info
-
There is a rudimentary test command which allows you to run your own test suite for your application. Run ‘script/test -h’ for more info.
-
Doozer has no test suite. Tsk-tsk I know. In the works.
-
Right now, it doesn’t keep track of migration versions.
-
Magic routes are turned off. Still debating adding them back.
-
Not all the documentation is in place.
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2009 Greg Melton. See LICENSE for details.