Как вы можете определить, какой rubygem используется в ответ на запрос "require"? драгоценный камень, который, кажется, не помогает.
Фон : для проекта hornsby-herbarium-parser я использую gem roo.
Я использовал github gem hmcgowan-roo, поскольку в то время он был более поздним, чем версия rubyforge для roo. Я попытался протестировать код на runcoderun, и он потерпел неудачу, потому что у него нет никакой версии roo. К этому времени новые версии roo были доступны как на github, так и на rubyforge.
Я решил, что могу также посмотреть, работает ли последняя версия rubyforge для моего кода, так как я предполагаю, что rubyforge более официальный, авторитетный и стабильный, чем github-форки. Как только я убедился, что версия rubyforge работает с моим кодом, я прошу runcoderun приятно спросить, могут ли они установить ее в своей системе.
Я sudo установил самоцвет roo, и теперь мои самоцветы включают в себя "hmcgowan-roo (1.3.5)" и "roo (1.3.6)", и выполнение тестов для анализатора hornsby-herbarium-parser все еще проходит. Я знаю, что поскольку версия rubyforge была установлена совсем недавно, она должна использоваться в тестах, но я хочу иметь возможность проверить это.
gem which roo
Не помогло, потому что это дало мне
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
что я считаю неправильным ответом.
Обновление : я использовал оба
$:.detect {|dir| dir =~ /roo/}
и
puts Roo::VERSION::STRING
оба согласны с гемом, который говорит, что я все еще использую hmcgowan-roo-1.3.5.