Module: Serfx::Utils::Handler
- Defined in:
- lib/serfx/utils/handler.rb
Overview
helper module to for serf custom handlers
serf agents can be configured to invoke an executable script when an user event is received.
[Serfx::Utils::Handler] module provides a set of helper methods to ease writing ruby based serf event handlers
For example, following script will respond to any qury event named 'upcase' and return the uppercase version of the original query event's payload
Defined Under Namespace
Classes: SerfCallback, SerfEvent
Instance Method Summary collapse
-
#on(type, name = nil, &block) ⇒ Object
register a callback against an event.
-
#run ⇒ Object
execute callbacks registerd using
on.
Instance Method Details
#on(type, name = nil, &block) ⇒ Object
register a callback against an event
62 63 64 65 |
# File 'lib/serfx/utils/handler.rb', line 62 def on(type, name = nil, &block) callbacks[type] << SerfCallback.new(name, block) nil end |
#run ⇒ Object
execute callbacks registerd using on
68 69 70 71 72 73 74 75 76 77 |
# File 'lib/serfx/utils/handler.rb', line 68 def run event = SerfEvent.new callbacks[event.type.downcase.to_sym].each do |cbk| if cbk.name cbk.block.call(event) if cbk.name === event.name else cbk.block.call(event) end end end |