CrashTest.pl
changeset 70 dfc2f094a04f
parent 68 c810480b2c37
equal deleted inserted replaced
68:c810480b2c37 70:dfc2f094a04f
    14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    15 
    15 
    16 # ABSTRACT: Web interface for breakpad
    16 # ABSTRACT: Web interface for breakpad
    17 
    17 
    18 use Mojolicious::Lite;
    18 use Mojolicious::Lite;
       
    19 use Mojo::Loader qw/load_class/;
    19 use UUID;
    20 use UUID;
    20 use lib 'lib';
    21 use lib 'lib';
    21 
    22 
    22 use CrashTest::Models::Frame;
    23 use CrashTest::Models::Frame;
    23 use CrashTest::Models::Thread;
    24 use CrashTest::Models::Thread;
    24 use CrashTest::StackFilter;
    25 use CrashTest::StackFilter;
    25 
    26 
    26 app->attr(storage => sub {
    27 app->attr(storage => sub {
    27     my $self = shift;
    28     my $self = shift;
    28     my $loader = Mojo::Loader->new;
       
    29 
    29 
    30     my $storage_class = $self->app->config->{Storage}->{Type};
    30     my $storage_class = $self->app->config->{Storage}->{Type};
    31     if (my $e = $loader->load($storage_class)) {
    31     if (my $e = load_class($storage_class)) {
    32         die ref $e ? "Exception: $e" : 'Not found!';
    32         die ref $e ? "Exception: $e" : 'Not found!';
    33     }
    33     }
    34 
    34 
    35     state $storage = $storage_class->new(
    35     state $storage = $storage_class->new(
    36         config => $self->app->config->{Storage},
    36         config => $self->app->config->{Storage},
    39     return $storage;
    39     return $storage;
    40 });
    40 });
    41 
    41 
    42 app->attr(decode_queue => sub {
    42 app->attr(decode_queue => sub {
    43     my $self = shift;
    43     my $self = shift;
    44     my $loader = Mojo::Loader->new;
       
    45 
    44 
    46     my $decode_class = $self->app->config->{DecodeQueue}->{Type};
    45     my $decode_class = $self->app->config->{DecodeQueue}->{Type};
    47     if (my $e = $loader->load($decode_class)) {
    46     if (my $e = load_class($decode_class)) {
    48         die ref $e ? "Exception: $e" : 'Not found!';
    47         die ref $e ? "Exception: $e" : 'Not found!';
    49     }
    48     }
    50 
    49 
    51     state $decode = $decode_class->new(
    50     state $decode = $decode_class->new(
    52         config => $self->app->config->{DecodeQueue},
    51         config => $self->app->config->{DecodeQueue},