X-Git-Url: http://git.ieval.ro/?p=gruntmaster-daemon.git;a=blobdiff_plain;f=lib%2FGruntmaster%2FDaemon.pm;h=1c58550a7e0a8c584c1f25edbce6b75642807577;hp=880c0da49a47c1cf8915f952234b6c2609573e38;hb=fcfcfb939965f2536e812d3138a208008b1eb601;hpb=c1379ae87b192ebd84b01d478c702ddd78ad326a diff --git a/lib/Gruntmaster/Daemon.pm b/lib/Gruntmaster/Daemon.pm index 880c0da..1c58550 100644 --- a/lib/Gruntmaster/Daemon.pm +++ b/lib/Gruntmaster/Daemon.pm @@ -35,19 +35,13 @@ use constant FORMAT_EXTENSION => { my $db; -sub safe_can_nodie { +sub safe_can { my ($type, $sub, $name) = @_; - return unless $name =~ /^\w+$/s; + get_logger->logdie("Invalid \l$type: '$name'") unless $name =~ /^\w+$/s; my $pkg = __PACKAGE__ . "::${type}::${name}"; eval "require $pkg" or get_logger->warn("Error while requiring $pkg: $@"); - $pkg->can($sub); -} - -sub safe_can { - my ($type, $sub, $name) = @_; - - safe_can_nodie @_ or get_logger->logdie("No such \l$type: '$name'"); + $pkg->can($sub) or get_logger->logdie("No such \l$type: '$name'"); } sub process{