# HG changeset patch # User Vincent Tondellier # Date 1442008341 -7200 # Node ID dfc2f094a04fa922e6edf44b53c2d632d85c65b3 # Parent c810480b2c37cc830546bf9c23d0710bc32f09fa Fix compatibility with Mojolicious > 6 (Removed deprecated object-oriented Mojo::Loader API) diff -r c810480b2c37 -r dfc2f094a04f CrashTest.pl --- 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!'; } diff -r c810480b2c37 -r dfc2f094a04f bin/fs_to_db.pl --- 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!'; } diff -r c810480b2c37 -r dfc2f094a04f bin/gearman_decode_worker.pl --- 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!'; } diff -r c810480b2c37 -r dfc2f094a04f lib/CrashTest/StackFilter.pm --- 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 ];