1
0
Fork 0
mirror of https://github.com/perlbot/perlbuut-pastebin synced 2025-06-07 14:17:26 -04:00
perlbuut-pastebin/lib/App.pm

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;