@rubylang

Страница 740 из 1684
Alex
01.12.2016
10:09:08
интерактор намеренно проваливает контекст потому что нельзя списать деньги если их нет

Антон
01.12.2016
10:09:25
нет денег на счету делаем то
ну я тоже пишу errors.add

Alex
01.12.2016
10:09:32
Я соглашусь

Антон
01.12.2016
10:10:08
я не увидел там чего-то чего не делаю каждый день кроме хуков, но как и зачем их юзать не пойму

Google
Антон
01.12.2016
10:10:23
если вы мне не можете объяснить зачем это все, зачем вы советуете это джуну?

всмысле?

Alex
01.12.2016
10:11:02
Ты говоришь что это можно написать на голых рельсах

Антон
01.12.2016
10:11:07
есть транзации есть еншуре есть active_model зачем им интерактор?

Alex
01.12.2016
10:11:08
Это можно написать и на голых рубях.

если есть модели зачем сервис объекты?

Антон
01.12.2016
10:11:42
если есть модели зачем сервис объекты?
чтобы логику в моделях не держать

Alex
01.12.2016
10:12:06
бинго

чтобы не писать интерактор для группы интеракторов ты их просто собираешь в один органайзер

Антон
01.12.2016
10:12:25
бинго
а без интеракторов у меня вся логику в моделях будет?

transaction do ServiceOne.run ServiceTwo.run

ensure delete file end

Alex
01.12.2016
10:13:03
Опять транзакции ... у тебя транзакции загруженный файл удаляют?

Google
Alex
01.12.2016
10:14:28
ensure чего?

exception для control flow это антипаттерн

Антон
01.12.2016
10:15:05
Alex
01.12.2016
10:15:17
хорошо, плохая практика

хотя насчет того что exception это не паттерн это спорно

Антон
01.12.2016
10:15:33
заебали паттерны придумывать

Alex
01.12.2016
10:15:44
А что ты в этом чатике хочешь читать?

Антон
01.12.2016
10:16:09
помоему заебись попиздели я теперь хоть интеракторы попробую

Mikhail
01.12.2016
10:16:59
Хорошая тема я даже пролистал наверх

Алексу респект доступно жует

Антон
01.12.2016
10:17:33
exception для control flow это антипаттерн
если транзация вызовет rollback ensure подчистит все норм рубишная практика

Alex
01.12.2016
10:18:07
ага, а если все писать в моделях то сервис объекты не нужны

нормальная рельсовая практика

Антон
01.12.2016
10:18:21
я не предлагаю писать логику в моделях

Mikhail
01.12.2016
10:18:44
Данил, выебываешься тут ты а не Антон кстати.

Alex
01.12.2016
10:19:07
смотри, зачем писать каждый раз органайзер если ты можешь просто нормально написать интерактор и объединить их в цепочку?

Mikhail
01.12.2016
10:19:25
ну вот чоты передергиваешь опять
ты предлагаешь логику всегда складывать по сервис обджектам

Alex
01.12.2016
10:19:41
Ты пишешь каждый раз органайзер

Google
Антон
01.12.2016
10:19:53
ты предлагаешь логику всегда складывать по сервис обджектам
интеракторы частный случай сервис объектов

Mikhail
01.12.2016
10:20:25
Скорее сервис обджекты с роллбеком

Антон
01.12.2016
10:20:29
Ты пишешь каждый раз органайзер
так ты тоже пишешь органайзеры

Alex
01.12.2016
10:20:38
Ты их в цепочку объединяешь

ты не пишешь логику "как подчистить за этим интерактором"

это нарушение инкапсуляции

Антон
01.12.2016
10:21:11
ты не пишешь логику "как подчистить за этим интерактором"
сервис объект каждый сам за собой подчищает

Alex
01.12.2016
10:21:39
сервис объект каждый сам за собой подчищает
нет, у тебя есть интерактор который знает что за этим интерактором надо подчищать

Антон
01.12.2016
10:21:51
это наршуение какраз

Alex
01.12.2016
10:22:24
это наршуение какраз
Вот именно что ты их в транзакцию объединяешь и файлы за ними чистишь за их пределами

бизнес логика получается размазанной

Антон
01.12.2016
10:22:44
если у тебя органайзер за всеми подчищает - таже самая ситуация

Alex
01.12.2016
10:23:00
он не подчищает

он у каждого интерактора спрашивает умеет ли он за собой подчищать

и если умеет то запускает

Alex
01.12.2016
10:23:41
Это я про твой кейс писал

Антон
01.12.2016
10:23:52
и если умеет то запускает
тоесть размазанная логика

Alex
01.12.2016
10:24:08
т.е твой кейс, да.

Google
Admin
ERROR: S client not available

Alex
01.12.2016
10:24:22
ты предлагаешь набор интеракторов оборачивать за их пределами и знать что за ними надо подчистить

Антон
01.12.2016
10:24:26
я его так накидал на коленке ensure может быть внутри сервис объекта может быть все что угодно

Alex
01.12.2016
10:25:07
как он может быть внутри сервис объекта?

ты несколько сервис объектов в цепочку объединяешь

Антон
01.12.2016
10:25:27
def process do something ensure clean end

A.process B.process каждый подчистил сам

Alex
01.12.2016
10:26:03
каким образом?

интерактор отработал уже

как он за собой подчистит?

если он не знает что следующий провалился?

Антон
01.12.2016
10:26:21
ensure же

rollback же

Alex
01.12.2016
10:26:33
ensure ты где пишешь?

Антон
01.12.2016
10:26:45
вон же выше написал

он сработает даже если будет exeption

Alex
01.12.2016
10:27:04
Вот смотри

что ты делаешь когда тебе надо два сервис объекта в цепочку объединить?

Антон
01.12.2016
10:27:44
выбери любой вариант, я кучу предложил

Mikhail
01.12.2016
10:27:46
вам надо выйти из цикла)

Google
Alex
01.12.2016
10:27:58
выбери любой вариант, я кучу предложил
кучу? ты ни разху не написал куда ты пишешь свой ensure

Антон
01.12.2016
10:28:29
в транзакицю, в частный метод сервиса куда угодно можно пихать ensure

Alex
01.12.2016
10:28:35
Бля

транзакция у тебя в теле какого метода торчит?

Антон
01.12.2016
10:28:41
в любой блок

Alex
01.12.2016
10:28:58
У тебя ensure внутри интерактора торчит?

Alex
01.12.2016
10:29:13
это где?

Страница 740 из 1684