Text::SimpleTable's now go as wide as $ENV{COLUMNS}
[catagits/Catalyst-Runtime.git] / lib / Catalyst / DispatchType / Path.pm
index 46902c4..d58f1fd 100644 (file)
@@ -3,9 +3,8 @@ package Catalyst::DispatchType::Path;
 use Moose;
 extends 'Catalyst::DispatchType';
 
-#use strict;
-#use base qw/Catalyst::DispatchType/;
 use Text::SimpleTable;
+use Catalyst::Utils;
 use URI;
 
 has _paths => (
@@ -15,6 +14,8 @@ has _paths => (
                default => sub { +{} },
               );
 
+no Moose;
+
 =head1 NAME
 
 Catalyst::DispatchType::Path - Path DispatchType
@@ -35,7 +36,10 @@ 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} } ) {
@@ -57,7 +61,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);
@@ -128,10 +132,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
 
@@ -140,7 +143,6 @@ the same terms as Perl itself.
 
 =cut
 
-no Moose;
 __PACKAGE__->meta->make_immutable;
 
 1;