Class: Lanes::API::LanesTemplates

Inherits:
JsAssetCompiler show all
Defined in:
lib/lanes/api/javascript_processor.rb

Instance Method Summary collapse

Methods inherited from JsAssetCompiler

#get_js_aliases, #get_wrapping_vars, #prepare, register, #wrap_js

Instance Method Details

#combined_contentsObject



86
87
88
# File 'lib/lanes/api/javascript_processor.rb', line 86

def combined_contents
    [CoffeeScript::Source.contents, contents].join(";\n")
end

#compile(template) ⇒ Object



94
95
96
97
# File 'lib/lanes/api/javascript_processor.rb', line 94

def compile(template)
    template = template.read if template.respond_to?(:read)
    context.call("eco.precompile", template, 'Lanes.Templates.Wrapper','Lanes.Views.Helpers')
end

#contentsObject



82
83
84
# File 'lib/lanes/api/javascript_processor.rb', line 82

def contents
    @contents ||= Pathname.new(__FILE__).dirname.join('eco.js').read
end

#contextObject



90
91
92
# File 'lib/lanes/api/javascript_processor.rb', line 90

def context
    @context ||= ExecJS.compile(combined_contents)
end

#evaluate(scope, locals, &block) ⇒ Object



78
79
80
# File 'lib/lanes/api/javascript_processor.rb', line 78

def evaluate(scope, locals, &block)
    "Lanes.Templates['#{scope.logical_path}']=" + self.compile(data)
end