Provided by: librest-application-perl_0.992-3_all bug


       REST::Application::Routes - An implementation of Ruby on Rails type routes.


           package MyApp;
           use base 'REST::Application::Routes';

           my $obj = REST::Application::Routes->new();
               '/data/workspaces/:ws/pages/:page', => \&do_thing,
               # ... other routes here ...

           sub do_thing {
               my %vars = @_;
               print $vars{ws} . " " . $vars{page} . "\n";

           # Now, in some other place.  Maybe a CGI file or an Apache handler, do:
           use MyApp;
           MyApp->new->run("/data/workspaces/cows/pages/good"); # prints "cows good"


       Ruby on Rails has this concept of routes.  Routes are URI path info templates which are
       tied to specific code (i.e. Controllers and Actions in Rails).  That is routes consist of
       key value pairs, called the route map, where the key is the path info template and the
       value is a code reference.

       A template is of the form: "/foo/:variable/bar" where variables are always prefaced with a
       colon.  When a given path is passed to "run()" the code reference which the template maps
       to will be passed a hash where the keys are the variable names (sans colon) and the values
       are what was specified in place of the variables.

       The route map is ordered, so the most specific matching template is used and so you should
       order your templates from least generic to most generic.

       See REST::Application for details.  The only difference between this module and that one
       is that this one uses URI templates as keys in the "resourceHooks" rather than regexes.


       These are methods which REST::Application::Routes has but its superclass does not.

       Returns a hash whose keys are the ":symbols" from the URI template and whose values are
       what where matched to be there.  It is assumed that this method is called either from
       within or after "loadResource()" is called.  Otherwise you're likely to get an empty hash

       This is an alias for "getLastMatchPattern()", since this class is about templates rather
       than regexes.


       Matthew O'Connor <>


       This program is free software. It is subject to the same license as Perl itself.


       REST::Application, <>