Sha256: 7e2b0d4ba4f5b20a3ec87c40552c1b64f9c9a5289a2bda19aa3bd9c4edac6334
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
require 'commonjs' require 'v8' module Handlebars class Context def initialize @js = CommonJS::Environment.new V8::Context.new, :path => [ File.expand_path('../../../vendor/bootstrap', __FILE__), File.expand_path('../../../vendor/handlebars/lib', __FILE__) ] # This is a slightly modified version of handlebars.js found in the main # distribution. The Ruby commonjs environment does not support full directory # requires, so we expand them by hand. Eventually this may be fixed upstream # but right now I'm not sure if this is a node-specific extension. @js.require('handlebars/base') @js.require('handlebars/utils') for compiler_module in %w(ast base compiler index parser printer visitor) @js.require("handlebars/compiler/#{compiler_module}") end @js.require('handlebars/runtime') end def compile(*args) handlebars.compile(*args) end def register_helper(name, &fn) handlebars.registerHelper(name, fn) end def handlebars @js.require('handlebars/base') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
handlebars-0.2.2 | lib/handlebars/context.rb |
handlebars-0.2.1 | lib/handlebars/context.rb |