Coding is an Art

Anoiaque::Ergasterium

26/03/2010

Rails::Configuration - Rails::Initializer

Pour exécuter une tâche à chaque requête en développement et une seule fois en production :
Dans config/environment.rb :
config.to_prepare do
  #code à exécuter
end

Pour exécuter une tâche après l'initialisation :
config.after_initialize do
  #code à exécuter
end

Si l'on souhaite l'exécution uniquement en production/développemnt :
Respictivement dans config/environments/production.rb ou /config/environments/development.rb

14/03/2010

Hermes : ORM Java sur le pattern ActiveRecord

Github : Hermes github repository

TextMate : commande "go to method"

Commande TextMate pour ouvrir la déclaration d'une méthode sélectionnée (équivalent de command-B sous NetBeans)

Installation 
Créer  la commande avec le Bundle Editor en insérant ce script ruby.

Utilisation
Sélectionner le nom de la méthode, puis taper le raccourci clavier que vous avez entré pour la commande.

Github : http://github.com/anoiaque/textmate_go_to_method

Rcov avec JRuby

Le gem RCov pour ruby ne fonctionne pas avec JRuby car il utilise des modules écrits en C ne pouvant s'exécuter sur la machine virtuelle Java.


Sous NetBeans 6.7, il est possible d'utiliser rcov avec le built-in JRuby de NetBeans. Il fonctionne parfaitement.

Sinon, il existe un gem 'rcov-java' pour JRuby . Il ne semble pas pouvoir être installé avec gem install .
Il faut le télécharger ici : http://rubyforge.org/projects/jruby-extras (ou en pièces jointes ci-dessous).
Puis pour installer un gem en local :
$ jruby -S gem install -i /lib/ruby/gems/1.8/ /rcov-0.8.1.2.0-java.gem

Ensuite on lance les tests par : $ rcov test/test_*.rb
Petit souci, il y a un petit bug ... "rcov.rb:654:in `aggregate_data': NilClass can't be coerced into Fixnum (TypeError)"
Je l' ai fixé ainsi :
ligne 654 : cov_arr.each_with_index{|x,i| dest[i] += x} , remplacer par cov_arr.each_with_index{|x,i| dest[i] += x if x }

Vous pouvez maintenant exécuter $ rcov test/test_*.rb
Un répertoire coverage est créé à la racine du projet contenant deux fichiers au format html contenant le rapport de couverture.

Liens :

http://eigenclass.org/hiki/rcov#l6

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
Alan Perlis


The best way to predict the future is to invent it.
Alan Kay


Ne découvre de nouvelles terres que celui qui sait quitter tout rivage.
André gide


Qui ne doute pas acquiert peu
Léonard de Vinci


Our life is frittered away by detail... simplify, simplify.
Henry David Thoreau