It does so by including a Mixin into the the returned string offering a content_type method. Therefore all of the following examples produce the expected results:
# text/html
get('/') do
haml :index
end
# text/css
get('/') do
sass :index
end
# text/css
get('/') do
haml :index
sass :index
end
# text/html
get('/') do
haml '= sass :index'
end
It also allows setting the default content type for a template engine:
set :builder, :content_type => :html
Tests and README adjustments (all languages) included.