]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Command.pm
This is 0.08
[perl/modules/rgit.git] / lib / App / Rgit / Command.pm
index c43cc6c5c9e7cbe21a3a4622acd5e8c6b2163bbd..5edd9c284d15915bbb8ec8f5c960d02de7305016 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
 
@@ -13,11 +13,11 @@ App::Rgit::Command - Base class for App::Rgit commands.
 
 =head1 VERSION
 
-Version 0.06
+Version 0.08
 
 =cut
 
-our $VERSION = '0.06';
+our $VERSION = '0.08';
 
 =head1 DESCRIPTION
 
@@ -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} || [ ],
@@ -86,7 +94,7 @@ Returns what policy C<report> method returned, which should be one of the policy
 sub report {
  my ($self) = @_;
 
- my $code = $self->policy->report(@_);
+ my $code = $self->policy->handle(@_);
 
  return defined $code ? $code : NEXT;
 }
@@ -118,12 +126,13 @@ L<rgit>.
 =head1 AUTHOR
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<http://profvince.com>.
-   
+
 You can contact me by mail or on C<irc.perl.org> (vincent).
 
 =head1 BUGS
 
-Please report any bugs or feature requests to C<bug-rgit at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=rgit>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
+Please report any bugs or feature requests to C<bug-rgit at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=rgit>.
+I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
 
 =head1 SUPPORT
 
@@ -133,7 +142,7 @@ You can find documentation for this module with the perldoc command.
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2008-2009 Vincent Pit, all rights reserved.
+Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
 
 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.