Apr 20 2008
Erubis with Sinatra
Sinatra doesn't yet seem to come with built in support for Erubis. If you want the relative speed bump of Erubis over standard ERB for your Sinatra application, the code below should do the trick.
module Sinatra::Erb def erb(content, options={}) begin require 'erubis' @@erb_class = Erubis::Eruby rescue LoadError require "erb" @@erb_class = ::ERB end render(:erb, content, options) end private def render_erb(content, options = {}) @@erb_class.new(content).result(binding) end end
Application code will not require any modifications, Sinatra will use Erubis if the gem is found in the load path.