Доступ к информации о rubygem из сценария ruby - PullRequest
0 голосов
/ 12 ноября 2010

Мне нужно получить путь установки для данного гема ruby ​​и не могу найти никакой информации о том, как это сделать. Дано:

#!/usr/bin/env ruby
require 'rubygems'
require 'somegem'

Как я могу узнать, где находится установочный путь somegem в системе (не прибегая к system(gem ...). Данный драгоценный камень поставляется с некоторыми значками, на которые я хочу сослаться в моем скрипте.

Благодаря Крису у меня теперь есть следующее:

require 'rubygems/Commands/contents_command'
c = Gem::Commands::ContentsCommand.new
c.options[:args] = 'somegem'
c.execute

Однако c.execute немедленно выводит результат на стандартный вывод. Как я могу поймать это в переменной для дальнейшей обработки? res = c.execute не работает.

1 Ответ

0 голосов
/ 12 ноября 2010

У вас есть разные способы достичь этого:

Gem.source_index.find_name('somegem').last.full_gem_path

Вы также можете просто добавить свой путь загрузки:

$:.grep /somegem/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...