Class: TemplateBuilder
- Inherits:
-
Object
- Object
- TemplateBuilder
- Defined in:
- lib/apollo_commons_ruby/TemplateBuilder.rb
Instance Method Summary collapse
- #build(data_template, data, os) ⇒ Object
-
#initialize ⇒ TemplateBuilder
constructor
A new instance of TemplateBuilder.
Constructor Details
#initialize ⇒ TemplateBuilder
Returns a new instance of TemplateBuilder.
5 6 7 8 9 |
# File 'lib/apollo_commons_ruby/TemplateBuilder.rb', line 5 def initialize @context = V8::Context.new @context.load("scripts/underscore-min.js") @context.eval("var generateTemplatedString = function(templateString, dataObject) { var compiled = _.template(templateString); return compiled(dataObject);}") end |
Instance Method Details
#build(data_template, data, os) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/apollo_commons_ruby/TemplateBuilder.rb', line 11 def build(data_template, data, os) function = @context[:generateTemplatedString]; begin data_template = data_template.force_encoding("UTF-8") if os == "android" @context.eval( "var compiledTemplate = _.template(' " + data_template + "');" + "compiledTemplate(" + data.to_json + ");") else function.call(data_template, data) end rescue Exception => e puts "\n", e.causes, e.javascript_backtrace; end end |