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

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

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

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


person rampion    schedule 08.01.2009    source источник


Ответы (2)


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

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

Gem.loaded_specs["mygemname"].version.to_s #=> "1.2.3"
person Sophie Alpert    schedule 30.01.2009

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

person Marcin Gil    schedule 09.01.2009