use Carp qw/croak/;
-use App::Rgit::Utils qw/validate :codes/;
+use App::Rgit::Utils qw/:codes/;
=head1 NAME
__PACKAGE__->action($_ => 'Once') for qw/daemon gui help init version/, ' ';
sub new {
- my ($class, %args) = &validate;
+ my $class = shift;
+ $class = ref $class || $class;
+
+ my %args = @_;
+
my $cmd = $args{cmd};
$cmd = ' ' unless defined $cmd;
+
my $action = $class->action($cmd);
+
if ($class eq __PACKAGE__) {
$class = $action;
} else {
croak "Command $cmd should be executed as a $action"
unless $class->isa($action);
}
+
eval "require $action; 1" or croak "Couldn't load $action: $@";
bless {
cmd => $cmd,