|
Luc Didry |
91e078 |
package Mounter;
|
|
Luc Didry |
91e078 |
use Mojo::Base 'Mojolicious';
|
|
Luc Didry |
91e078 |
use FindBin qw($Bin);
|
|
Luc Didry |
91e078 |
use File::Spec qw(catfile);
|
|
Luc Didry |
b57ed7 |
use Lufi::DefaultConfig qw($default_config);
|
|
Luc Didry |
91e078 |
|
|
Luc Didry |
91e078 |
# This method will run once at server start
|
|
Luc Didry |
91e078 |
sub startup {
|
|
Luc Didry |
91e078 |
my $self = shift;
|
|
Luc Didry |
91e078 |
|
|
Luc Didry |
40deab |
push @{$self->commands->namespaces}, 'Lufi::Command';
|
|
Luc Didry |
40deab |
|
|
s7b4 |
b3c6a2 |
my $cfile = Mojo::File->new($Bin, '..' , 'lufi.conf');
|
|
s7b4 |
b3c6a2 |
if (defined $ENV{MOJO_CONFIG}) {
|
|
s7b4 |
b3c6a2 |
$cfile = Mojo::File->new($ENV{MOJO_CONFIG});
|
|
s7b4 |
b3c6a2 |
unless (-e $cfile->to_abs) {
|
|
s7b4 |
b3c6a2 |
$cfile = Mojo::File->new($Bin, '..', $ENV{MOJO_CONFIG});
|
|
s7b4 |
b3c6a2 |
}
|
|
s7b4 |
b3c6a2 |
}
|
|
Luc Didry |
91e078 |
my $config = $self->plugin('Config' =>
|
|
Luc Didry |
91e078 |
{
|
|
s7b4 |
b3c6a2 |
file => $cfile,
|
|
Luc Didry |
b57ed7 |
default => $default_config
|
|
Luc Didry |
91e078 |
}
|
|
Luc Didry |
91e078 |
);
|
|
Luc Didry |
91e078 |
|
|
Luc Didry |
b61880 |
# Compress static assets
|
|
Luc Didry |
b61880 |
$self->plugin('GzipStatic');
|
|
Luc Didry |
b61880 |
|
|
Luc Didry |
377ba0 |
# Headers
|
|
Luc Didry |
377ba0 |
$self->plugin('Lufi::Plugin::Headers');
|
|
Luc Didry |
b61880 |
|
|
Luc Didry |
9c62d4 |
# Helpers
|
|
Luc Didry |
9c62d4 |
$self->plugin('Lufi::Plugin::Helpers');
|
|
Luc Didry |
9c62d4 |
|
|
Luc Didry |
adf0a4 |
# Themes handling
|
|
Luc Didry |
218c4a |
$self->plugin('FiatTux::Themes');
|
|
Luc Didry |
adf0a4 |
|
|
Luc Didry |
91e078 |
$self->plugin('Mount' => {$config->{prefix} => File::Spec->catfile($Bin, '..', 'script', 'application')});
|
|
Luc Didry |
91e078 |
}
|
|
Luc Didry |
91e078 |
|
|
Luc Didry |
91e078 |
1;
|