Skip to content

Commit

Permalink
render routes a little faster
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Aug 17, 2014
1 parent 047c226 commit dc1382e
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions lib/Mojolicious/Routes/Pattern.pm
Expand Up @@ -59,15 +59,11 @@ sub parse {
sub render {
my ($self, $values, $render) = @_;

# Merge values with defaults
my $format = ($values ||= {})->{format};
my $defaults = $self->defaults;
$values = {%$defaults, %$values};

# Placeholders can only be optional without a format
my $optional = !$format;
my $optional = !(my $format = $values->{format});

my $str = '';
my $str = '';
my $defaults = $self->defaults;
for my $token (reverse @{$self->tree}) {
my ($op, $value) = @$token[0, 1];
my $fragment = '';
Expand All @@ -80,8 +76,8 @@ sub render {

# Placeholder
else {
$fragment = $values->{$value} // '';
my $default = $defaults->{$value};
$fragment = $values->{$value} // $default // '';
if (!defined $default || ($default ne $fragment)) { $optional = 0 }
elsif ($optional) { $fragment = '' }
}
Expand Down

0 comments on commit dc1382e

Please sign in to comment.