]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Policy.pm
Fix constant resolution on 5.8
[perl/modules/rgit.git] / lib / App / Rgit / Policy.pm
index 08307f3559ba7e53c072a50987c1b81319ebc5b4..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>.
@@ -39,7 +64,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