Class: Rasti::Web::Template

Inherits:
Object
  • Object
show all
Defined in:
lib/rasti/web/template.rb

Class Method Summary collapse

Class Method Details

.render(template, context = nil, locals = {}, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/rasti/web/template.rb', line 5

def self.render(template, context=nil, locals={}, &block)
  files = Web.template_engines.map { |e| File.join Web.views_path, "#{template}.#{e}" }
  template_file = files.detect { |f| File.exist? f }

  raise "Missing template #{template} [#{files.join(', ')}]" unless template_file

  tilt = cache.fetch(template_file) { Tilt.new template_file }
  tilt.render(context, locals, &block)
end