new Backend package to load core plugins
This commit is contained in:
29
lib/App/Netdisco/Backend.pm
Normal file
29
lib/App/Netdisco/Backend.pm
Normal file
@@ -0,0 +1,29 @@
|
||||
package App::Netdisco::Backend;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Module::Load ();
|
||||
use Dancer ':syntax';
|
||||
|
||||
# load core worker plugins for our workers
|
||||
# NOTE: this package is loaded for all actions whether backend or netdisco-do
|
||||
|
||||
sub load_core_plugins {
|
||||
my $plugin_list = shift;
|
||||
|
||||
foreach my $plugin (@$plugin_list) {
|
||||
$plugin =~ s/^X::/+App::NetdiscoX::Core::Plugin::/;
|
||||
$plugin = 'App::Netdisco::Core::Plugin::'. $plugin
|
||||
if $plugin !~ m/^\+/;
|
||||
$plugin =~ s/^\+//;
|
||||
|
||||
debug "loading Netdisco plugin $plugin";
|
||||
eval { Module::Load::load $plugin };
|
||||
}
|
||||
}
|
||||
|
||||
load_core_plugins( setting('extra_core_plugins') || [] );
|
||||
load_core_plugins( setting('core_plugins') || [] );
|
||||
|
||||
true;
|
||||
Reference in New Issue
Block a user