IRB, un outil à (re)découvrir

IRB est un outil génial pour tester rapidement un truc en Ruby. C’est une sorte d’interpréteur Ruby qui fonctionne comme un shell : vous tapez une ligne de Ruby, irb l’interprête et vous donne le résultat, vous tapez une autre ligne, irb l’interprête en tenant compte de la première ligne, et ainsi de suite. Voici par exemple ce que cela donne (avec en gras, ce que j’ai tapé) :

> titi = 2 + 3
5
> toto = titi * 4
20

Pour ceux qui veulent en savoir plus, je recommande de lire le chapitre consacré à IRB dans Le Guide (Poignant) de Why’s vers Ruby et d’essayer ca dans Try Ruby qui est, en gros, un IRB dans votre navigateur web.

Il est possible de configurer IRB via le fichier $HOME/.irbrc : changer le prompt, charger des fichiers, activer l’auto-complétion, etc. Comme d’autres personnes l’ont fait avant moi, je poste mon fichier de conf .irbrc pour que chacun puisse s’en inspirer (et aussi pour le retrouver plus facilement quand je ne suis pas chez moi ;-)

require "yaml"
require "irb/completion"

IRB.conf[:USE_REALINE] = true
IRB.conf[:PROMPT_MODE] = :SIMPLE

# History with readline
HISTFILE = "~/.irb.hist"
MAXHISTSIZE = 100

# what? (gem install what_methods)
require "what_methods"

# Wirble (gem install wirble)
require "wirble"
Wirble.init
Wirble.colorize

# Just for Rails...
if ENV["RAILS_ENV"]
  IRB.conf[:IRB_RC] = Proc.new do
    ActiveRecord::Base.logger = Logger.new(STDOUT)
    ActiveRecord::Base.instance_eval { alias :[] :find }
  end
end