]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Command.pm
Remove trailing whitespace
[perl/modules/rgit.git] / lib / App / Rgit / Command.pm
index f2f043bd05b0b65aed70e2a0607e9515a7e65268..3a34822317dc3a37c2b5c738528f53bd96b57d5a 100644 (file)
@@ -5,8 +5,6 @@ use warnings;
 
 use Carp qw/croak/;
 
-use Object::Tiny qw/cmd args policy/;
-
 use App::Rgit::Utils qw/validate :codes/;
 
 =head1 NAME
@@ -15,11 +13,11 @@ App::Rgit::Command - Base class for App::Rgit commands.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.06
 
 =cut
 
-our $VERSION = '0.03';
+our $VERSION = '0.06';
 
 =head1 DESCRIPTION
 
@@ -50,11 +48,11 @@ sub new {
                                unless $class->isa($action);
  }
  eval "require $action; 1" or croak "Couldn't load $action: $@";
- $class->SUPER::new(
+ bless {
   cmd    => $cmd,
   args   => $args{args} || [ ],
   policy => $args{policy},
);
}, $class;
 }
 
 =head2 C<< action $cmd [ => $pkg ] >>
@@ -80,13 +78,16 @@ sub action {
 
 =head2 C<report $conf, $repo, $status>
 
+Reports that the execution of the command in C<$repo> exited with C<$status> to the current command's policy.
+Returns what policy C<report> method returned, which should be one of the policy codes listed in C<App::Rgit::Utils>.
+
 =cut
 
 sub report {
  my ($self) = @_;
- my $cb = $self->policy;
return NEXT | SAVE unless $cb;
- my $code = $cb->(@_);
+
my $code = $self->policy->report(@_);
+
  return defined $code ? $code : NEXT;
 }
 
@@ -96,13 +97,18 @@ sub report {
 
 =head2 C<policy>
 
-Accessors.
+Read-only accessors.
+
+=cut
+
+BEGIN {
+ eval "sub $_ { \$_[0]->{$_} }" for qw/cmd args policy/;
+}
 
 =head2 C<run $conf>
 
 Runs the command with a L<App::Rgit::Config> configuration object.
-Stops as soon as one of the executed commands fails, and returns the corresponding exit code.
-Returns zero when all went fine.
+Handles back the code to return to the system and the last policy.
 Implemented in subclasses.
 
 =head1 SEE ALSO
@@ -112,7 +118,7 @@ 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
@@ -127,7 +133,7 @@ You can find documentation for this module with the perldoc command.
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2008 Vincent Pit, all rights reserved.
+Copyright 2008-2009 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.