X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=lib%2FApp%2FRgit%2FPolicy.pm;h=1af0cad30cd87999ff9361a3210444e8c808147f;hp=08307f3559ba7e53c072a50987c1b81319ebc5b4;hb=e833c52a64e7aac9c18d7051285bf4d9906c4faf;hpb=dc668e3c302569ed2b5eb2ed893247308f22528a diff --git a/lib/App/Rgit/Policy.pm b/lib/App/Rgit/Policy.pm index 08307f3..1af0cad 100644 --- a/lib/App/Rgit/Policy.pm +++ b/lib/App/Rgit/Policy.pm @@ -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 policies. + +This is an internal class to L. + +=head1 METHODS + +=head2 C + + 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 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 + + my $code = $arp->handle($cmd, $config, $repo, $status, $signal); + +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 +68,7 @@ L. =head1 AUTHOR Vincent Pit, C<< >>, L. - + You can contact me by mail or on C (vincent). =head1 BUGS