2010-07-16 3 views
14

Есть ли чистый способ извлечь строку версии из файла .gemspec? (Драгоценный камень еще не установлен)Как получить версию из файла gemspec?

например. somethingcool.gemspec is

Gem::Specification.new do |s| 
    s.name = "somethingcool" 
    s.version = "1.2.3" 
    ... etc ... 
end 

Я хочу извлечь «1.2.3».

Я мог бы это сделать, но должен быть лучший способ.

ответ

24
require "rubygems" 

spec = Gem::Specification::load("example.gemspec") 
puts spec.version 
+0

Спасибо за удовольствие. –

+0

Существует также https://github.com/packsaddle/ruby-parse_gemspec gem, [реализован] (https://github.com/packsaddle/ruby-parse_gemspec/blob/master/lib/parse_gemspec/specification.rb) в качестве тонкая обложка поверх 'Gem :: Specification.load' и [CLI] (https://github.com/packsaddle/ruby-parse_gemspec-cli), распечатывающая JSON. –