lib/emittance/watcher.rb in emittance-0.0.2 vs lib/emittance/watcher.rb in emittance-0.0.3
- old
+ new
@@ -1,8 +1,20 @@
# frozen_string_literal: true
module Emittance
+ ##
+ # Can watch for events that propagate through the system.
+ #
module Watcher
+ # Watch for an event, identified by its class' identifier. If a callback method is provided, then it will call that
+ # method on the caller of +watch+ when the event happens. Otherwise, it will run the callback block.
+ #
+ # @param identifier [Symbol] the event's identifier
+ # @param callback_method [Symbol] one option for adding a callback--the method on the object to call when the
+ # event fires
+ # @param callback [Block] the other option for adding a callback--the block you wish to be executed when the event
+ # fires
+ # @return [Proc] the block that will run when the event fires
def watch(identifier, callback_method = nil, &callback)
if callback_method
Emittance::Dispatcher.register_method_call identifier, self, callback_method
else
Emittance::Dispatcher.register identifier, &callback