mirror of
https://github.com/perlbot/perlbuut-pastebin
synced 2025-06-07 14:17:26 -04:00
52 lines
1.1 KiB
Perl
52 lines
1.1 KiB
Perl
package App;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use v5.22;
|
|
|
|
use Mojo::Base 'Mojolicious';
|
|
|
|
use Mojolicious::Plugin::TtRenderer;
|
|
use App::Config;
|
|
use App::Controller::Paste;
|
|
use App::Controller::Eval;
|
|
use App::Controller::Apiv1;
|
|
use App::Model::Paste;
|
|
use App::Model::Eval;
|
|
use App::Model::Perlbot;
|
|
use App::Model::Languages;
|
|
|
|
sub startup {
|
|
my $self = shift;
|
|
|
|
$self->plugin('tt_renderer' => {
|
|
template_options => {
|
|
PRE_CHOMP => 1,
|
|
POST_CHOMP => 1,
|
|
TRIM => 1,
|
|
},
|
|
});
|
|
|
|
$self->renderer->default_handler( 'tt' );
|
|
|
|
if ($cfg->{features}{blogspam}) {
|
|
$self->plugin('BlogSpam' => ($cfg->{blogspam}->%*));
|
|
}
|
|
|
|
$self->helper(paste => sub {state $paste = App::Model::Paste->new});
|
|
$self->helper(eval => sub {state $eval = App::Model::Eval->new});
|
|
$self->helper(perlbot => sub {state $perlbot = App::Model::Perlbot->new});
|
|
$self->helper(languages => sub {state $languages = App::Model::Languages->new});
|
|
|
|
$self->setup_routes();
|
|
}
|
|
|
|
sub setup_routes {
|
|
my $self = shift;
|
|
|
|
App::Controller::Paste->routes($self->routes);
|
|
App::Controller::Eval->routes($self->routes);
|
|
App::Controller::Apiv1->routes($self->routes);
|
|
}
|
|
|
|
1;
|