Какой самый быстрый способ рекурсивного добавления каталогов в $ LOAD_PATH в ruby? - PullRequest
3 голосов
/ 06 апреля 2010

Я бы хотел добавить все в vendor / gems / gems / ** / lib на путь загрузки У меня есть способ сделать это, но это просто кажется неуклюжим. Прямо сейчас я делаю это через:

base = File.expand_path(File.join(File.dirname(__FILE__), "..", "vendor", "gems", "gems"))<br> libs = File.join(base, "**", "lib")<br> Dir.glob(libs) { |lib| $LOAD_PATH.unshift lib}

Я уверен, что есть лучший способ сделать это.

1 Ответ

2 голосов
/ 06 апреля 2010

Я думаю, что установка базового пути с помощью File - это хорошо. но вам не нужно перебирать список каталогов, чтобы поместить их в $LOAD_PATH. Вы можете использовать unshift и расширить массив.

libs = File.expand_path("../../vendor/gems/**/lib", __FILE__)
$LOAD_PATH.unshift *Dir.glob(libs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...