O sinatra-gen cobre um aspecto que inicialmente senti falta no framework Sinatra, que era o de ter um esqueleto básico da aplicação gerado automaticamente sem muito esforço, isso talvez devido ao fato de eu já estar mal acostumado com o Rails.
Antes de iniciar a brincadeira:
sudo gem install quirkey-sinatra-gen -s http://gems.github.com
Usei direto do github porque só “sudo gem install sinatra-gen” não funcionou por aqui.
No meu caso foram necessárias também as gems newgem e rubigen, talvez pra você também seja necessário:
sudo gem install newgem rubigen
Após instalado, utilize então o sinatra-gen para gerar sua primeira aplicação sinatra:
sinatra-gen myapp --tiny
E lá estará a seguinte estrutura:

Gerando apenas a estrutura mínima com arquivo da aplicação, rakefile e rakup (lembrando que esses dois últimos não são necessarios, o verdadeiro mínimo necessário seria apenas o app.rb).
Se quiser:
ruby app.rb
Ira rodar a aplicação que estará disponível em http://localhost:4567
Para criar um ponto de partida “um pouco” mais elaborado do que a anterior, com algumas rotas já criadas, testes para as rotas utilizando seu framework de teste favorito e escolhendo o seu padrão favorito para as views, será então algo parecido com isso:
sinatra-gen myfirstapp get:/ post:/:id put:/:update delete:/:clear --test=shoulda --views=haml
Isto irá lhe gerar a seguinte estrutura:

Praticamente tudo pronto para começar a festa, arquivos de config, arquivo da aplicação, arquivo de módulo da aplicação, arquivos de view .haml, um esqueleto inicial de testes com as rotas indicadas já criadas.
Opções disponíveis:
-v, --version Mosta a versão do sinatra-gen e finaliza. -d, --vendor Copia a última versão do sinatra para vendor/sinatra --tiny Cria somente os arquivos mínimos. --init Inicializa um repositório git --cap Adiciona no diretório de configuração o básico para capistrano em deploy.rb --scripts Instala os scripts rubigen (script/generate, script/destroy) --git /diretório/do/git Especifica um diretório diferente para 'git' --test=test_framework Especifica o framework de testes (unit (padrão)/rspec/spec/shoulda) --views=view_framework Especifica o framework das views (erb (padrão)/haml/builder)
Se na sua opinião tiver alguma coisa ainda faltando, “fork it now”


February 12th, 2009 8:51 am
Legal Tailor … boa dica essa …