summaryrefslogtreecommitdiffstats
path: root/lib/Text/Handlebars.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-03 17:06:55 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-03 17:08:47 -0500
commit5811e2f6469ab7303a2ef014f691df659f549cea (patch)
tree00bb2b5b0f8f44df3854e3ea3b91b015c6b0312f /lib/Text/Handlebars.pm
parent8d8d169d9e30784474856a9b43c43cf21a3d6a91 (diff)
downloadtext-handlebars-5811e2f6469ab7303a2ef014f691df659f549cea.tar.gz
text-handlebars-5811e2f6469ab7303a2ef014f691df659f549cea.zip
mostly implement partials
just need to get the auto-indenting behavior correct
Diffstat (limited to 'lib/Text/Handlebars.pm')
-rw-r--r--lib/Text/Handlebars.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm
index c9a2e18..4cb1723 100644
--- a/lib/Text/Handlebars.pm
+++ b/lib/Text/Handlebars.pm
@@ -5,6 +5,7 @@ use warnings;
use base 'Text::Xslate';
use Scalar::Util 'weaken';
+use Try::Tiny;
sub default_functions {
my $class = shift;
@@ -76,7 +77,11 @@ sub _register_builtin_methods {
my $to_render = $code->(@args);
$to_render = "{{= $open_tag $close_tag =}}$to_render"
if defined($open_tag) && defined($close_tag) && $close_tag ne '}}';
- return $self->render_string($to_render, $vars);
+ return $weakself->render_string($to_render, $vars);
+ };
+ $funcs->{'(find_file)'} = sub {
+ my ($filename) = @_;
+ return try { $weakself->find_file($filename); 1 } catch { undef };
};
}