Pull to refresh
Comments 8
Шикарно!
Был бы очень полезен пост-дайджест по составу AS, чтобы не писать велосипеды и вообще далеко не ходить. Там ещё куча всего интересного.
Да там много чего, но все подробно описать одного поста не хватит.
И все это можно использовать не только в Rails, просто подключаешь гем activesupport
Pub/Sub на все приложение конечно хорошо, но боюсь, что использование таких с виду интересных инструментов, может подтолкнуть к написанию очень рваного кода. Callbacks вообще трудно отлаживать, и использовать, так как исполнение кода нелинейно, но рельсы предоставили Observer и callbacks внутри моделей для того, чтобы сделать такой код более менее понимаемым.

Хотя наверное, в других приложениях на Ruby такие штуки можно будет использовать (=
Конечно, не нужно сразу бросаться все переписывать на pub/sub. Но знать и понимать эти инструменты необходимо.
Да. Знать необходимо, и за статью вам спасибо. Много раз в доках бегал мимо Notifications, а оно оказалось весьма полезным Pub/Sub. (=
Возможно в benchmark_it стоит добавить проверку на текущее окружение? Ведь код бенчмарка не нужен на продакшене и при автоматическом тестировании.
Да, вы правы. Но я не писал рабочий код для продакшена, я писал это, исключительно, как иллюстрацию к статье. Метод benchmark_it стоит вынести в отдельный класс, туда же и подписчика и много чего можно улучшить.

А, вообще, лучший пример — это код самих рельс в данном случае. Наверное надо было его использовать, но сначало показалось это глупым, так как код рельс и так многие посмотрят после прочтения статьи. Поэтому написал пример сам, но сложно придумать задачу под какой-то паттерн, проще как-то паттерн подобрать к задаче.
Only those users with full accounts are able to leave comments. Log in, please.