X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FPolicy.pm;h=2a0c760a7abecbac835a021586b336949ed2c377;hb=517c579bda9717613f7faa9ffe41ef1648199e9b;hp=08307f3559ba7e53c072a50987c1b81319ebc5b4;hpb=dc668e3c302569ed2b5eb2ed893247308f22528a;p=perl%2Fmodules%2Frgit.git diff --git a/lib/App/Rgit/Policy.pm b/lib/App/Rgit/Policy.pm index 08307f3..2a0c760 100644 --- a/lib/App/Rgit/Policy.pm +++ b/lib/App/Rgit/Policy.pm @@ -15,6 +15,21 @@ Version 0.06 our $VERSION = '0.06'; +=head1 DESCRIPTION + +Base class for L policies. + +This is an internal class to L. + +=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 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 + +Make the policy handle the end of execution of the L object C<$cmd> with L configuration C<$config> in the L 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. @@ -39,7 +64,7 @@ L. =head1 AUTHOR Vincent Pit, C<< >>, L. - + You can contact me by mail or on C (vincent). =head1 BUGS