Method: Hallon::Observable#on

Defined in:
lib/hallon/observable.rb

#on(event) {|*args| ... } ⇒ Proc

Defines a handler for the given event.

Parameters:

  • event (#to_s)

    name of event to handle

Yields:

  • (*args)

    event handler block

Returns:

  • (Proc)

    the previous handler

Raises:

  • (ArgumentError)


70
71
72
73
74
75
# File 'lib/hallon/observable.rb', line 70

def on(event, &block)
  event &&= event.to_s
  raise ArgumentError, "no block given" unless block
  raise NameError, "no such callback: #{event}" unless has_callback?(event)
  handlers[event].tap { handlers[event] = block }
end