Router-Pygmy

 view release on metacpan or  search on metacpan

lib/Router/Pygmy.pm  view on Meta::CPAN


    my $route = $this->{route_for}{$name}
      or croak "No route '$name'";
    return $route->path_for(@_);
}

# return (name, \@args)
sub match {
    my ( $this, $path ) = @_;

    my @parts = grep { length($_) > 0  } split m{/}, $path;
    my @args;

    my $lookup = $this->{lookup};

    while (@parts) {
        my $part = shift @parts;

        if ( my $by_path_part = $lookup->[$PATH_PART_IDX]{$part} ) {
            $lookup = $by_path_part;
        }

lib/Router/Pygmy/Route.pm  view on Meta::CPAN

sub new {
    my ($class, %fields) = @_;
    return bless(\%fields, $class);
}

sub parse {
    my ( $class, $spec ) = @_;

    my ( @arg_names, @arg_idxs, @parts );
    my $i = 0;
    for my $part ( grep { $_ } split m{/}, $spec ) {
        my $is_arg = $part =~ s/^://;
        if ($is_arg) {
            push @parts,     undef;
            push @arg_idxs,  $i;
            push @arg_names, $part;
        }
        else {
            push @parts, $part;
        }
        $i++;



( run in 0.549 second using v1.01-cache-2.11-cpan-71847e10f99 )