Every repository with this icon (
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
LICENSE | Sun Jul 19 09:40:40 -0700 2009 | |
| |
README.md | Sun Jul 19 09:39:06 -0700 2009 | |
| |
examples/ | Mon Jul 20 00:32:15 -0700 2009 | |
| |
rackable.rb | Tue Jul 28 06:12:21 -0700 2009 |
Rackable
Rackable is a tiny module that aims to make any Ruby object Rack-friendly and provide it with a REST-like interface.
Basically, what it does is providing an object with a call() method that
uses the Rack environement to dispatch to a method, giving helper objects such
as headers, query parameters, ...
Specs
You can run the specs by running bacon on the rackable.rb file.
Bacon is available at
chneukirchen/bacon
Examples
Look in the examples/ folder.
Docs
Rackable provides a rack readable attribute which is a struct containing the
following fields:
env: the parameter forcallresponse: aRack::Responseobject that is returned bycallheader: a hash of headers that is part ofresponserequest: aRack::Requestcreated from the environement given tocallquery: a hash of parameters extracted from the query stringdata: a hash of parameters extracted from the request body (POST, PUT)
For both query and data, keys of the hash are symbols.
You can easily handle errors with the provided http_error method. It takes an
error code and an optional message. If no message is given, the standard message
from the HTTP Status Codes list will be used (eg. Not Found for 404)








