¡Increíble! Podés poner todo tu código e incluso las vistas en un solo archivo. Por supuesto esto es recomendable siempre y cuando tu archivo sea pequeño! ¿Cómo hacerlo? Simplemente ponemos el código de nuestra aplicación en la parte superior del archivo y luego del bloque __END__ ubicamos toda las vistas incluyendo el layout.
require ‘rubygems’
require ‘sinatra’get ‘/hello/:name’ do
@name = params[:name]
erb :hello
end__END__
@@ layout
<html>
<body>
<%= yield %>
</body>
</html>@@ hello
<h3>Hello <%= @name %>!</h3>
Ahora. ¿Cómo funciona esto? Resulta que el intérprete de Ruby ejecuta todo el código hasta que encuentra la etiqueta __END__ A partir de ahí todo el contenido restante se puede rescatar usando la variable global DATA. Esta última pertenece a la clase File.
ShiftEleven presenta un ejemplo interesante de como usar esta funcionalidad para guardar datos en YML.
http://shifteleven.com/articles/2009/02/09/useless-ruby-tricks-data-and-__end__



Por que no:)