X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FPolicy.pm;h=d48141769f5511f60e920d5b28298f34102b1b0c;hb=2e8121b94bf4847686087060a709fa3bb433f4ee;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..d481417 100644 --- a/lib/App/Rgit/Policy.pm +++ b/lib/App/Rgit/Policy.pm @@ -9,11 +9,26 @@ 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 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; @@ -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