Rubyスクリプト内でインストールされているgemのバージョンを取得する。
GemのAPIで取得可能です。
- require か Gem::activate でGemを有効化すると、
- ロードされた gem の Gem::Specification が Gem.loaded_specs に保持されます。
- あとは、Gem::Specification からバージョンを取得すればOK。
- バージョンの型はGem::Versionです。
- バージョン以外にも、名前とか、ホームページも取得可能なようです。
require 'rubygems' # require か activate でGemを有効化 require 'httpclient' Gem.activate 'needle' # ロードされた Gem の Gem::Specification が Gem.loaded_specs # に保持されるのでそこからバージョンを取得可能。 Gem.loaded_specs.each_pair {|k,v| puts "#{k} : #{v.version}" }
実行結果です。
httpclient : 2.1.4 needle : 1.3.0 rubysspi : 1.2.4