Basic support for the "with" template helper #28
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One of Handlebars' built-in helpers is
{{with}}
, which allows you to change "contexts" in a template. Basically, it makes it easier to use nested objects. As the Handlebars documentation demonstrates, given this data:Then you can write this template to render "Yehuda Katz":
This PR adds basic support for this helper, along with some test cases (taken from the Handlebars documentation) to demonstrate it works.
One wrinkle with this PR: it doesn't support relative paths, as that's not yet supported in ruby-handlebars. I've included a (skipped) test case that demonstrates this (which works in the Handlebars playground), but I can't figure out how to add parser support for that. Some help here would be very welcome! I'd also like to add support for
{{lookup}}
, but getting relative paths to work is a prerequisite for that.