diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-02-11 17:53:46 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-02-11 17:53:46 +0100 |
commit | 12a7a4c4cfa8db5e9d8fabf5c0ff88f63aeaf9cd (patch) | |
tree | ae896bf89a023c37c355bec67822e9a22973e020 /lib/template.js | |
parent | e4127d961ed45e61b929ba92b93cc3604f0741e6 (diff) | |
download | gitbook-12a7a4c4cfa8db5e9d8fabf5c0ff88f63aeaf9cd.zip gitbook-12a7a4c4cfa8db5e9d8fabf5c0ff88f63aeaf9cd.tar.gz gitbook-12a7a4c4cfa8db5e9d8fabf5c0ff88f63aeaf9cd.tar.bz2 |
Fix test for lodash 3.1.0 (from git)
Diffstat (limited to 'lib/template.js')
-rw-r--r-- | lib/template.js | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/template.js b/lib/template.js index 29ce0a9..f1d9fc0 100644 --- a/lib/template.js +++ b/lib/template.js @@ -239,21 +239,25 @@ TemplateEngine.prototype.addBlock = function(name, block) { var args = Array.prototype.slice.call(arguments, 1); var callback = args.pop(); - // Extract blocks body - var _blocks = _.chain(block.blocks) - .reverse() - .map(function(blockName){ - return { - name: blockName, - body: args.pop()() - }; - }) - .reverse() - .value(); + // Extract blocks + var blocks = args + .concat([]) + .slice(-block.blocks.length); + + // Eliminate blocks from list + if (block.blocks.length > 0) args = args.slice(0, -block.blocks.length); + // Extract main body and kwargs var body = args.pop(); var kwargs = args.pop() || {}; + // Extract blocks body + var _blocks = _.map(block.blocks, function(blockName, i){ + return { + name: blockName, + body: blocks[i]() + }; + }); var func = that.bindContext(block.process); |