diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-10-04 17:39:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-10-04 17:39:32 -0500 |
commit | 813512b43e411bb8657ecc3f9715943afff07b37 (patch) | |
tree | 897a70885293d4a7772e720ea88618f25113316e /lib/Text/Xslate | |
parent | cfbd9cd78c34ed3f9e123b8a7988d778bc389ef1 (diff) | |
download | text-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.pm | 12 |
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 |