summaryrefslogtreecommitdiffstats
path: root/lib/Text/Xslate
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-04 17:39:32 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-04 17:39:32 -0500
commit813512b43e411bb8657ecc3f9715943afff07b37 (patch)
tree897a70885293d4a7772e720ea88618f25113316e /lib/Text/Xslate
parentcfbd9cd78c34ed3f9e123b8a7988d778bc389ef1 (diff)
downloadtext-handlebars-813512b43e411bb8657ecc3f9715943afff07b37.tar.gz
text-handlebars-813512b43e411bb8657ecc3f9715943afff07b37.zip
refactor this so that helpers are just normal functions
Diffstat (limited to 'lib/Text/Xslate')
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm
index d99f3d0..69a20c6 100644
--- a/lib/Text/Xslate/Syntax/Handlebars.pm
+++ b/lib/Text/Xslate/Syntax/Handlebars.pm
@@ -350,11 +350,15 @@ sub std_block {
$self->advance(';');
if ($name->arity eq 'call') {
- unshift @{ $name->second }, (
- $raw_text->clone,
- $self->symbol('(vars)')->clone(arity => 'vars'),
+ return $self->print_raw(
+ $self->call(
+ '(run_block_helper)',
+ $self->symbol($name->first->id)->clone,
+ $raw_text->clone,
+ $self->symbol('(vars)')->clone(arity => 'vars'),
+ @{ $name->second },
+ ),
);
- return $self->print_raw($name);
}
my $iterations = $inverted