From: Matt S Trout Date: Tue, 8 Nov 2005 18:09:52 +0000 (+0000) Subject: - Nuked LocalRegex.pm X-Git-Tag: 5.7099_04~994 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=22d3c564b35becd3e5fe91d0610f0d8a1c153586 - Nuked LocalRegex.pm --- diff --git a/lib/Catalyst/DispatchType/LocalRegex.pm b/lib/Catalyst/DispatchType/LocalRegex.pm deleted file mode 100644 index 3483371..0000000 --- a/lib/Catalyst/DispatchType/LocalRegex.pm +++ /dev/null @@ -1,109 +0,0 @@ -package Catalyst::DispatchType::Regex; - -use strict; -use base qw/Catalyst::DispatchType::Path/; -use Text::SimpleTable; - -=head1 NAME - -Catalyst::DispatchType::Regex - Regex DispatchType - -=head1 SYNOPSIS - -See L. - -=head1 DESCRIPTION - -=head1 METHODS - -=over 4 - -=item $self->list($c) - -=cut - -sub list { - my ( $self, $c ) = @_; - my $re = Text::SimpleTable->new( [ 36, 'Regex' ], [ 37, 'Private' ] ); - for my $regex ( @{ $self->{compiled} } ) { - my $compiled = $regex->{re}; - my $action = $regex->{action}; - $re->row( $compiled, "/$action" ); - } - $c->log->debug( "Loaded Regex actions:\n" . $re->draw ) - if ( @{ $self->{compiled} } ); -} - -=item $self->match( $c, $path ) - -=cut - -sub match { - my ( $self, $c, $path ) = @_; - - return if $self->SUPER::match( $c, $path ); - - # Check path against plain text first - - foreach my $compiled ( @{ $self->{compiled} || [] } ) { - if ( my @snippets = ( $path =~ $compiled->{re} ) ) { - $c->req->action( $compiled->{path} ); - $c->req->match($path); - $c->req->snippets( \@snippets ); - $c->action( $compiled->{action} ); - $c->namespace( $compiled->{action}->namespace ); - return 1; - } - } - - return 0; -} - -=item $self->register( $c, $action ) - -=cut - -sub register { - my ( $self, $c, $action ) = @_; - my $attrs = $action->attributes; - my @register = map { @{ $_ || [] } } @{$attrs}{ 'Regex', 'Regexp' }; - foreach my $r (@register) { - unless ( $r =~ /^\^/ ) { # Relative regex - $r = '^' . $action->namespace . '/' . $r; - } - $self->register_path($c, $r, $action); - $self->register_regex($c, $r, $action); - } -} - -=item $self->register_regex($c, $re, $action) - -=cut - -sub register_regex { - my ( $self, $c, $re, $action) = @_; - push( - @{ $self->{compiled} }, # and compiled regex for us - { - re => qr#$re#, - action => $action, - path => $re, - } - ); -} - -=back - -=head1 AUTHOR - -Matt S Trout -Sebastian Riedel, C - -=head1 COPYRIGHT - -This program is free software, you can redistribute it and/or modify it under -the same terms as Perl itself. - -=cut - -1;