Class: Jobshop::Order
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Jobshop::Order
- Defined in:
- app/models/jobshop/order.rb
Instance Method Summary collapse
- #add_listener(listener) ⇒ Object
- #notify_listeners(event_name, *args) ⇒ Object
- #notify_on_save ⇒ Object
Instance Method Details
#add_listener(listener) ⇒ Object
22 23 24 |
# File 'app/models/jobshop/order.rb', line 22 def add_listener(listener) (@listeners ||= []) << listener end |
#notify_listeners(event_name, *args) ⇒ Object
26 27 28 29 30 31 32 |
# File 'app/models/jobshop/order.rb', line 26 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_save ⇒ Object
34 35 36 37 |
# File 'app/models/jobshop/order.rb', line 34 def notify_on_save yield notify_listeners(:on_save) end |