]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Command.pm
Replace croak() by Carp::confess()
[perl/modules/rgit.git] / lib / App / Rgit / Command.pm
index 3a34822317dc3a37c2b5c738528f53bd96b57d5a..fa98b6ec20c8662a8d60d066bf2477b0b24cf7a6 100644 (file)
@@ -3,9 +3,9 @@ package App::Rgit::Command;
 use strict;
 use warnings;
 
-use Carp qw/croak/;
+use Carp ();
 
-use App::Rgit::Utils qw/validate :codes/;
+use App::Rgit::Utils qw/:codes/;
 
 =head1 NAME
 
@@ -37,17 +37,25 @@ my %commands;
 __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);
+  Carp::confess("Command $cmd should be executed as a $action")
+                                                    unless $class->isa($action);
  }
- eval "require $action; 1" or croak "Couldn't load $action: $@";
+
+ eval "require $action; 1" or Carp::confess("Couldn't load $action: $@");
+
  bless {
   cmd    => $cmd,
   args   => $args{args} || [ ],