Usando o pepino com aplicativos modulares do Sinatra

Estou criando um aplicativo de tamanho médio usando o Sinatra e tudo estava bem quando eu tinha um único arquivo app.rb e segui as orientações de Aslak no Github:

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

Como o aplicativo ficou um pouco maior e o arquivo app.rb começou a aumentar, refatorei muitos dos bits para os módulos no estilo "middleware" usando o Sinatra :: Base, mapeando as coisas usando um arquivo acumulado (config.ru ) etc.

O aplicativo funciona bem - mas minhas especificações explodiram, pois não havia mais arquivo app.rb para o webrat rodar (conforme definido no link acima).

Tentei encontrar exemplos de como trabalhar isso - e acho que ainda não estou acostumado com as entranhas internas do Cuke, pois não consigo encontrar uma maneira única de cobrir todos os aplicativos. Eu tentei apenas apontando para "config.ru" em vez de app.rb - mas isso não funciona.

O que acabei fazendo - que é completamente hackeado - é ter um arquivo app.rb separado no meu diretório de suporte, que possui todo o material necessário para que eu possa pelo menos testar o modelo. Também posso especificar rotas lá - mas não é isso que quero fazer.

Então - a questão é: como posso fazer com que o Cucumber funcione corretamente com a abordagem de aplicativo modular?