Un jour, une gem

07/01/2012

Samedi c'est Awesome Print

gem install awesome_print

Un monde de couleurs

Awesome Print est un outil qui permet d’inspecter les objets de manière lisible. L’équivalent d’un puts monObjet.inspect mais en bien plus sexy.

Les objets sont affichés avec une coloration correspondant au type de donnée (string, number, array, hash, symbol, etc.). Les array et les hash apparaissent avec une indentation qui permet d’en visualiser rapidement la structure. L’index ou la clé est face à la valeur qui lui est associée.

Les structures emboîtées comme les tableaux de tableaux de hash resteront toujours très lisibles.

Awesome Print est configurable. En plus des couleurs utilisées qui peuvent être redéfinies, il est possible de changer l’indentation utilisée dans les tableaux, de limiter le maximum d’éléments à afficher, de trier les hash, etc.

Un exemple tout simple de l’utilisation d’Awesome Print :

Ruby

require "awesome_print"
data = [ false, 42, %w(forty two), { :now => Time.now, :class => Time.now.class, :distance => 42e42 } ]

puts "----- Sortie inspect, deprimant non ? -----"
puts data.inspect

puts "----- Sortie Awesome Print, la j'ai envie de lire, pas de partir en courant -----"
ap data

Résultat

——- Sortie inspect, deprimant non ? ——-
[false, 42, [“forty”, “two”], {:now=>2012-02-11 16:38:04 +0100, :class=>Time, :distance=>4.2e+43}]
——- Sortie Awesome Print, la j’ai envie de lire, pas de partir en courant ——-
[
  [0] false,
  [1] 42,
  [2] [
     [0] "forty",
     [1] "two""
  ],
  [3] {
       :now => 2012-02-11 16:38:04 +0100,
      :class => Time < Object,
     :distance => 4.2e+43
   }
]

Awesome Print peut bien entendu être utilisé depuis la console de votre application Rails, pour de jolies couleurs !

Un lien utile :