GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PATH::DISPATCHER::DECLARATIVE (3)

.ds Aq ’

NAME

Path::Dispatcher::Declarative - sugary dispatcher

CONTENTS

SYNOPSIS



    package MyApp::Dispatcher;
    use Path::Dispatcher::Declarative -base;

    on score => sub { show_score() };

    on [wield, qr/^\w+$/] => sub { wield_weapon($2) };

    rewrite qr/^inv/ => "display inventory";

    under display => sub {
        on inventory => sub { show_inventory() };
        on score     => sub { show_score() };
    };

    package Interpreter;
    MyApp::Dispatcher->run($input);



DESCRIPTION

Jifty::Dispatcher rocks!

KEYWORDS

    dispatcher -> Dispatcher

Returns the Path::Dispatcher object for this class; the object that the sugar is modifying. This is useful for adding custom rules through the regular API, and inspection.

    dispatch path -> Dispatch

Invokes the dispatcher on the given path and returns a Path::Dispatcher::Dispatch object. Acts as a keyword within the same package; otherwise as a method (since these declarative dispatchers are supposed to be used by other packages).

    run path, args

Performs a dispatch then invokes the run in Path::Dispatcher::Dispatch method on it.

    on path => sub {}

Adds a rule to the dispatcher for the given path. The path may be:
a string This is taken to mean a single token; creates an Path::Dispatcher::Rule::Tokens rule.
an array reference This is creates a Path::Dispatcher::Rule::Tokens rule.
a regular expression This is creates a Path::Dispatcher::Rule::Regex rule.
a code reference This is creates a Path::Dispatcher::Rule::CodeRef rule.

    under path => sub {}

Creates a Path::Dispatcher::Rule::Under rule. The contents of the coderef should be nothing other on and under calls.

    then sub { }

Creates a Path::Dispatcher::Rule::Always rule that will continue on to the next rule via next_rule

The only argument is a coderef that processes normally (like on).

NOTE: You *can* avoid running a following rule by using last_rule.

An example:



    under show => sub {
        then {
            print "Displaying ";
        };
        on inventory => sub {
            print "inventory:\n";
            ...
        };
        on score => sub {
            print "score:\n";
            ...
        };



AUTHOR

Shawn M Moore, <sartak at bestpractical.com>

BUGS

Please report any bugs or feature requests to bug-path-dispatcher-declarative at rt.cpan.org, or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Path-Dispatcher-Declarative>.

COPYRIGHT & LICENSE

Copyright 2008-2010 Best Practical Solutions.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PATH::DISPATCHER::DECLARATIVE (3) 2010-11-02

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.