Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 February 21

O

Odebe in Ruby, Rails, Hanami | dry-rb
А в классах определять толь конструктор?...
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
Не вариант, потом что есть то что идет из общих классов, а что-то переопределяется на лету за счет методов с тем же именем, но другой логикой.
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
Так придется отдельный модуль для каждого класса писать)
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
Общее как бы можно вынести...
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
но это будет очень ненаглядно.
источник

AA

Alex A in Ruby, Rails, Hanami | dry-rb
иногда можно и нарушить DRY
источник

MC

Mikhail Churakov in Ruby, Rails, Hanami | dry-rb
Вынести конструктор в модуль
источник

MC

Mikhail Churakov in Ruby, Rails, Hanami | dry-rb
и переопределить в B
источник

MK

Michael Klimenko in Ruby, Rails, Hanami | dry-rb
Вытащить то "лишнее", что делает конструктор B в приватный метод и переопределить его в C пустым. Как вариант.
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
Всем спасибо за ответы!
источник

DP

D. P. in Ruby, Rails, Hanami | dry-rb
Alexander Andreev
Я кстати первый раз вижу что то подобное не в форме шутки. Видимо хорошо что я никогда не работал с аутсорсом
Я как-то на полном серьёзе разгребал подобный код магазина на пыхе. Порядка полутора тысяч строк. Это не троллинг, такое на самом деле пишут.
источник

v

vesh95 in Ruby, Rails, Hanami | dry-rb
Как отписаться от канала AC при покидании страницы.
источник

v

vesh95 in Ruby, Rails, Hanami | dry-rb
vesh95
Как отписаться от канала AC при покидании страницы.
Rails 6, и включены турболинки
источник

v

vesh95 in Ruby, Rails, Hanami | dry-rb
Да и вообще нормально что на каждой странице будут новые субскрайбы цепляться без закрытия?
источник

АК

Александр Костров in Ruby, Rails, Hanami | dry-rb
Sergey
Если кратко, хочу для класса С унаследовать все из B кроме конструктора, а конструктор взять из класса А
Интересно узнать, есть ли какие-то неожиданные последствия у такого решения в лоб (кроме того, что это говнокод):

class C < B
 def initialize
   A.instance_method(:initialize).bind(self).call
 end
end
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
Смотрится эпично =)
источник

ИН

Иван Новиков in Ruby, Rails, Hanami | dry-rb
Sergey
Всем привед

Как быть в случае если у меня есть 3 класса, с последовательным порядком наследования

C < B
B < A
A

Во всех определен конструктор initialize

В классе B в initialize вызывается super (т.е. наследуется поведение из конструктора класса А) для расширения функционала

Теперь я хочу переопределить в классе С поведение только конструктора, а все остальное наследовать из B, но при этом также наследовать конструктор из A 🙂 как это правильно сделать?
надеюсь, я понятно объяснил
Кек
источник

ИН

Иван Новиков in Ruby, Rails, Hanami | dry-rb
Лучше переписать
источник

S

Sergey in Ruby, Rails, Hanami | dry-rb
На такое бюджет не выделен 😛
источник

ИН

Иван Новиков in Ruby, Rails, Hanami | dry-rb
Значит нужно добиться чтобы выделили )
источник