X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=modules%2Foverride%2FDevel%2FREPL%2FPlugin%2FAutoloadModules.pm;fp=modules%2Foverride%2FDevel%2FREPL%2FPlugin%2FAutoloadModules.pm;h=0000000000000000000000000000000000000000;hp=e36ee9654d54baaa9969b502f2e210368988c4a1;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44 diff --git a/modules/override/Devel/REPL/Plugin/AutoloadModules.pm b/modules/override/Devel/REPL/Plugin/AutoloadModules.pm deleted file mode 100644 index e36ee9654..000000000 --- a/modules/override/Devel/REPL/Plugin/AutoloadModules.pm +++ /dev/null @@ -1,29 +0,0 @@ -package Devel::REPL::Plugin::AutoloadModules; - -use Moose::Role; -use namespace::clean -except => [ 'meta' ]; -use Data::Dumper; - -has 'autoloaded' => ( is => 'rw', isa => 'HashRef', default => sub { {} } ); - -my $re = qr/Runtime error: Can.t locate object method "\w+" via package "\w+" \(perhaps you forgot to load "(\w+)"\?\)/; -around 'execute' => sub { - my $orig = shift; - my $self = shift; - - my @re = $self->$orig(@_); # original call - - return @re unless defined $re[0] && $re[0] =~ /$re/; # if there is no "perhaps you forgot" error, just return - my $module = $1; # save the missing package name - - return @re if $self->autoloaded->{$module}; # if we tried to load it before, give up and return the error - - $self->autoloaded->{$module} = 1; # make sure we don't try this again - $self->eval("use SL::$module"); # try to load the missing module - - @re = $self->$orig(@_); # try again - - return @re; -}; - -1;