sexta-feira, 4 de junho de 2010

Qual versão do ruby estou usando?

Você usa o rvm e nunca sabe qual versão do ruby está em uso?

Seus problemas acabaram! =)

Adicione a seguinte linha no seu arquivo ~/.bashrc:

export PS1="\`ruby=\$(which ruby 1> /dev/null && ruby -v 2> /dev/null | grep -oP \"^.+?[0-9]+(\.[0-9]+)+\") && echo \"(\$ruby) \"\`$PS1"
Atualize o terminal:

$ source ~/.bashrc
E você poderá ter o seguinte:

$ ruby --version
O programa 'ruby' não está instalado atualmente. Você pode instalá-lo digitando:
sudo apt-get install ruby
$ rvm 1.8.7
(ruby 1.8.7) $ rvm rbx
(rubinius 1.0.0) $ rvm 1.4.0
(jruby 1.4.0) $ rvm 1.9.1
(ruby 1.9.1) $ rvm system
$

Legal não?!

Atualizado em 21/11/10

Nos comentários, o Rodrigo deu uma contribuição show sobre o gemsets do rvm.
Assim, se você quer também ver qual gemset está usando, adicone esse código no arquivo ~/.bashrc:

gemset(){
_gemset=`rvm gemset name 2> /dev/null | xargs`
[ -n "$_gemset" ] && echo "@$_gemset"
}

export PS1="\`ruby=\$(which ruby 1> /dev/null && ruby -v 2> /dev/null | grep -oP \"^.+?[0-9]+(\.[0-9]+)+\") && echo \"(\$ruby\$(gemset)) \"\`$PS1"

Com isso, você vai ter o seguinte:

$ rvm 1.9.2
(ruby 1.9.2) $ rvm gemset use rails3
Now using gemset 'rails3'
(ruby 1.9.2@rails3) $ rvm gemset clear
gemset cleared.
(ruby 1.9.2) $

Lembre-se apenas que essa linha deve ser a última que manipula a variável $PS1 no seu arquivo ~/.bashrc.

Valeu Rodrigo, pelas dicas de melhoria!

[]'s