X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FGitalist.pm;h=62b6fdaa4ffbe8a29e31e9f046832ebc7e9a85cf;hb=f854a8e0828d2e2ecdf137b42c7a03d2cd72a784;hp=89e7d1f3bb6aba96aaa4ac30a58723713345dfee;hpb=2db4bce7abf77be479a6a6c62c8e08c5067d0c6d;p=catagits%2FGitalist.git diff --git a/lib/Gitalist.pm b/lib/Gitalist.pm index 89e7d1f..62b6fda 100644 --- a/lib/Gitalist.pm +++ b/lib/Gitalist.pm @@ -1,7 +1,8 @@ package Gitalist; use Moose; BEGIN { require 5.008006; } -use Catalyst::Runtime 5.80; +use Catalyst::Runtime 5.90006; +use Gitalist::Git::Util; use namespace::autoclean; extends 'Catalyst'; @@ -14,7 +15,7 @@ use Catalyst qw/ SubRequest /; -our $VERSION = '0.003005'; +our $VERSION = '0.003006'; $VERSION = eval $VERSION; __PACKAGE__->config( @@ -33,7 +34,7 @@ after prepare_path => sub { if ($ctx->req->param('a')) { $ctx->req->uri->path("/legacy$path"); } - + if($path =~ s/[.]json$// && $ctx->req->content_type eq 'application/json') { $ctx->req->uri->path($path); } @@ -51,9 +52,15 @@ sub uri_with { my $uri = $self->request->uri_with(@args); # Wow this awful. $uri =~ s[/fragment\b][]; - return $uri; + return $uri; } +after setup_finalize => sub { + # At app startup, ensure we can find a git binary, rather than + # lazily breaking later at request time. + Gitalist::Git::Util->new->_git; # FIXME - should not be a private method +}; + 1; __END__ @@ -230,10 +237,6 @@ leaking repo names via the browser referer headers. =over -=item git - -Path to the C binary. - =item repo_dir A directory containing the directories to show. @@ -262,6 +265,18 @@ This is compatible with C's C. If provided every must contain a file of the same name to be visible. This is similar to C's functionality. +=item class + +If you want a different way of surfacing repositories you can use your +own model (i.e something that composes +L) and specify the class name with +this config option. + +=item args + +Any additional arguments to be passed into the Model constructor, only +of use when used in conjunction with C (see above). + =back =head2 paging