2009-10-19 7 views

Répondre

139

Utilisez le haut niveau constant

RUBY_VERSION 

autres utiles Constantes de niveau supérieur sont

RUBY_PATCHLEVEL 
RUBY_PLATFORM 
RUBY_RELEASE_DATE 

est ici une session irb:

irb(main):001:0> RUBY_VERSION 
=> "1.8.7" 
12

Essayez la constante RUBY_VERSION. J'utilise cela de manière extensive pour déterminer si je cours sous 1.8 ou JRuby.

Aussi, si vous n'êtes pas en mode de production, vous pouvez faire une vérification rapide en appuyant sur l'URL "/ rails/info/propriétés"

9

En plus de la constante RUBY_VERSION et des amis, vous pouvez également consulter Config :: CONFIG. Ce hash contient non seulement les numéros de version, mais aussi une tonne d'autres informations d'exécution utiles, comme le chemin vers le binaire, le nom d'hôte, ...

+0

merci, j'utilise 'met RbConfig.ruby' pour Ruby 2.0 et rails 4.0 et il retourne «/usr/local/RVM/rubis /ruby-2.0.0-p247/bin/ruby ' – quatermain

6

Utilisez RUBY_VERSION comme mentionné par d'autres.

Vous pouvez ensuite utiliser Gem::Version pour faire la comparaison de chaînes de version:

require 'rubygems' # Only needed for ruby pre-1.9.0 but it's safe for later versions (evaluates to false). 
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.0') 
    extend DL::Importable          
else               
    extend DL::Importer          
end               
+0

Très utile, merci! – Francois

Questions connexes