no need to list all plugins

This commit is contained in:
Oliver Gorwits
2017-09-13 21:51:40 +01:00
parent dfaeb34d8c
commit 6edd2dc879
4 changed files with 11 additions and 49 deletions

View File

@@ -4,19 +4,20 @@ use strict;
use warnings;
use Module::Load ();
use Module::Find 'findallmod';
use Dancer ':syntax';
# load worker plugins for our workers
# load worker plugins for our action
sub load_worker_plugins {
my ($action, $plugin_list) = @_;
sub import {
my ($class, $action) = @_;
die "missing action\n" unless $action;
foreach my $plugin (@$plugin_list) {
$plugin =~ s/^X::/+App::NetdiscoX::Worker::Plugin::/;
$plugin = 'App::Netdisco::Worker::Plugin::'. $plugin
if $plugin !~ m/^\+/;
$plugin =~ s/^\+//;
my @user_plugins = @{ setting('extra_worker_plugins') || [] };
my @core_plugins = findallmod 'App::Netdisco::Worker::Plugin';
foreach my $plugin (@user_plugins, @core_plugins) {
$plugin =~ s/^X::/App::NetdiscoX::Worker::Plugin::/;
next unless $plugin =~ m/::Plugin::${action}(?:::|$)/i;
debug "loading worker plugin $plugin";
@@ -24,10 +25,4 @@ sub load_worker_plugins {
}
}
sub import {
my ($class, $action) = @_;
load_worker_plugins( $action, setting('extra_worker_plugins') || [] );
load_worker_plugins( $action, setting('worker_plugins') || [] );
}
true;

View File

@@ -33,7 +33,7 @@ sub run {
$self->job($job);
my $action = $job->action;
Module::Load::load 'App::Netdisco::Worker', $action;
Module::Load::load 'App::Netdisco::Worker' => $action;
my @newuserconf = ();
my @userconf = @{ setting('device_auth') || [] };