Pergunta
Eu quero verificar com "jóia ultrapassada" se há atualizações gema. É possível obter o resultado do software jóia em um script como string ou valor?
Eu não quero executar system () oder algo semelhante.
obrigado pela sua ajuda
Solução
RubyGems é realmente uma biblioteca, a ferramenta de linha de comando gem
é apenas um pequeno invólucro em torno dessa biblioteca. Você pode fazer qualquer coisa que você pode fazer com a ferramenta de linha de comando a partir dessa biblioteca (e de fato algumas coisas que você não pode fazer com a ferramenta de linha de comando).
No entanto, a API biblioteca não é tão bem documentado como parâmetros da ferramenta de linha de comando. Há é a testuite, no entanto.
Outras dicas
É pode ajudá-lo
require 'rubygems/commands/outdated_command.rb'
g = Gem::Commands::OutdatedCommand.new()
g.execute()
# => [] for me ))
Você pode encontrar outros comandos no diretório lib / ruby ??/ 1.9.1 / rubygems / comandos /