Fix compatibility with Mojolicious > 6
authorVincent Tondellier <tonton+hg@team1664.org>
Fri, 11 Sep 2015 23:52:21 +0200
changeset 70 dfc2f094a04f
parent 68 c810480b2c37
child 71 61fa9d626914
Fix compatibility with Mojolicious > 6 (Removed deprecated object-oriented Mojo::Loader API)
CrashTest.pl
bin/fs_to_db.pl
bin/gearman_decode_worker.pl
lib/CrashTest/StackFilter.pm
--- 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 ];