]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Policy.pm
Revamp t/92-pod-coverage.t
[perl/modules/rgit.git] / lib / App / Rgit / Policy.pm
index dfd485624ea5ae9599d477f024a3360612eb03e4..2a0c760a7abecbac835a021586b336949ed2c377 100644 (file)
@@ -15,6 +15,21 @@ Version 0.06
 
 our $VERSION = '0.06';
 
+=head1 DESCRIPTION
+
+Base class for L<App::Rgit> policies.
+
+This is an internal class to L<rgit>.
+
+=head1 METHODS
+
+=head2 C<< new policy => $policy >>
+
+Creates a new policy object of type C<$policy> by requiring and redispatching the method call to the module named C<$policy> if it contains C<'::'> or to C<App::Rgit::Policy::$policy> otherwise.
+The class represented by C<$policy> must inherit this class.
+
+=cut
+
 sub new {
  my $class = shift;
  $class = ref $class || $class;
@@ -22,7 +37,7 @@ sub new {
  my %args = @_;
 
  if ($class eq __PACKAGE__) {
-  my $policy = delete $args{name};
+  my $policy = delete $args{policy};
   $policy = 'Default' unless defined $policy;
   $policy = __PACKAGE__ . "::$policy" unless $policy =~ /::/;
   eval "require $policy" or die $@;
@@ -32,6 +47,16 @@ sub new {
  bless { }, $class;
 }
 
+=head2 C<handle $cmd, $config, $repo, $status, $signal>
+
+Make the policy handle the end of execution of the L<App::Rgit::Command> object C<$cmd> with L<App::Rgit::Config> configuration C<$config> in the L<App::Rgit::Repository> repository C<$repo> that exited with status C<$status> and maybe received signal C<$sigal>.
+
+This method must be implemented when subclassing.
+
+=cut
+
+sub handle;
+
 =head1 SEE ALSO
 
 L<rgit>.