Project

doozer

0.0
No commit activity in last 3 years
No release in over 3 years
This GEM provides a small, barebones framework for creating MVC Rack applications.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

What is Doozer?¶ ↑

Project Inspiration¶ ↑

  • 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

Requirements¶ ↑

  • 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)

Gems¶ ↑

  • As of version >= 0.2.0, the doozer gem is now distributed via gemcutter.

  • The project homepage is here: gemcutter.org/gems/doozer

Getting Started¶ ↑

  1. Install the gem(s):

- gem sources -a gemcutter.org (if you haven’t already) - sudo gem install rack - sudo gem install doozer

  1. Run ‘doozer test-app’ to generate the base application skeleton.

  2. Fire up the application in development mode

- cd test-app - script/cluster -C start

  1. Navigate to localhost:9292

Configuration¶ ↑

  • 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.

Useful Scripts¶ ↑

  • 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.

Current limitations:¶ ↑

  • 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.

Note on Patches/Pull Requests ¶ ↑

  • 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.