module Padrino::Helpers::RenderHelpers

def render(engine, file=nil, options={}, locals=nil, &block)

def render(engine, file=nil, options={}, locals=nil, &block)
  options.delete(:layout)
  engine, file = file, engine if file.nil?
  template_engine = engine ? ::Tilt[engine] : ::Tilt.default_mapping[file]
  fail "Engine #{engine.inspect} is not registered with Tilt" unless template_engine
  unless File.file?(file.to_s)
    engine_extensions = ::Tilt.default_mapping.extensions_for(template_engine)
    file = Dir.glob("#{file}.{#{engine_extensions.join(',')}}").first || fail("Template '#{file}' not found")
  end
  template = template_engine.new(file.to_s, options)
  template.render(options[:scope] || self, locals, &block)
end