Uso de pepino con aplicaciones modulares de Sinatra

Estoy construyendo una aplicación de tamaño mediano con Sinatra y todo estaba bien cuando tenía un solo archivo app.rb y seguía las instrucciones de Aslak en Github:

http://wiki.github.com/aslakhellesoy/cucumber/sinatra

A medida que la aplicación se hizo un poco más grande y el archivo app.rb comenzó a abultarse, reescribí muchos de los bits en módulos de estilo "middleware" usando Sinatra :: Base, mapeando cosas usando un archivo de montaje (config.ru ) etc.

La aplicación funciona bien, pero mis especificaciones explotaron porque no había más archivos app.rb para que Webrat los ejecutara (como se define en el enlace anterior).

Traté de encontrar ejemplos sobre cómo trabajar esto, y creo que todavía no estoy acostumbrado a las entrañas internas de Cuke, ya que no puedo encontrar una sola forma de que cubra todas las aplicaciones. Intenté señalar "config.ru" en lugar de app.rb, pero eso no funciona.

Lo que terminé haciendo, que es completamente hackeo, es tener un archivo app.rb separado en mi directorio de soporte, que tiene todas las cosas necesarias para que al menos pueda probar las cosas del modelo. También puedo especificar rutas allí, pero eso no es en absoluto lo que quiero hacer.

Entonces, la pregunta es: ¿cómo puedo hacer que Cucumber funcione correctamente con el enfoque de aplicación modular?