]> git.donarmstrong.com Git - debbugs.git/blob - lib/Debbugs/Mojo.pm
serve configuration items as json under the config space
[debbugs.git] / lib / Debbugs / Mojo.pm
1 package Debbugs::Mojo;
2
3 use Mojo::Base 'Mojolicious';
4
5 sub startup {
6   my $self = shift;
7
8   $self->plugin('Debbugs::Mojo::Plugin::DBI');
9   $self->plugin('Debbugs::Mojo::Plugin::Xslate');
10   my $r = $self->routes;
11   $r->namespaces(['Debbugs::Mojo::Controller']);
12   $r->add_type(bug => qr/\d+/);
13   $r->add_type(package => qr/[a-z0-9][a-z0-9\.+-]+/);
14   $r->get('/<bug:bug>')->to('Bug#show')->name('show_bug');
15   $r->get('/bug/<bug:bug>')->to('Bug#show')->name('show_bug');
16   $r->get('/<package:package>')->to('Package#show')->name('show_package');
17   $r->get('/package/<package:package>')->to('Package#show')->name('show_package');
18   $r->get('/config/:item')->to('Config#show')->name('show_config');
19   $r->get('/' => sub {
20               my $c = shift;
21               $c->render(text => 'Mojolicious rocks');
22           });
23 }
24
25 1;
26