Я создаю приложение командной строки Ruby со следующими характеристиками:
- Он использует структуру GLI.
- Приложение использует переменную
ENV['HOME']
для пути к домашнему каталогу пользователя. - Файл конфигурации хранится в домашнем каталоге пользователя.
- Приложение будет развернуто в рабочей среде как Gem.
- Разработка выполняется на той же машине, на которой приложение используется в производстве.
- Комбинация Cucumber, RSpec и запуска приложения через
bundle exec bin/app_name
используется для тестирования сценария в разработке.
Приложение манипулирует файлами. Моя цель — убедиться, что экземпляр разработки работает только в своей собственной среде разработки/тестирования. Я считаю, что хорошим подходом является переопределение ENV['HOME']
, когда скрипт запускается для разработки.
Есть ли способ переопределить переменную ENV['HOME']
, чтобы независимо от того, как, всякий раз, когда сценарий запускается в своем каталоге разработки, он не использовал фактический путь ENV['HOME']
?