Class: Jobshop::Order

Inherits:
ApplicationRecord show all
Defined in:
app/models/jobshop/order.rb

Instance Method Summary collapse

Instance Method Details

#add_listener(listener) ⇒ Object



24
25
26
# File 'app/models/jobshop/order.rb', line 24

def add_listener(listener)
  (@listeners ||= []) << listener
end

#notify_listeners(event_name, *args) ⇒ Object



28
29
30
31
32
33
34
# File 'app/models/jobshop/order.rb', line 28

def notify_listeners(event_name, *args)
  @listeners && @listeners.each do |listener|
    if listener.respond_to?(event_name)
      listener.public_send(event_name, self, *args)
    end
  end
end

#notify_on_saveObject



36
37
38
39
# File 'app/models/jobshop/order.rb', line 36

def notify_on_save
  yield
  notify_listeners(:on_save)
end