Sha256: 913293ddd6e097570cda7d883895f1dd98931e19d2c17d2fe5d143f30cd4bfdc
Contents?: true
Size: 896 Bytes
Versions: 4
Compression:
Stored size: 896 Bytes
Contents
require 'tilt' module Helmet module Templates @@template_cache = Tilt::Cache.new def erb(template, options = {}, locals = {}) render :erb, template, options, locals end def render(engine, data, options = {}, locals = {}, &block) layout = options.delete(:layout) # force template update @@template_cache.clear unless Goliath.env == :production compiled_template = @@template_cache.fetch(data, options) do template = Tilt.new(find_template(engine, data), nil, options) end output = compiled_template.render nil, locals, &block if layout return render(engine, layout, options, locals) {output} end output end private def find_template(engine, template) filename = "#{template.to_s}.#{engine.to_s}" File.join(views_folder, filename) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
helmet-0.0.6 | lib/helmet/templates.rb |
helmet-0.0.5 | lib/helmet/templates.rb |
helmet-0.0.4 | lib/helmet/templates.rb |
helmet-0.0.3 | lib/helmet/templates.rb |