Использование версии .gemspec в документации / библиотеке / скрипте
Вопрос
Итак, недавно я писал кучу драгоценных камней ruby, и одна вещь, которую я счел бы удобной, это включить текущую версию (как указано в gemspec) в rdoc
-сгенерированная документация для моих библиотек, а также в OptionParser
-сгенерированный --help
разделы, используемые моими скриптами (которые я распространяю через gem).Любым способом я могу упростить для моих пользователей определение того, какую версию библиотеки / скрипта они используют в данный момент.
Есть ли какой-либо способ, которым я могу получить доступ к версии, указанной в моем gemspec, из файлов ruby в моем lib/
или bin/
каталоги?Таким образом, мне не нужно обновлять его в нескольких местах одновременно - только в моей gemspec.
В настоящее время я генерирую свои gemspecs вручную, я еще не запрыгнул на Грабли.Если я не могу делать то, что хочу, напрямую, используя только то, что дает мне rubygems, позволит ли мне rake или другой инструмент сделать это?
Решение
Я не думаю, что такого способа нет, потому что Rubygems - это просто механизм установки библиотек Ruby, в которых нет предопределенного понятия управления версиями.
Однако возможные обходные пути могут включать использование Gem.loaded_specs
чтобы узнать, какие драгоценные камни были загружены:
Gem.loaded_specs["mygemname"].version.to_s #=> "1.2.3"
Другие советы
Возможно, вы захотите взглянуть на новый гем gem - поскольку он одновременно генерирует соответствующий макет каталога, а также файл gemspec (совместимый с GitHub).