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