Formate melhor seu console do Rails ou irb com Hirb
by Ricardo Yasuda on September 16, 2009 02:54
Geralmente quando quero testar alguma coisa no ActiveRecord do Rails eu abro um console, usando o script/console. O problema é que a formatação dele (e consequentemente do irb, que é a engine por trás do console) é muito ruim, mostrando os resultados em forma de Hash.
Entra Hirb. Ele é, segundo o autor, Gabriel Horner, ‘um miniframework de visualização para console/irb’. As melhorias incluem formatação em tabelas de Arrays e Hashes, paginação, visualização em árvore e menu.
Para instalar,
sudo gem install cldwalker-hirb --source http://gems.github.com
e para usar, entre no irb/console, faça o require e ative
$ script/console Loading development environment (Rails 2.3.4) >> require 'hirb' => [] >> Hirb.enable => nil
Se quiser que o Hirb sempre esteja habilitado, crie ou edite o arquivo ~/.irbrc
if ENV['RAILS_ENV'] require 'rubygems' require 'hirb' Hirb.enable end
Vamos ver um exemplo com ActiveRecord:
>> Post.all :limit => 5 +----+---------------+---------------+---------------+---------------+---------+---------------+---------------+-----------+---------------+ | id | name | body | published_at | permalink | user_id | created_at | updated_at | published | comments_c... | +----+---------------+---------------+---------------+---------------+---------+---------------+---------------+-----------+---------------+ | 74 | Manipuland... | Uma das d?... | 2009-06-09... | manipuland... | 1 | 2009-06-09... | 2009-08-11... | true | 3 | | 73 | Limpando o... | !/system/a... | 2009-04-22... | limpando-o... | 1 | 2009-04-22... | 2009-08-11... | true | 0 | | 72 | Why's (poi... | <img src="... | 2009-04-09... | why-s-poig... | 1 | 2009-04-09... | 2009-08-11... | true | 0 | | 70 | Evento: Ru... | No dia 4 d... | 2009-03-10... | evento-rub... | 1 | 2009-03-10... | 2009-08-10... | true | 1 | | 68 | Dica rápi... | O <a href=... | 2009-03-06... | dica-rapid... | 1 | 2009-03-06... | 2009-03-06... | true | 1 | +----+---------------+---------------+---------------+---------------+---------+---------------+---------------+-----------+---------------+ 5 rows in set
Repare que na linha que tem um acento ele recua um caractere, deve ser um problema ainda a ser resolvido com caracteres especiais.
Uma outra coisa legal é a visualização em árvore. Digamos que você tenha um model Page com acts_as_tree, ou seja, uma instância de Page tem um parent_id, e pode ter filhas.
>> extend Hirb::Console
=> main
>> view Page.find_by_name('About Us'), :class => :parent_child_tree, :type => :directory
About Us
|-- Contact
|-- Our History
|-- Mission
|-- Privacy Policy
`-- Terms of Use
=> true
Prático, não? Isso é só uma parte do que o Hirb pode fazer, recomendo olhar o projeto no github e a documentação, tem muita coisa interessante.
Tags: gem, ruby, rails, console, irb, hirb, format
You may also like:
- 6o Encontro do Guru-SP - Testes
- Rails Summit 2009
- Evento: Ruby e Rails no Mundo Real
- Spree: Production ready, really?
- Spree: pronto para produção, sério?

