Size: a a a

Saint P Ruby Community

2020 February 01

w

wi11son in Saint P Ruby Community
надо прочекать с параметрами, потому что в них смысл
источник

AG

Alex G in Saint P Ruby Community
ну, придется в модуле прописать звездочку :)
источник

AG

Alex G in Saint P Ruby Community
или можешь еще dry-auto_inject чекнуть
источник

VA

Vsevolod Avramov in Saint P Ruby Community
Alex G
$ ruby initialize.rb
Initializer#initialize
Animal#initialize
Initializer#initialize
Dog#initialize
Прикольно
источник

w

wi11son in Saint P Ruby Community
как раз таки ради ааавтоинжекта и делаю
источник

AG

Alex G in Saint P Ruby Community
Alex G
или можешь еще dry-auto_inject чекнуть
источник

w

wi11son in Saint P Ruby Community
посколькуо давать юзеру делать new, не планировал
источник

AG

Alex G in Saint P Ruby Community
ты не планируешь давать инстанциировать объект, но хочешь дать возможность кастомизировать конструктор?
источник

w

wi11son in Saint P Ruby Community
иименно для DI
источник

w

wi11son in Saint P Ruby Community
в него можно воткнуть дефлотные значения
источник

AG

Alex G in Saint P Ruby Community
а как это должно выглядеть для юзера?
источник

w

wi11son in Saint P Ruby Community
def initialize(repo: UserRepo)
 @repo = repo
end
источник

w

wi11son in Saint P Ruby Community
херово как-то, подводные камни вижу здесь :)
источник

AG

Alex G in Saint P Ruby Community
все равно пока не понятно, где тут проблема возникает
источник

RI

Rustam Ibragimov in Saint P Ruby Community
wi11son
посколькуо давать юзеру делать new, не планировал
есть способ и нью дать возможность использовать 🤔 но это от твоих целей зависит, конечно
источник

w

wi11son in Saint P Ruby Community
я решил запихнуть мои зависимости через accessor, тем самым совсем не менять initializer
источник

NS

Nikita Shilnikov in Saint P Ruby Community
итератор по конструкторам
источник

NS

Nikita Shilnikov in Saint P Ruby Community
я считаю «спасать» пользователя от вызова super вредной стратегией
источник

A

Alex in Saint P Ruby Community
Nikita Shilnikov
я считаю «спасать» пользователя от вызова super вредной стратегией
Плюсую. Прочитал тред, довольно странная задача.
источник

RI

Rustam Ibragimov in Saint P Ruby Community
Alex
Плюсую. Прочитал тред, довольно странная задача.
как я понимаю, это для фрэймворк-лайк инструмента - и тут просто хотят сделать описание и резолв зависимости неявно, без явного ее объявления в конструкторе, разделив эти этапы. это ограничивает стратегии резолва зависимостей (или может быть даже дает новые способы), но такое имеет место быть, почему нет 🤔
да, там есть вероятность упороться в сервис локаторы, в глобалки и в проблемы с инстанцированием всего - но можно попробовать все ранво - а мы пообсуждаем 🙂
источник