Existe-t-il un moyen de déterminer quelle version de Ruby s'exécute depuis l'intérieur Rails (soit sur le Web soit via script/console
)? J'ai Ruby 1.8.6 installé mais j'ai également installé Ruby Enterprise Edition 1.8.7-20090928 et je veux m'assurer qu'il utilise la bonne installation).
Utilisez la constante de niveau supérieur
Ruby_VERSION
d'autres constantes de premier niveau utiles sont
Ruby_PATCHLEVEL
Ruby_PLATFORM
Ruby_RELEASE_DATE
voici une session irb:
irb(main):001:0> Ruby_VERSION
=> "1.8.7"
Essayez la constante Ruby_VERSION. Je l'utilise largement pour déterminer si je fonctionne sous 1.8 ou JRuby.
De plus, si vous n'êtes pas en mode production, vous pouvez effectuer une vérification rapide en cliquant sur l'URL "/ Rails/info/properties"
En plus de la constante Ruby_VERSION et de vos amis, vous pouvez également consulter Config :: CONFIG. Ce hachage contient non seulement les numéros de version mais également une tonne d'autres informations utiles sur l'exécution, comme le chemin vers le binaire, le nom d'hôte, ...
Utilisation Ruby_VERSION
comme mentionné par d'autres.
Vous pouvez ensuite utiliser Gem::Version
pour comparer les 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