From 6d3b76546c92f15aadc2a9c4b7568411e49ccfbe Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 8 Oct 2012 13:33:45 -0500 Subject: implement hash parameters for block helpers --- lib/Text/Handlebars.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/Text/Handlebars.pm') diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index 4a66fe6..f8d1692 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -55,6 +55,10 @@ sub default_functions { my ($length) = @_; return [(undef) x $length]; }, + '(make_hash)' => sub { + my (%hash) = @_; + return \%hash; + }, '(is_code)' => sub { my ($val) = @_; return ref($val) && ref($val) eq 'CODE'; @@ -122,7 +126,7 @@ sub _register_builtin_methods { return 0; }; $funcs->{'(make_block_helper)'} = sub { - my ($code, $raw_text, $else_raw_text) = @_; + my ($code, $raw_text, $else_raw_text, $hash) = @_; my $options = {}; $options->{fn} = sub { @@ -133,6 +137,7 @@ sub _register_builtin_methods { my ($new_vars) = @_; return $weakself->render_string($else_raw_text, $new_vars); }; + $options->{hash} = $hash; return sub { $code->(@_, $options); }; }; -- cgit v1.2.3-54-g00ecf