как мой гем может узнать путь к своему каталогу репозитория?

У моего gem semantictext есть куча тестовых данных, которые он считывает для регрессионного тестирования.

Вот проект: http://github.com/dafydd/semantictext

Вот пример теста, который я хочу запускать прямо из гема: http://github.com/dafydd/semantictext/blob/master/test/test_document.rb (ищите текст "SANDBOX")

Обычно я разрабатываю его в каталоге с именем «semantictext» и устанавливаю для переменной среды SANDBOX путь к каталогу выше «semantictext», чтобы я мог ссылаться на любой файл в проекте, используя ENV['SANDBOX'].

Когда гем установлен как пакет, есть ли способ, которым тест/модульный тест, запущенный из rake, может:

1) знаете, что он запускается из драгоценного камня? и

2) знаете путь к его каталогу semantictext в локальном репозитории rubygems?

Я хочу упростить запуск всех тестов из любой установки gem. Это сделало бы мою непрерывную интеграцию немного проще и позволило бы мне писать лучшие гемы.

Спасибо, Дафидд.


person Dafydd Rees    schedule 11.12.2009    source источник


Ответы (1)


Вы можете узнать каталог текущего файла, используя:

File.dirname(__FILE__)

Это позволит вам создать относительный путь к любому файлу, к которому вам нужно получить доступ.

person Pelle    schedule 11.12.2009