Использование версии.gemspec в документации / библиотеке / скрипте

Итак, я недавно писал кучу рубиновых самоцветов, и я бы посчитал удобным включить текущую версию (как указано в gemspec) в rdocдокументация для моих библиотек, а также в OptionParser-порожденной --help разделы, используемые моими скриптами (которые я распространяю через gem). В любом случае, мои пользователи смогут легко определить, какую версию библиотеки / скрипта они используют в настоящее время.

Есть ли способ получить доступ к версии, указанной в моем gemspec, из файлов ruby ​​в моем lib/ или же bin/ каталоги? Таким образом, мне не нужно обновлять его сразу в нескольких местах - только в моем gemspec.

В настоящее время я создаю свои gemspecs вручную, я еще не прыгнул на поезд Rake. Если я не могу делать то, что хочу напрямую, только с тем, что дает мне rubygems, позволят ли мне сделать это рейк или другой инструмент?

2 ответа

Решение

Я не думаю, что это невозможно, потому что Rubygems - это просто механизм установки библиотек Ruby, у которых нет предопределенного понятия управления версиями.

Однако возможные обходные пути могут включать использование Gem.loaded_specs чтобы найти, какие драгоценные камни были загружены:

Gem.loaded_specs["mygemname"].version.to_s #=> "1.2.3"

Возможно, вы захотите взглянуть на gem newgem - поскольку он генерирует соответствующий макет каталога, а также файл gemspec (совместимый с GitHub).

Другие вопросы по тегам