Size: a a a

2016 June 27

MS

Mikhail Sytchev in Rubyata
https://codebrahma.com/observers-in-rails/ Обзерверы в рельсах
источник

RS

Rustam Sharshenov in Rubyata
def after_save(appl)
   if status_changed?
     ApplicationMailer.closed_notification(appl)  if appl.closed?
     ApplicationMailer.open_notification(appl)  if appl.open?
     ApplicationMailer.pending_notification(appl)  if appl.pending?
   end
 end
источник

RS

Rustam Sharshenov in Rubyata
источник

RS

Rustam Sharshenov in Rubyata
для кейса в статье гораздо лучше бы лег aasm, чем обзерверы
источник

MS

Mikhail Sytchev in Rubyata
анальный ассемблер?
источник

RS

Rustam Sharshenov in Rubyata
источник

RS

Rustam Sharshenov in Rubyata
запаковать в модуль с ActiveSupport::Concern
источник

MS

Mikhail Sytchev in Rubyata
Зависимость ради 3-х кейсов тащить?
источник

NK

ID:100873682 in Rubyata
А, теперь этот гем моден для реализации стейт-машин
источник

RS

Rustam Sharshenov in Rubyata
вообще-то, обзерверы из рельсов выпилили давно
источник

MS

Mikhail Sytchev in Rubyata
обзервер — это паттерн
источник

RS

Rustam Sharshenov in Rubyata
state machine - тоже
источник

MS

Mikhail Sytchev in Rubyata
Есть удобная реализация этого паттерна через rails-observers
источник

RS

Rustam Sharshenov in Rubyata
Я и сам, временами, использую обзерверы. Но, по сути, у них два применения - выполнить код на колбеки на уровне моделей и cache sweepers.

Для первого - перешел на консерны. Теперь модулями раскидываю.
Для второго - юзаю redis с setex

Удобство с обзерверами в том, что их можно удобно отключить в тестах, например.
источник

MS

Mikhail Sytchev in Rubyata
Позвольте не согласиться, уважаемый
источник

MS

Mikhail Sytchev in Rubyata
У обзерверов неограниченное множество применений
источник

MS

Mikhail Sytchev in Rubyata
Просто волей случая вы использовали их только в двух случаях
источник

RS

Rustam Sharshenov in Rubyata
источник

RS

Rustam Sharshenov in Rubyata
This gem contains two observers:

Active Record Observer
Action Controller Sweeper
источник

MS

Mikhail Sytchev in Rubyata
Active Record Observer -- подразумевает что ты любой колбек соорудить можешь
источник