Publicado por José Gomes em 08 de December de 2009
Racksh – Um console como o do Rails para aplicações Ruby baseadas em Rack
Clique aqui para adicionar ao del.icio.us | Nenhum comentário - Deixe o seu agora!
Alguma vez você quis usar algo como o script/console do Rails ou o merb -i do Merb em outras apps baseadas no Rack? Se sim, então o racksh criado por Marcin Kulik inspirado pelo console do Heroku, pode ser o que você procura.
O Racksh é um console para aplicativos Ruby web baseadas no Rack. Ele permite que você execute um console no contexto do ambiente de uma aplicação em Rails, Merb, Sinatra, Camping, Ramaze (ou o seu framework) basta que exista o arquivo rackup no diretório raiz.
Quando você executa o comando racksh, ele carrega o ambiente de aplicação inteiro como um servidor web Rack, mas ao invés de rodar a aplicação, é iniciado uma sessão irb, e a partir dela é possível executar comandos.
$ racksh
Rack::Shell v0.9.4 started in development environment. > Article.all => # returns all articles...
A partir da versão 0.9.4, racksh utiliza rack-test do Bryan Helmkamp para simular requisições HTTP para sua aplicação Rack através da variável $rack.
$ racksh Rack::Shell v0.9.4 started in development environment. > $rack.get "/" => # returns a Rack::MockResponse
Racksh também permite adicionar configurações através do arquivo .rackshrc. Isto pode ser utilizado para configurar cabeçalhos que serão utilizados pelas requisições, ou para adicionar configurações das requisições (por exemplo: garantir que um usuário está logado).
Instale como uma gem a partir do Gemcutter, ou baixe o fonte do Github.
gem install racksh -s http://gemcutter.org
Para mais detalhes, leia o README do projeto, e estes recentes posts no blog do Marcin.


