Size: a a a

pro.rb (Ruby/Rails / RU)

2020 October 26

IN

Ivan Naumov in pro.rb (Ruby/Rails / RU)
Mikhail Churakov
Чем плохо явное объявления? Чтобы потом другой человек помучился ? :)
Рельсам это скажи)))
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Ну так потому и говорю - ненадо ещё больше ненависти вносить в код :)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Нет. Я хочу чтобы к примеру вызываю redis_failover.set(..), он преобразуется в failover_call { redis_pool[current_server].set(..) } без явного описывания set в классе Redis_failover
источник

f🤔

focusshifter 🤔 in pro.rb (Ruby/Rails / RU)
Mikhail Churakov
Чем плохо явное объявления? Чтобы потом другой человек помучился ? :)
тут плюс. И за самописные адаптеры такие со своей логикой ретраев новый человек тоже спасибо не скажет
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Не - это потом наши питонщики перепишут как они любят и знают. Говорю же - вопрос скорей на то как это можно изящно сделать
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
Нет. Я хочу чтобы к примеру вызываю redis_failover.set(..), он преобразуется в failover_call { redis_pool[current_server].set(..) } без явного описывания set в классе Redis_failover
Никак
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Жаль
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Это конкретный класс, он реализует конкретные методы
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Где то они будут определены в любом случае
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
И лучше это прописать явно, либо сделать твой класс наследником какого то базового (где это определено)
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Тот кто откроет твой код через полгода, скажет спасибо :)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Да там кода на 30 строк
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Ну написать можно так, что 30 строк покажутся адом ...
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Например заюзать simple delegator
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Хотя через method_missing интересная идея сделать. Если локальный метод отсутствует, пробросить его в клиент и если он вернул этот же эксепшен, вернуть выше
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Ищи потом по коду где этот класс и чем инициализируются
источник

f🤔

focusshifter 🤔 in pro.rb (Ruby/Rails / RU)
Mikhail Churakov
Где то они будут определены в любом случае
Конечный set будет в redis-rb определен
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
Хотя через method_missing интересная идея сделать. Если локальный метод отсутствует, пробросить его в клиент и если он вернул этот же эксепшен, вернуть выше
Тебе в любом случае придётся метод написать :)
источник

MC

Mikhail Churakov in pro.rb (Ruby/Rails / RU)
Нет set, так метод миссинг
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Mikhail Churakov
Тебе в любом случае придётся метод написать :)
1 метод или все команды редиса
источник