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.
