jeudi 19 mars 2009

Des Gem utiles - résumé

gem ~ bibliothèque [Cf. article installer une Gem] - [.bat d'install] (changer le répertoire ruby\bin)
Pour de meilleures performances, ou parce que ça n'existe pas en standard ;)

require
'rubygems' #inclure une des gem du paquet rubygems

*Indispensable*
  1. install: >$ gem install -r ruby-debug
  • Libxml : pour parser et écrire du XML (XML: format d'export standard des applications) [readme]
  1. install: >$ gem install -r libxml-ruby
  2. usage: require 'xml/libxml' - include LibXML
  1. ex.: "<élan>" => "&lt;&eacute;lan&gt;"
  2. install: >$ gem install -r htmlentities
  3. usage: require 'htmlentities'
  • Faster CSV : lire/écrire avec des fichiers de type csv (fichier à séparateur) facilement, surtout si le fichier comporte une en-tête [doc]
  1. install: >$ gem install -r fastercsv
  2. usage: require 'faster_csv'
  • Choice : arguments de la ligne de commande
  1. install: >$ gem install -r choice
  2. usage: require 'choice'
  • Rubyscript2exe : créer un exécutable en incluant toutes les dépendances en fonction de l'OS utilisé
  1. install: >$ gem install -r rubyscript2exe [doc]
  2. usage: require 'rubyscript2exe'
*Graphisme*
  1. ex.: créer très simplement une image gif redimentionnée à partir de toutes les jpg d'un répertoire : >$ convert -delay 20 -loop 0 *.JPG animation.gif
  2. install: >$ gem install -r rmagick
  3. usage: require 'RMagick' - include Magick [exemple]
  1. install: >$ gem install -r ruby-graphviz
  2. usage: require 'graphiz'
  1. install: [guide d'installation] (installer l'exe dans "ruby\" et non "ruby\gnome")
  2. usage: require 'gtk2'
Tester l'installation d'une gem : >$ ruby -e require "maGemQueGm"

Ils existent vraiment de nombreuses gems, n'hésitez pas à regarder si votre programme open-source préféré n'existe pas sous Ruby !!

mercredi 18 mars 2009

Liste des gems favorites

Le nombre de gems disponibles est supérieur à 7000 !!! autant dire, que pour une problématique donnée, il est fort probable que quelqu'un ait déjà réfléchi à une solution en proposant une gem.

Nous utilisons que quelques gems parmi toutes celles qui sont disponibles (cf. RubForge).

/* ruby-debug
Ruby est livré avec un debugger standard (écrit en ruby) mais il n'est pas très performant. Cette gem permet de debugger des scripts Ruby beaucoup plus rapidement (utilisation d'une API C).

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install ruby-debug.

La gem ruby-debug est dépendante d'autres gems qui sont automatiquement installées telle que columnize, linecache, ruby-debug-base.

Maintenant, il est possible de configurer Eclipse pour utiliser cette gem. Dans Eclipse,
- Cliquer sur Window > Preferences
- Cliquer sur Ruby > Debug > Engine > Fast Ruby debugger (ruby-debug) > OK
- Ouvrir le fichier test_install.rb (cf. Installation Eclipse/Ruby)
- Se positionner sur une ligne avec du code ruby (hors commentaire)
- Double cliquer dans la marge de l'éditeur (ou Run > Toggle Breakpoint) => un point d'arrêt est activé.
- Cliquer sur Run > Debug > Remember my decision > Yes
- Une nouvelle perspective s'ouvre donnant accès aux fonctionnalités du debugger.

/* FasterCSV
Les formats de fichiers étant très nombreux et hétérogènes, il est préférable d'utiliser un format "basique". Le format CSV (Comma Separated Value) est une format de fichier qui est éditable dans un éditeur de texte (pas de codage particulier). Ce format se prête bien pour échanger des données entre différentes applications (Pour en savoir plus sur le format CSV).
FasterCSV est voué à remplacer la librairie standard CSV de Ruby :
  1. En étant bien plus rapide bien qu'étant une librairie pour Ruby.
  2. En étant plus riche en terme de fonctionnalités.
  3. En améliorant la gestion des fichiers CSV.
L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install fastercsv.


Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :
require 'rubygems'
require 'faster_csv'
puts FasterCSV::VERSION

L'exécution doit afficher la version de la librairie installée.

/* libxml-ruby
Ruby est livré avec une librairie standard écrite en ruby pour utiliser des fichier XML mais elle n'est pas très performante. Cette gem permet de manipuler des fichiers XML beaucoup plus rapidement (utilisation d'une API C).

Pour installer cette gem sur Windows, il est nécessaire d'avoir utiliser l'installation One-Click (l'installation à partir de l'archive zip ne contenant pas tous les fichiers nécessaires pour une utilisation sous Windows). De plus, il faut absolument que la variable système Path contienne le chemin du répertoire contenant l'exécutable ruby.exe.

A partir de là, l'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install libxml-ruby.
Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'libxml'
puts LibXML::XML::VERSION

L'exécution doit afficher la version de la librairie installée.

/* Graphviz-ruby
L'application GraphViz permet de représenter graphiquement des graphes. L'application GraphViz est open source, gratuite et libre de droits. Pour en savoir plus
Une librairie ruby permet de créer facilement des fichiers au format GraphViz afin de générer le graphe désiré. Cette librairie nécessite que graphviz soit présent sur le poste.

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install ruby-graphviz.

Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'graphviz'
puts GraphViz::RGV_VERSION

L'exécution doit afficher la version de la librairie installée.

Pour plus d'informations :
/* Choice
La gestion des arguments dans Ruby est assez rudimentaire : il faut parser la ligne de commande afin d'identifier d'éventuels paramètres. Cette gem permet de mettre en place des commutateurs au niveau de la ligne de commande. Ainsi il est possible de passer les arguments dans n'importe quel ordre (vu qu'ils sont identifiés par des switches) et des les récupérer très facilement.

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install choice.

Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'choice'
Choice.options do
end
puts Choice.choices.inspect