App-Netdisco
view release on metacpan or search on metacpan
lib/App/Netdisco/Worker/Plugin.pm view on Meta::CPAN
use Storable 'dclone';
register 'register_worker' => sub {
my ($self, $first, $second) = plugin_args(@_);
my $workerconf = (ref $first eq 'HASH' ? $first : {});
my $code = (ref $first eq 'CODE' ? $first : $second);
return error "bad param to register_worker"
unless ((ref sub {} eq ref $code) and (ref {} eq ref $workerconf));
my $package = (caller)[0];
($workerconf->{package} = $package) =~ s/^App::Netdisco::Worker::Plugin:://;
if ($package =~ m/Plugin::(\w+)(?:::(\w+))?/) {
$workerconf->{action} ||= lc($1);
$workerconf->{namespace} ||= lc($2) if $2;
}
return error "failed to parse action in '$package'"
unless $workerconf->{action};
$workerconf->{title} ||= '';
$workerconf->{phase} ||= 'user';
( run in 0.918 second using v1.01-cache-2.11-cpan-a3c8064c92c )