2011-11-01 12 views
16

Ciekawe, czy istnieje prosty sposób na załadowanie więcej niż jednego Gemfile z aplikacji Ruby.Bundler - załaduj wiele Gemfiles

Jeśli (całkiem rozsądnie) zastanawiać, dlaczego miałbym zrobić taką szaloną rzecz ...

sytuacja jest, że mam jeden serwer główny (który ma swoje własne wymagania), które mogą, w realizacji, ładuj moduły z dowolnej liczby innych ścieżek w systemach, a każda ścieżka, teraz, ma własny Gemfile dla klejnotów używanych przez ten moduł.

W tej chwili przechodzę przez edycję Gemfile serwera, aby uwzględnić wszystkie klejnoty używane przez jeden z modułów, i wydaje się, że działa, ale jest zdecydowanie nieelegancki.

Odpowiedz

0

Jeśli dobrze rozumiem twoje pytanie, capistrano to świadomy program pakujący.

12

Używam tego w moim Gemfile:

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

Ostatnim argumentem eval sprawia, że ​​wyjątki w Gemfile.devel pojawiają się z poprawną nazwą pliku.