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 event.name === cbk.name else cbk.block.call(event) end end end |