edwardila
(Edward Skalibog)
21.Сентябрь.2021 16:39:20
1
Привет, команда Discourse!
Хочу предложить вам интересное решение для Gemfile в директории плагинов и добавления внешних gems при необходимости:
# Загрузка Gemfile плагинов
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
Если мы добавим это в основной Gemfile, мы сможем загружать Gemfile из плагинов.
Давайте обсудим это решение.
P.S. Документация DSL для eval_gemfile => https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile
Falco
(Falco)
21.Сентябрь.2021 16:48:32
2
Это интересно! В настоящее время плагины могут подключать библиотеки (gems), указывая полное дерево рекурсивных зависимостей в файле plugin.rb, например:
edwardila
(Edward Skalibog)
21.Сентябрь.2021 16:53:17
3
Спасибо, это именно то, что я искал.
Но мне кажется, что моё решение более чёткое и понятное для меня.
Причины (на мой взгляд):
Файл plugin.rb остаётся более чистым.
Gemfile более понятен разработчикам Rails.
sam
(Sam Saffron)
28.Сентябрь.2021 06:39:23
4
К сожалению, это означает, что файл блокировки будет постоянно меняться, а мы включаем его в систему контроля версий.
Файлы Gem удобны, но пока мы не сможем отправлять дельта-файлы блокировки, такое решение не будет работать.