class Traceur::Template
Constants
- Node
Public Instance Methods
evaluate(scope, locals, &block)
click to toggle source
# File lib/traceur/template.rb, line 20 def evaluate(scope, locals, &block) @output ||= Node.exec(generate_source(scope)) end
prepare()
click to toggle source
# File lib/traceur/template.rb, line 16 def prepare # required end
Private Instance Methods
generate_source(scope)
click to toggle source
# File lib/traceur/template.rb, line 26 def generate_source(scope) <<-SOURCE var traceur = require("#{traceur_path}"); var result = traceur.compile(#{::JSON.generate(data, quirks_mode: true)}, { filename: '#{module_name(scope.root_path, scope.logical_path)}', modules: '#{Traceur::Config.compile_to}' }); if (result.errors && result.errors.length) { throw "\\n" + result.errors.join("\\n"); } return result.js; SOURCE end
module_name(root_path, logical_path)
click to toggle source
# File lib/traceur/template.rb, line 42 def module_name(root_path, logical_path) if prefix = Traceur::Config.lookup_prefix(File.join(root_path, logical_path)) File.join(prefix, logical_path) else logical_path end end
traceur_path()
click to toggle source
# File lib/traceur/template.rb, line 50 def traceur_path File.expand_path('../support/traceur/src/node/api.js', __FILE__) end