Gestion des dépendances des gems directement dans Rails

Suivant toujours les évolutions de Rails dans sa version edge, je vais commencer une série de billet pour vous informer de quelques nouveautés pour Rails 2.1. Je trouve ces évolutions assez sympathiques.

La première que je vais vous montrer est la gestion des dépendances de gems

On pourra définir directement dans le fichier d'environnement de Rails les gems qui sont en dépendance de notre application. On peux ainsi y définir le nom, la version et même le dépôt de notre gems. Très pratique pour gérer ses dépendances. Plus besoin de forcement, copier les gems directement dans ton /vendor/. Voici un exemple de configuration :

Rails::Initializer.run do |config| 

  # Necessite la derniere version du gem HAML
  config.gem "haml"

  # Necessite la version 0.2.3 de chronic
  config.gem "chronic", :version => '0.2.3'

  #Necessite le hpricot a partir d'un depot specifique
  config.gem "hpricot", :source => "http://code.whytheluckystiff.net"

  # Necessite un gem particulier qui necessite une ligne differente de require
  # I.e. Si vous loader normalement le gem avec require 'aws/s3' au lieu de
  # require 'aws-s3' alors vous devez le specifier dans l'option :lib
  config.gem "aws-s3", :lib => "aws/s3" 
end 

Avec cette fonctionnalité de nouvelles tâches rake ont été ajoutées :

  • rake gems:install => permet d'installer tous les gems nécessaire
  • rake gems => permet de lister tous les gems nécessaires à l'application
  • rake gems:unpack => Copie tous les gems en dépendance dans le dossier /vendor/gems
  • rake gems:unpack GEM=hpricot => Supprime le gems hrpicot du dossier /vendor/gems
  • rake gems:build => construit les gems qui ont des extensions native.

Dim 06 avr 2008 17:43 Publié sous

Mots clés , , ,

If you liked this article you can add me to Twitter

Comment Gestion des dépendances des gems directement dans Rails


RSS Follow me on Twitter