Size: a a a

Saint P Ruby Community

2019 October 10

AD

Anton Davydov in Saint P Ruby Community
Я короче к тому, что не уверен, что в плагинах должны быть подобные зависимости
источник

AD

Anton Davydov in Saint P Ruby Community
Хотя хрен его знает конечно
источник

NS

Nikita Shilnikov in Saint P Ruby Community
в гем и так ничего не мешает просто файлики вынести и их подгружать. Вопрос как им туда параметры всякие прокинуть
источник

w

wi11son in Saint P Ruby Community
через configure
источник

w

wi11son in Saint P Ruby Community
как в доке
источник

AD

Anton Davydov in Saint P Ruby Community
Вообще, выбирая между кодом, который виден и абстракциями - я бы выбрал первое
источник

w

wi11son in Saint P Ruby Community
например, в случае с компонентами это могло бы выглядеть так:
# system/container.rb
require 'dry/system/container'
require_relative '../vendor/dry/system/components'

class Container < Dry::System::Container
 boot(:redis, from: :persistence) do
   configure do |config|
     config.url = ENV['REDIS_URL']
   end
 end
end
источник

w

wi11son in Saint P Ruby Community
но дефолтные настройки работали бы в 99% случаев
источник

w

wi11son in Saint P Ruby Community
в случае с плагином, еще красивше
# system/container.rb
require 'dry/system/container'
require_relative '../vendor/dry/system/plugins/redis'

class Container < Dry::System::Container
 use :redis, url: -> { ENV['REDIS_URL'] }
end
источник

w

wi11son in Saint P Ruby Community
но вопрос в другом; вообще правильно ли я это использую, или это вообще не для того нужно юзать?
источник

AD

Anton Davydov in Saint P Ruby Community
wi11son
но вопрос в другом; вообще правильно ли я это использую, или это вообще не для того нужно юзать?
А никто не знает на самом деле. Я бы так не делал и писал все руками. Можно попробовать и посмотреть что будет
источник

AD

Anton Davydov in Saint P Ruby Community
Мне кажется, что норм идея делать такие штуки в самих либах
источник

AD

Anton Davydov in Saint P Ruby Community
Типо ставишь гем и появляется плагин
источник

w

wi11son in Saint P Ruby Community
External dependencies can be provided as bootable components, these components can be shared across applications with the ability to configure them and customize booting process. This is especially useful in situations where you have a set of applications with many common components.
источник

AD

Anton Davydov in Saint P Ruby Community
Прикольная идея так то, но стоит на практике проверить
источник

w

wi11son in Saint P Ruby Community
ну вот например сегодня @morozzzko говорил, что хочет много доменов иметь, и ккаждый из доменов может иметь свою папку system, и еще какая-то зашаренная папка, где еще какие-то зависимости
источник

w

wi11son in Saint P Ruby Community
или херню говорю
источник

AD

Anton Davydov in Saint P Ruby Community
Так у тебя будут зависимости под домен
источник

AD

Anton Davydov in Saint P Ruby Community
+ общий контейнер со всеми зависимостями сразу
источник

w

wi11son in Saint P Ruby Community
а, ну да
источник