Ищите файл конфигурации с Ruby - PullRequest
1 голос
/ 13 сентября 2011

Я написал инструмент Ruby с именем foobar, имеющий конфигурацию по умолчанию в файл (называется .foobar).

Когда инструмент выполняется без каких-либо параметров, параметры файла конфигурации можно использовать: ~/.foobar.

Но если текущий путь инструмента равен ~/projects/foobar и если ~/projects/foobar/.foobar существует, тогда этот файл следует использовать вместо ~/.foobar.

Поэтому поиск этого файла конфигурации должен начинаться с текущая папка до текущей папки пользователя.

Есть ли простой способ найти этот файл?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2011
cfg_file = File.open(".foobar", "r") rescue File.open("~/.foobar", "r")

Хотя, если честно, я почти всегда делаю две вещи: предоставляю опцию для пути к файлу конфигурации и допускаю переопределение значений конфигурации по умолчанию.Проблема с последним заключается в том, что, если вы не знаете, что файлы конфигурации упорядочены / имеют приоритет, это может сбить с толку.

0 голосов
/ 13 сентября 2011

Я бы сделал это:

if File.exists(".foobar")
    # open .foobar
else
    # open ~/..
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...