2010-07-16 13 views
14

¿Existe alguna forma clara de extraer la cadena de versión de un archivo .gemspec? (La gema aún no está instalada)¿Cómo obtengo la versión de un archivo gemspec?

p. somethingcool.gemspec es

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

Quiero extraer "1.2.3".

Podría agotarlo, pero debe haber una manera mejor.

Respuesta

24
require "rubygems" 

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

Thanks - worked a treat. –

+0

También hay https://github.com/packsaddle/ruby-parse_gemspec gem, [implementado] (https://github.com/packsaddle/ruby-parse_gemspec/blob/master/lib/parse_gemspec/specification.rb) como una capa delgada sobre 'Gem :: Specification.load', y [una CLI] (https://github.com/packsaddle/ruby-parse_gemspec-cli) imprimiendo JSON. –

Cuestiones relacionadas