Un jour, une gem

11/01/2012

Mercredi c'est Active Record

gem install activerecord

La Base de Données tranquille

J’ai récemment eu besoin d’interagir avec une Base de Données sans me soucier de son format. J’ai donc pensé à Active Record.

Active Record fait partie des gems que vous connaissez si vous utilisez Ruby on Rails. Dans un script Ruby on peut procéder comme ceci :

Ruby 

require 'rubygems'
require 'active_record'
require 'yaml'
require 'awesome_print'
 
# soit il y a un argument soit c'est "production" qui est pris en compte 
dataBaseEnv = ARGV[0] || 'production'
# mon config.yml sera le même que celui généré par défaut dans une apply rails
config = YAML::load(IO.read('config.yml'))
 
class Banana < ActiveRecord::Base
  set_table_name :bananas
end
 
# on établit la connexion en fonction de l'environnement choisi
ActiveRecord::Base.establish_connection(config[dataBaseEnv])
ap Banana.find(:all)

Ce petit script nous retournera donc toutes les entrées de la table bananas. Et il marchera sans se soucier du type de la Base de Données, pour peu que la gem adéquate soit installée, par exemple sqlite3 ou mysql2.

De plus, vous pouvez choisir l’environnement de votre Base de Données en ajoutant un argument au lancement du script :

ruby banana.rb developpement

ou

ruby banana.rb production

etc.

Voilà, il ne vous reste plus qu’à suivre les liens utiles :