NAME

MojoX::Routes - Routes

SYNOPSIS

use MojoX::Routes;

my $routes = MojoX::Routes->new;

DESCRIPTION

MojoX::Routes is a routes implementation.

ATTRIBUTES

MojoX::Routes implements the following attributes.

block

my $block = $routes->block;
$routes   = $routes->block(1);

children

my $children = $routes->children;
$routes      = $routes->children([MojoX::Routes->new]);

conditions

my $conditions  = $routes->conditions;
$routes         = $routes->conditions([foo => qr/\w+/]);

dictionary

my $dictionary = $routes->dictionary;
$routes        = $routes->dictionary({foo => sub { ... }});

inline

my $inline = $routes->inline;
$routes    = $routes->inline(1);

name

my $name = $routes->name;
$routes  = $routes->name('foo');

parent

my $parent = $routes->parent;
$routes    = $routes->parent(MojoX::Routes->new);

pattern

my $pattern = $routes->pattern;
$routes     = $routes->pattern(MojoX::Routes::Pattern->new);

METHODS

MojoX::Routes inherits all methods from Mojo::Base and implements the follwing the ones.

new

my $routes = MojoX::Routes->new;
my $routes = MojoX::Routes->new('/:controller/:action');

add_condition

$routes = $routes->add_condition(foo => sub { ... });

bridge

my $bridge = $routes->bridge;
my $bridge = $routes->bridge('/:controller/:action');

to

my $to  = $routes->to;
$routes = $routes->to(action => 'foo');
$routes = $routes->to({action => 'foo'});

is_endpoint

my $is_endpoint = $routes->is_endpoint;

match

$match = $routes->match($match);
my $match = $routes->match('/foo/bar');
my $match = $routes->match(get => '/foo/bar');

over

$routes = $routes->over(foo => qr/\w+/);
$routes = $routes->over({foo => qr/\w+/});

parse

$routes = $routes->parse('/:controller/:action');

route

my $route = $routes->route('/:c/:a', a => qr/\w+/);

to_string

my $string = $routes->to_string;

url_for

my $url = $routes->url_for($url);
my $url = $routes->url_for($url, {foo => 'bar'});

via

$routes = $routes->via('get');
$routes = $routes->via(qw/get post/);
$routes = $routes->via([qw/get post/]);

waypoint

my $route = $routes->waypoint('/:c/:a', a => qr/\w+/);