Ustalenie, którego rubygem używasz

W jaki sposób można określić, który rubygem jest używany w odpowiedzi na oświadczenie „wymaganie”? klejnot, który wydaje się nie pomagać.

tło: dla parsera projektu hornsby-herbarium używam klejnotu roo.

Użyłem github gem hmcgowan-roo, ponieważ w tym czasie był on nowszy niż wersja roo rubyforge. Próbowałem przetestować kod na runcoderun i nie powiodło się, ponieważ nie ma żadnej wersji roo. W tym czasie nowe wersje roo były dostępne zarówno na github, jak i rubyforge.

Zdecydowałem, że równie dobrze mogę zobaczyć, czy najnowsza wersja z rubyforge działa dla mojego kodu, ponieważ zakładam, że rubyforge jest bardziej oficjalny, autorytatywny i stabilny niż widelce github. Po upewnieniu się, że wersja rubyforge działa z moim kodem, ładnie zapytam runcoderun, czy mogą go zainstalować w swoim systemie.

I sudo gem zainstalował roo, a moje klejnoty zawierają teraz "hmcgowan-roo (1.3.5)" i "roo (1.3.6)", a uruchomienie testów dla parsera hornsby-herbarium nadal przechodzi. Wiem, że jako wersja rubyforge została zainstalowana ostatnio, topowinien być tym, którego używa się w testach, ale chcę móc to zweryfikować.

gem which roo

Nie pomogło, bo to dało mi

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

które uważam za złą odpowiedź.

Aktualizacja: Użyłem obu

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

i

puts Roo::VERSION::STRING

obie zgadzają się z klejnotem, który mówiąc, że nadal używam hmcgowan-roo-1.3.5.

questionAnswers(5)

yourAnswerToTheQuestion