Come puoi determinare quale rubygem viene utilizzato in risposta a una dichiarazione "require"? gemma che non sembra aiutare.Determinare quale rubygem stai utilizzando
Sfondo: per il progetto hornsby-herbarium-parser, sto usando la gemma roo.
Ho usato la gemma github hmcgowan-roo, poiché a quel tempo era più recente della versione rubyforge di roo. Ho provato a testare il codice su runcoderun e non è riuscito perché non ha alcuna versione di roo. A questo punto, erano disponibili nuove versioni di roo sia su github che su rubyforge.
Ho deciso che potrei anche vedere se l'ultima versione di rubyforge funziona per il mio codice, poiché presumo che rubyforge sia più ufficiale, autorevole e stabile delle forchette di github. Una volta che sono sicuro che la versione di rubyforge funziona con il mio codice, chiederò a Runcoderun se possono installarlo sul loro sistema.
I gemelli sudo installati roo, e le mie gemme ora includono "hmcgowan-roo (1.3.5)" e "roo (1.3.6)", e ancora eseguono i test per hornsby-herbarium-parser. So che come la versione di rubyforge è stata installata più di recente, è dovrebbe essere essere quella utilizzata nei test, ma voglio essere in grado di verificare questo.
gem which roo
non ha aiutato, perché mi ha dato
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
che presumo sia la risposta sbagliata.
Aggiornamento: Ho utilizzato sia
$:.detect {|dir| dir =~ /roo/}
e
puts Roo::VERSION::STRING
entrambi sono d'accordo con la gemma che, dicendo che sto ancora utilizzando hmcgowan-roo-1.3.5.
Vuoi dalla CLI, o dall'interno di Ruby, entrambi sono OK è così? –
Simile ma per Rails (quindi suppone Bundler): http://stackoverflow.com/questions/1621405/how-to-tell-which-version-of-a-gem-a-rails-app-is-using –