Fix compatibility with Mojolicious > 6
(Removed deprecated object-oriented Mojo::Loader API)
--- a/CrashTest.pl Sat May 09 23:24:13 2015 +0200
+++ b/CrashTest.pl Fri Sep 11 23:52:21 2015 +0200
@@ -16,6 +16,7 @@
# ABSTRACT: Web interface for breakpad
use Mojolicious::Lite;
+use Mojo::Loader qw/load_class/;
use UUID;
use lib 'lib';
@@ -25,10 +26,9 @@
app->attr(storage => sub {
my $self = shift;
- my $loader = Mojo::Loader->new;
my $storage_class = $self->app->config->{Storage}->{Type};
- if (my $e = $loader->load($storage_class)) {
+ if (my $e = load_class($storage_class)) {
die ref $e ? "Exception: $e" : 'Not found!';
}
@@ -41,10 +41,9 @@
app->attr(decode_queue => sub {
my $self = shift;
- my $loader = Mojo::Loader->new;
my $decode_class = $self->app->config->{DecodeQueue}->{Type};
- if (my $e = $loader->load($decode_class)) {
+ if (my $e = load_class($decode_class)) {
die ref $e ? "Exception: $e" : 'Not found!';
}
--- a/bin/fs_to_db.pl Sat May 09 23:24:13 2015 +0200
+++ b/bin/fs_to_db.pl Fri Sep 11 23:52:21 2015 +0200
@@ -18,7 +18,7 @@
use Mojo::JSON qw/decode_json/;
use Mojo::Util qw/decode slurp/;
-use Mojo::Loader;
+use Mojo::Loader qw/load_class/;
use File::Basename;
use Mojolicious;
use Mojo::Home;
@@ -37,10 +37,8 @@
my $config = load_config();
-my $loader = Mojo::Loader->new;
-
my $storage_class = $config->{Storage}->{Type};
-if (my $e = $loader->load($storage_class)) {
+if (my $e = load_class($storage_class)) {
die ref $e ? "Exception: $e" : 'Not found!';
}
--- a/bin/gearman_decode_worker.pl Sat May 09 23:24:13 2015 +0200
+++ b/bin/gearman_decode_worker.pl Fri Sep 11 23:52:21 2015 +0200
@@ -18,7 +18,7 @@
use Mojo::JSON qw/decode_json/;
use Mojo::Util qw/decode slurp/;
-use Mojo::Loader;
+use Mojo::Loader qw/load_class/;
use File::Temp;
use Gearman::Worker;
use Mojolicious;
@@ -33,10 +33,8 @@
my $config = load_config();
-my $loader = Mojo::Loader->new;
-
my $storage_class = $config->{Storage}->{Type};
-if (my $e = $loader->load($storage_class)) {
+if (my $e = load_class($storage_class)) {
die ref $e ? "Exception: $e" : 'Not found!';
}
--- a/lib/CrashTest/StackFilter.pm Sat May 09 23:24:13 2015 +0200
+++ b/lib/CrashTest/StackFilter.pm Fri Sep 11 23:52:21 2015 +0200
@@ -13,7 +13,7 @@
package CrashTest::StackFilter;
use Mojo::Base -base;
-use Mojo::Loader;
+use Mojo::Loader qw/load_class find_modules/;
has [ qw/config app filters/ ];
@@ -21,9 +21,9 @@
my $self = shift->SUPER::new(@_);
if(defined($self->config->{StackFilters})) {
- $self->load_modules($self->config->{StackFilters});
+ $self->load_plugins($self->config->{StackFilters});
} else {
- $self->find_modules();
+ $self->find_stackfilters_plugins();
}
return $self;
@@ -40,13 +40,12 @@
return $thread;
}
-sub load_modules {
+sub load_plugins {
my ($self, $modules) = @_;
my @filters = ();
- my $loader = Mojo::Loader->new;
for my $module (@$modules) {
- my $e = $loader->load($module);
+ my $e = load_class($module);
die qq{Loading "$module" failed: $e} if ref $e;
#say "loading $module";
@@ -56,15 +55,14 @@
$self->filters(\@filters);
}
-sub find_modules {
+sub find_stackfilters_plugins {
my ($self) = @_;
my @modules = ();
- my $loader = Mojo::Loader->new;
# Find modules in a namespace
- for my $module (@{$loader->search('CrashTest::StackFilters')}) {
- my $e = $loader->load($module);
+ for my $module (find_modules('CrashTest::StackFilters')) {
+ my $e = load_class($module);
warn qq{Loading "$module" failed: $e} and next if ref $e;
push @modules, [ $module, $module->priority ];