Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Path::Dispatcher::DeclUseriContributed Perl DoPath::Dispatcher::Declarative(3)

NAME
       Path::Dispatcher::Declarative - sugary dispatcher

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.

perl v5.32.1			  2010-11-02  Path::Dispatcher::Declarative(3)

NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | AUTHOR | BUGS | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Path::Dispatcher::Declarative&sektion=3&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help