From 2fc8a855e6e6a8dc2d43f959e9c5ecd2ae9ea4c8 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 8 Oct 2012 15:21:08 -0500 Subject: check partial suffix at runtime, not compile time --- lib/Text/Handlebars.pm | 4 ++-- lib/Text/Handlebars/Compiler.pm | 17 ++--------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index f8d1692..ab76b42 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -120,9 +120,9 @@ sub _register_builtin_methods { }; $funcs->{'(find_file)'} = sub { my ($filename) = @_; - return 1 if try { $weakself->find_file($filename); 1 }; + return $filename if try { $weakself->find_file($filename); 1 }; $filename .= $weakself->{suffix}; - return 1 if try { $weakself->find_file($filename); 1 }; + return $filename if try { $weakself->find_file($filename); 1 }; return 0; }; $funcs->{'(make_block_helper)'} = sub { diff --git a/lib/Text/Handlebars/Compiler.pm b/lib/Text/Handlebars/Compiler.pm index d4dd232..384732c 100644 --- a/lib/Text/Handlebars/Compiler.pm +++ b/lib/Text/Handlebars/Compiler.pm @@ -41,16 +41,6 @@ sub _generate_key_field { return $self->compile_ast($self->check_lambda($field)); } -sub _generate_include { - my $self = shift; - my ($node) = @_; - - my $file = $node->first; - $file->id($file->id . $self->engine->{suffix}) - unless try { $self->engine->find_file($file->id); 1 }; - return $self->SUPER::_generate_include($node); -} - sub _generate_call { my $self = shift; my ($node) = @_; @@ -93,12 +83,9 @@ sub _generate_partial { $node->clone( arity => 'include', id => 'include', - first => $node->first, - ), - $node->clone( - arity => 'literal', - id => '', + first => $self->call($node, '(find_file)', $node->first), ), + $self->parser->literal(''), ), ); } -- cgit v1.2.3