# Dancer2-Plugin-Routing
Routing plugin for Perl Dancer2 using Dancer2::Plugin::RootURIFor

# SYNOPSIS

Configuration:

    plugins:
        Routing:
            template_key: routing
            routes:
                main:
                  route: '/'
                  package: MyApp
                api:
                  route: '/api'
                  package: MyApp::API
                moderation:
                  route: '/mod'
                  package: MyApp::Moderation
                admin: '/~admin'
                assets:
                  route: '/assets'
                  package:  MyApp::Assets
Code:

    use Dancer2;
    use Dancer2::Plugin::Routing;
    use Plack::Builder;
    use MyApp;
    ...
    builder {
        mount routing_for('main')       => MyApp->to_app             if mount routing_for('main');
        mount routing_for('api')        => MyApp::API->to_app        if mount routing_for('api');
        mount routing_for('moderation') => MyApp::Moderation->to_app if mount routing_for('moderation');
        mount routing_for('admin')      => MyApp::Admin->to_app      if mount routing_for('admin');
        mount routing_for('assets')     => MyApp::Assets->to_app     if mount routing_for('assets');
    };

    ...

    use Dancer2;
    use Dancer2::Plugin::Routing;

    get '/do/stuff' => sub {
        return root_redirect '/';
    };

Template:

    <a href="[% routing.admin %]/page">To some admin page</a>