Method: Volt::ClassEventable::ClassMethods#on
- Defined in:
- lib/volt/reactive/class_eventable.rb
#on(*events, &callback) ⇒ Object
Eventable also provides a static version of on, which allows you to setup on events at the class level. When the event triggers, self will be set to the instance it was triggered on.
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/volt/reactive/class_eventable.rb', line 19 def on(*events, &callback) fail '.on requires an event' if events.size == 0 listener = Listener.new(self, events, callback) self.__listeners__ ||= {} events.each do |event| listeners = self.__listeners__ listeners[event] ||= [] listeners[event] << listener end end |