X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDispatchType%2FPath.pm;h=98ef3034a7ed981e001563ca375727bd5ca1384b;hp=1672712fb1ceed83871d5d732419e7d3b0255b76;hb=61a9002d77ce79bc038b3ec6212e275015801594;hpb=bd2be280fc62c7cf17005a7a8647d152131a67a5 diff --git a/lib/Catalyst/DispatchType/Path.pm b/lib/Catalyst/DispatchType/Path.pm index 1672712..98ef303 100644 --- a/lib/Catalyst/DispatchType/Path.pm +++ b/lib/Catalyst/DispatchType/Path.pm @@ -25,7 +25,8 @@ sub list { my $paths = Text::SimpleTable->new( [ 36, 'Path' ], [ 37, 'Private' ] ); for my $path ( sort keys %{ $self->{paths} } ) { my $action = $self->{paths}->{$path}; - $paths->row( "/$path", "/$action" ); + $path = "/$path" unless $path eq '/'; + $paths->row( "$path", "/$action" ); } $c->log->debug( "Loaded Path actions:\n" . $paths->draw ) if ( keys %{ $self->{paths} } ); @@ -38,6 +39,7 @@ sub list { sub match { my ( $self, $c, $path ) = @_; + $path ||= '/'; if ( my $action = $self->{paths}->{$path} ) { $c->req->action($path); $c->req->match($path); @@ -62,7 +64,7 @@ sub register { foreach my $r ( @{ $attrs->{Path} || [] } ) { unless ($r) { $r = $action->namespace; - $r = '' if $r eq '/'; + $r = '/' unless $r; } elsif ( $r !~ m!^/! ) { # It's a relative path $r = $action->namespace . "/$r"; @@ -92,6 +94,7 @@ sub register { sub register_path { my ( $self, $c, $path, $action ) = @_; $path =~ s!^/!!; + $path = '/' unless $path; $self->{paths}{$path} = $action; }