diff options
Diffstat (limited to 'lib/Reply/Plugin/LoadClass.pm')
-rw-r--r-- | lib/Reply/Plugin/LoadClass.pm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Reply/Plugin/LoadClass.pm b/lib/Reply/Plugin/LoadClass.pm index 8bba634..a225cdd 100644 --- a/lib/Reply/Plugin/LoadClass.pm +++ b/lib/Reply/Plugin/LoadClass.pm @@ -1,12 +1,28 @@ package Reply::Plugin::LoadClass; use strict; use warnings; +# ABSTRACT: attempts to load classes implicitly if possible use base 'Reply::Plugin'; use Module::Runtime 'use_package_optimistically'; use Try::Tiny; +=head1 SYNOPSIS + + ; .replyrc + [LoadClass] + +=head1 DESCRIPTION + +If executing a line of code fails due to a method not being defined on a +package, this plugin will load the corresponding module and then try executing +the line again. This simplifies common cases like running C<< DateTime->now >> +at the prompt before loading L<DateTime> - this plugin will cause DateTime to +be loaded implicitly. + +=cut + sub execute { my $self = shift; my ($next, @args) = @_; |