motion/reactor/eventable.rb in bubble-wrap-1.5.0 vs motion/reactor/eventable.rb in bubble-wrap-1.6.0.rc1
- old
+ new
@@ -4,17 +4,19 @@
module Eventable
# When `event` is triggered the block will execute
# and be passed the arguments that are passed to
# `trigger`.
- def on(event, &blk)
- __events__[event].push blk
+ def on(event, method = nil, &blk)
+ method_or_block = method ? method : blk
+ __events__[event].push method_or_block
end
# When `event` is triggered, do not call the given
# block any more
- def off(event, &blk)
- __events__[event].delete_if { |b| b == blk }
+ def off(event, method = nil, &blk)
+ method_or_block = method ? method : blk
+ __events__[event].delete_if { |b| b == method_or_block }
blk
end
# Trigger an event
def trigger(event, *args)