2009-12-04 7 views
0

Je veux vérifier avec "gem obsolète" s'il y a des mises à jour de gemme. Est-il possible d'obtenir le résultat du logiciel GEM dans un script sous forme de chaîne ou de valeur?gem cmd à partir d'un script ruby ​​

Je ne veux pas exécuter system() ou quelque chose de similaire.

Merci pour votre aide

Répondre

1

RubyGems est en fait une bibliothèque, l'outil gem de ligne de commande est seulement une petite enveloppe autour de cette bibliothèque. Vous pouvez faire tout ce que vous pouvez faire avec l'outil de ligne de commande de cette bibliothèque (et en effet certaines choses que vous ne pouvez pas faire avec l'outil de ligne de commande). Toutefois, l'API de bibliothèque n'est pas aussi bien documentée que les paramètres de l'outil de ligne de commande. Il est une suite de tests, cependant.

1

Il est peut vous aider à

require 'rubygems/commands/outdated_command.rb' 

g = Gem::Commands::OutdatedCommand.new() 
g.execute() 
# => [] for me)) 

Vous pouvez trouver d'autres commandes dans le répertoire lib/ruby ​​/ 1.9.1/rubygems/commandes/