Determinando qual rubygem você está usando

Como você pode determinar qual rubygem está sendo usado em resposta a uma instrução "require"? gem que não parece ajudar.

fundo: para o projeto hornsby-herbário-parser, estou usando o gem roo.

Eu usei o github gem hmcgowan-roo, porque naquela época era mais recente que a versão rubyforge do roo. Eu tentei testar o código no runcoderun, e ele falhou porque não tem nenhuma versão do roo. Por esta altura, novas versões do roo estavam disponíveis tanto no github quanto no rubyforge.

Decidi também ver se a versão mais recente do rubyforge funciona para o meu código, pois suponho que o rubyforge seja mais oficial, autoritativo e estável que os garfos do github. Uma vez que eu tenho certeza que a versão do rubyforge funciona com o meu código, eu perguntarei ao runcoderun se eles podem instalá-lo em seu sistema.

Eu sudo gem installed roo, e minhas gems agora incluem "hmcgowan-roo (1.3.5)" e "roo (1.3.6)", e rodando os testes de hornsby-herbarium-parser ainda passam. Eu sei que como a versão do Rubyforge foi instalada mais recentemente,deveria para ser o que está sendo usado nos testes, mas eu quero ser capaz de verificar isso.

gem which roo

Não ajudou, porque me deu

(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb

que eu assumo é a resposta errada.

Atualizar: Eu usei os dois

$:.detect {|dir| dir =~ /roo/}

e

puts Roo::VERSION::STRING

ambos concordam com gem que, dizendo que eu ainda estou usando hmcgowan-roo-1.3.5.

questionAnswers(5)

yourAnswerToTheQuestion