Request Routing Plugin for Ruby on Rails
========================================
(c) Dan Webb 2006 ([email protected])
Plugin that allows you to define routing conditions that test
methods/properties of the request object such as subdomain, domain,
port. You can test them either against a value or with a Regexp
(assuming the method returns a string)
*UPDATE* Now works with the new routing code as implemented in edge rails. Note the
change in API: use :conditions instead of :requirements.
== Installation
ruby script/plugin install http://svn.vivabit.net/external/rubylibs/request_routing/
== Usage
In routes.rb you can specify use the :requirements hash with request properties:
map.connect '', :controller => 'main', :conditions => { :subdomain => 'www' }
map.connect 'admin', :controller => 'admin', :conditions => { :remote_ip => /^127\.0\.0\.[0-9]$/ }
You can also, of course, use the conditions hash in map.with_options calls.
The allowed properties are:
:subdomain (only checks the first subdomain)
:domain (only accurate for single tld domain names at the moment)
:method (a symbol)
:port (a number)
:remote_ip
:content_type (content type of the post body)
:accepts
:request_uri (the entire request uri)
:protocol (either http:// or https://)