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 8d6f10
    # Fiat Tux helpers
Luc Didry 8d6f10
    $self->plugin('FiatTux::Helpers');
Luc Didry 8d6f10
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;