diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-10-03 17:06:55 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-10-03 17:08:47 -0500 |
commit | 5811e2f6469ab7303a2ef014f691df659f549cea (patch) | |
tree | 00bb2b5b0f8f44df3854e3ea3b91b015c6b0312f /lib/Text/Handlebars.pm | |
parent | 8d8d169d9e30784474856a9b43c43cf21a3d6a91 (diff) | |
download | text-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.pm | 7 |
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 }; }; } |