Publicado por José Gomes em 08 de December de 2009

Racksh – Um console como o do Rails para aplicações Ruby baseadas em Rack

rack-logoAlguma 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.

Deixe um Comentário