Class: Hca::Template
- Inherits:
-
Tilt::Template
- Object
- Tilt::Template
- Hca::Template
- Defined in:
- lib/hca/template.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.load_runtime ⇒ Object
44 45 46 47 48 |
# File 'lib/hca/template.rb', line 44 def load_runtime path = File.join(File.dirname(__FILE__), '..', '..', 'vendor', 'assets', 'javascripts', '**', '*.js') runtime = Dir[path].map { |file| File.read(file) } ExecJS.compile(runtime.join(' ')) end |
.runtime ⇒ Object
40 41 42 |
# File 'lib/hca/template.rb', line 40 def runtime @runtime ||= load_runtime end |
Instance Method Details
#evaluate(scope, locals, &block) ⇒ Object
9 10 11 12 13 |
# File 'lib/hca/template.rb', line 9 def evaluate(scope, locals, &block) cs_template = self.class.runtime.eval("compile('#{data}', #{config})") js_template = CoffeeScript.compile(cs_template, no_wrap: true) @output ||= wrap_template(js_template) end |
#prepare ⇒ Object
5 6 7 |
# File 'lib/hca/template.rb', line 5 def prepare @data = @data.gsub("'", "\\'").gsub("\n", "\\n") end |