Hello, and welcome to Mack!

Mack is a Ruby web application framework. It takes the best ideas from several frameworks, including Rails, Merb, and Ramaze, and tries to improve upon those ideas. Mack uses Rack as an abstraction layer to separate itself from it’s deployment.

Mack is also about performance. Because Mack uses technologies like Thin and Rack, Mack is a multithreaded and fast framework. Current tests show Mack/Thin is twice as fast as Rails/Mongrel. Mack tries to strip out a lot of the cruft from other frameworks, like Rails, and delivers you a fast, efficient framework designed for actual real world development.

Required gems:

rack
ruby_extensions
application_configuration
cachetastic
log4r

Optional gems:

mongrel
thin
activerecord
datamapper

To run a Mack application:

$ rake script:server

It will try and run the app using the following servers in this order:

* Thin
* Mongrel
* WEBrick

rake script:server takes the following options:

$ rake script:server PORT=<port> MACK_ENV=<environment> HANDLER=<rack_handler>

The port and rack_handler flags don’t apply if you’re using Thin to run the app, which is the default if it is installed. Use the thin.yml file in your application’s config directory to configure Thin. The rack_handler one will allow you to switch which server is used to run the app. See Rack for more Rack::Handlers.

The environment can also be changed like this:

$ rake script:server#<environment>

You can also run:

$ rake console

This will give you console level access to your application.

Other documentation:

Thin Rack