Bundler — загрузка нескольких Gemfiles

#ruby #bundler

#ruby #bundler

Вопрос:

Просто любопытно, есть ли простой способ загрузить более одного Gemfile из приложения Ruby.

Если вам (вполне разумно) интересно, почему я бы сделал такую сумасшедшую вещь…

Ситуация такова, что у меня есть один главный сервер (со своими собственными требованиями), который при реализации может загружать модули из любого количества других путей в системах, и каждый путь, прямо сейчас, имеет свой собственный Gemfile для драгоценных камней, используемых этим модулем.

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

Ответ №1:

Я использую это в своем Gemfile:

 if File.exists?('Gemfile.devel') then
  eval File.read('Gemfile.devel'), nil, 'Gemfile.devel'
end
 

Последний аргумент eval создает исключения в Gemfile.devel отображается с правильным именем файла.

Ответ №2:

Gemfile — это «просто Ruby». Вы можете выполнить поиск любых других необходимых Gemfiles и включить их, если хотите…

Обновление: смотрите http://madebynathan.com/2010/10/19/how-to-use-bundler-with-plugins-extensions /

Ответ №3:

Если я понимаю ваш вопрос, capistrano — это способ развертывания, ориентированный на пакет.