Files
netdisco/lib/App/Netdisco/Backend/Util.pm
Oliver Gorwits ee6deea01b load plugins
2017-08-05 18:13:15 +01:00

42 lines
999 B
Perl
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package App::Netdisco::Backend::Util;
use strict;
use warnings;
use Dancer ':syntax';
# load core worker plugins for our workers
# NOTE: this package is loaded for all actions whether backend or netdisco-do
use Module::Load ();
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') || [] );
# support utilities for Backend Actions
use base 'Exporter';
our @EXPORT = ();
our @EXPORT_OK = qw/ job_done job_error job_defer /;
our %EXPORT_TAGS = (all => \@EXPORT_OK);
sub job_done { return ('done', shift) }
sub job_error { return ('error', shift) }
sub job_defer { return ('defer', shift) }
1;