class SerfHandlerProxy
Proxy for handling serf event
Public Class Methods
new(log_file = nil)
click to toggle source
Calls superclass method
SerfHandler::new
# File lib/serf_handler.rb, line 63 def initialize(log_file = nil) super(log_file) @handlers = {} end
Public Instance Methods
good_handler()
click to toggle source
# File lib/serf_handler.rb, line 72 def good_handler handler = nil if @handlers.include?(@role) handler = @handlers[@role] elsif @handlers.include?('default') handler = @handlers['default'] end handler end
register(role, handler)
click to toggle source
# File lib/serf_handler.rb, line 68 def register(role, handler) @handlers[role] = handler end
run()
click to toggle source
# File lib/serf_handler.rb, line 82 def run if (the_handler = good_handler) begin the_handler.send @event rescue NoMethodError warn "#{@event} event not implemented by class" end else info 'no handler for role' end end