use Moose;
extends 'Catalyst::DispatchType';
-#use strict;
-#use base qw/Catalyst::DispatchType/;
use Text::SimpleTable;
+use Catalyst::Utils;
use URI;
has _paths => (
default => sub { +{} },
);
+no Moose;
+
=head1 NAME
Catalyst::DispatchType::Path - Path DispatchType
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} } ) {
sub match {
my ( $self, $c, $path ) = @_;
- $path ||= '/';
+ $path = '/' if !defined $path || !length $path;
foreach my $action ( @{ $self->_paths->{$path} || [] } ) {
next unless $action->match($c);
}
}
-=head1 AUTHOR
+=head1 AUTHORS
-Matt S Trout
-Sebastian Riedel, C<sri@cpan.org>
+Catalyst Contributors, see Catalyst.pm
=head1 COPYRIGHT
=cut
-no Moose;
__PACKAGE__->meta->make_immutable;
1;