Module: Micro::Observers::For::ActiveModel::ClassMethods

Defined in:
lib/micro/observers/for/active_model.rb

Instance Method Summary collapse

Instance Method Details

#notify_observers(*events) ⇒ Object



16
17
18
# File 'lib/micro/observers/for/active_model.rb', line 16

def notify_observers(*events)
  notify_observers!(Event::Names.fetch(events))
end

#notify_observers!(events) ⇒ Object



9
10
11
12
13
14
# File 'lib/micro/observers/for/active_model.rb', line 9

def notify_observers!(events)
  proc do |object|
    object.observers.subject_changed!
    object.observers.send(:broadcast_if_subject_changed, events)
  end
end

#notify_observers_on(*callback_methods) ⇒ Object



20
21
22
23
24
# File 'lib/micro/observers/for/active_model.rb', line 20

def notify_observers_on(*callback_methods)
  Utils::Arrays.fetch_from_args(callback_methods).each do |callback_method|
    self.public_send(callback_method, &notify_observers!([callback_method]))
  end
end