Module: Emitter
- Included in:
- ScClient
- Defined in:
- lib/socketclusterclient/emitter.rb
Overview
Module Emitter provides interface to execute events and acknowledgments
Instance Method Summary collapse
-
#execute(key, object) ⇒ Object
Executes a handler for a particular event.
-
#executeack(key, object, ack) ⇒ Object
Executes a handler and an acknowledgment for a particular event.
-
#haseventack(key) ⇒ Object
Checks acknowledgment for an event.
-
#initialize_emitter ⇒ Object
Initiarizes events and acks in emitter.
-
#on(key, function) ⇒ Object
Adds a handler for a particular event.
-
#onack(key, function) ⇒ Object
Adds an acknowledgment handler for a particular event.
-
#onchannel(key, function) ⇒ Object
Adds a handler for a particular channel event.
Instance Method Details
#execute(key, object) ⇒ Object
Executes a handler for a particular event
62 63 64 65 |
# File 'lib/socketclusterclient/emitter.rb', line 62 def execute(key, object) function = @events[key] if @events.key?(key) function.call(key, object) if function end |
#executeack(key, object, ack) ⇒ Object
Executes a handler and an acknowledgment for a particular event
87 88 89 90 |
# File 'lib/socketclusterclient/emitter.rb', line 87 def executeack(key, object, ack) function = @events_ack[key] if @events_ack.key?(key) function.call(key, object, ack) if function end |
#haseventack(key) ⇒ Object
Checks acknowledgment for an event
74 75 76 |
# File 'lib/socketclusterclient/emitter.rb', line 74 def haseventack(key) @events_ack[key] end |
#initialize_emitter ⇒ Object
Initiarizes events and acks in emitter
13 14 15 16 |
# File 'lib/socketclusterclient/emitter.rb', line 13 def initialize_emitter @events = {} @events_ack = {} end |
#on(key, function) ⇒ Object
Adds a handler for a particular event
26 27 28 |
# File 'lib/socketclusterclient/emitter.rb', line 26 def on(key, function) @events[key] = function end |
#onack(key, function) ⇒ Object
Adds an acknowledgment handler for a particular event
50 51 52 |
# File 'lib/socketclusterclient/emitter.rb', line 50 def onack(key, function) @events_ack[key] = function end |
#onchannel(key, function) ⇒ Object
Adds a handler for a particular channel event
38 39 40 |
# File 'lib/socketclusterclient/emitter.rb', line 38 def onchannel(key, function) @events[key] = function end |