Text::SimpleTable's now go as wide as $ENV{COLUMNS} (jhannah)
[catagits/Catalyst-Runtime.git] / lib / Catalyst / DispatchType / Path.pm
index 52fdb73..9135d70 100644 (file)
@@ -3,6 +3,7 @@ package Catalyst::DispatchType::Path;
 use strict;
 use base qw/Catalyst::DispatchType/;
 use Text::SimpleTable;
+use Catalyst::Utils;
 use URI;
 
 =head1 NAME
@@ -25,14 +26,17 @@ Debug output for Path dispatch points
 
 sub list {
     my ( $self, $c ) = @_;
-    my $paths = Text::SimpleTable->new( [ 35, 'Path' ], [ 36, 'Private' ] );
+    my $column_width = Catalyst::Utils::term_width() - 35 - 9;
+    my $paths = Text::SimpleTable->new( 
+       [ 35, 'Path' ], [ $column_width, 'Private' ]
+    );
     foreach my $path ( sort keys %{ $self->{paths} } ) {
         my $display_path = $path eq '/' ? $path : "/$path";
         foreach my $action ( @{ $self->{paths}->{$path} } ) {
             $paths->row( $display_path, "/$action" );
         }
     }
-    $c->log->debug( "Loaded Path actions:\n" . $paths->draw )
+    $c->log->debug( "Loaded Path actions:\n" . $paths->draw . "\n" )
       if ( keys %{ $self->{paths} } );
 }
 
@@ -47,7 +51,7 @@ first action that matches, if any; if not, returns 0.
 sub match {
     my ( $self, $c, $path ) = @_;
 
-    $path ||= '/';
+    $path = '/' if !defined $path || !length $path;
 
     foreach my $action ( @{ $self->{paths}->{$path} || [] } ) {
         next unless $action->match($c);
@@ -118,10 +122,9 @@ sub uri_for_action {
     }
 }
 
-=head1 AUTHOR
+=head1 AUTHORS
 
-Matt S Trout
-Sebastian Riedel, C<sri@cpan.org>
+Catalyst Contributors, see Catalyst.pm
 
 =head1 COPYRIGHT