]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Policy.pm
Make sure the POD headings are linkable
[perl/modules/rgit.git] / lib / App / Rgit / Policy.pm
index 08307f3559ba7e53c072a50987c1b81319ebc5b4..1af0cad30cd87999ff9361a3210444e8c808147f 100644 (file)
@@ -9,11 +9,28 @@ App::Rgit::Policy - Base class for App::Rgit policies.
 
 =head1 VERSION
 
-Version 0.06
+Version 0.08
 
 =cut
 
-our $VERSION = '0.06';
+our $VERSION = '0.08';
+
+=head1 DESCRIPTION
+
+Base class for L<App::Rgit> policies.
+
+This is an internal class to L<rgit>.
+
+=head1 METHODS
+
+=head2 C<new>
+
+    my $arp = App::Rgit::Policy->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;
@@ -22,7 +39,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 +49,18 @@ sub new {
  bless { }, $class;
 }
 
+=head2 C<handle>
+
+    my $code = $arp->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 +68,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