NAME
Mojolicious::Plugin::AutoRoute - Mojolicious Plugin to create routes automatically
SYNOPSIS
# Mojolicious
$self->plugin('AutoRoute');
# Mojolicious::Lite
plugin 'AutoRoute';
DESCRIPTION
Mojolicious::Plugin::AutoRoute is a Mojolicious plugin to create routes automatically.
Routes corresponding to URL is created .
TEMPLATES ROUTES
templates/auto/index.html.ep # /
/foo.html.ep # /foo
/foo/bar.html.ep # /foo/bar
/foo/bar/baz.html.ep # /foo/bar/baz
If you like PHP
, this plugin is very good. You only put file into auto
directory.
EXAMPLE
use Mojolicious::Lite;
use Mojolicious::Plugin::AutoRoute::Util 'template';
# AutoRoute
plugin 'AutoRoute';
# Custom routes
get '/create/:id' => template '/create';
@@ auto/index.html.ep
/
@@ auto/foo.html.ep
/foo
@@ auto/bar.html.ep
/bar
@@ auto/foo/bar/baz.html.ep
/foo/bar/baz
@@ auto/json.html.ep
<%
$self->render(json => {foo => 1});
return;
%>
@@ create.html.ep
/create/<%= $id %>
OPTIONS
route
route => $route;
You can set parent route if you need. This is Mojolicious::Routes object. Default is $app-
routes>.
top_dir
top_dir => 'myauto'
Top directory. default is auto
.
FUNCTIONS
template(Mojolicious::Plugin::AutoRoute::Util)
If you want to create custom route, use template
function.
use Mojolicious::Plugin::AutoRoute::Util 'template';
# Mojolicious Lite
any '/foo' => template 'foo';
# Mojolicious
$r->any('/foo' => template 'foo');
template
is return callback to call render_maybe
.
register
$plugin->register($app);
Register plugin in Mojolicious application.
CAUTION
This plugin depend on Mojolicious internal structure. I try to keep this module work well and backword compatible, but I don't guarantee it.