Module: Mutton::HandlebarsCompiler
- Defined in:
- lib/mutton/handlebars_compiler.rb
Class Method Summary collapse
- .compile_handlebars(template_content, template_namespace, mutton_namespace, javascript_helpers = nil) ⇒ Object
-
.handlebars_source ⇒ Object
TODO: get from asset pipeline.
- .pre_compile(source) ⇒ Object
- .process_handlebars(template_content, template_namespace, mutton_namespace, assigns, javascript_helpers = nil) ⇒ Object
Class Method Details
.compile_handlebars(template_content, template_namespace, mutton_namespace, javascript_helpers = nil) ⇒ Object
11 12 13 |
# File 'lib/mutton/handlebars_compiler.rb', line 11 def (template_content, template_namespace, mutton_namespace, javascript_helpers = nil) ExecJS.compile("#{}; #{javascript_helpers}; #{template_content}; var template = this.#{mutton_namespace}['#{template_namespace}'];") end |
.handlebars_source ⇒ Object
TODO: get from asset pipeline
21 22 23 |
# File 'lib/mutton/handlebars_compiler.rb', line 21 def Pathname(Mutton.).read end |
.pre_compile(source) ⇒ Object
5 6 7 8 9 |
# File 'lib/mutton/handlebars_compiler.rb', line 5 def pre_compile(source) source = source.read if source.respond_to?(:read) = ExecJS.compile() .call('Handlebars.precompile', source) end |
.process_handlebars(template_content, template_namespace, mutton_namespace, assigns, javascript_helpers = nil) ⇒ Object
15 16 17 18 |
# File 'lib/mutton/handlebars_compiler.rb', line 15 def (template_content, template_namespace, mutton_namespace, assigns, javascript_helpers = nil) compiled = (template_content, template_namespace, mutton_namespace, javascript_helpers) compiled.call('template', assigns.as_json) end |