X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=lib%2FApp%2FRgit%2FPolicy.pm;h=2a0c760a7abecbac835a021586b336949ed2c377;hp=dfd485624ea5ae9599d477f024a3360612eb03e4;hb=cb9eb6a59510dcfb9aaf05e09d2612aa0a9e18e3;hpb=88bfe285dbd8fe5cb70f28ff9ad9dee16631dd52 diff --git a/lib/App/Rgit/Policy.pm b/lib/App/Rgit/Policy.pm index dfd4856..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.