class Astapor::SerfHandlerProxy
Public Class Methods
new()
click to toggle source
Calls superclass method
Astapor::SerfHandler::new
# File lib/astapor.rb, line 33 def initialize super() @handlers = Hash.new end
Public Instance Methods
get_klass()
click to toggle source
# File lib/astapor.rb, line 42 def get_klass klass = nil if @handlers.has_key?(@role) klass = @handlers[@role] elsif @handlers.has_key?('default') klass = @handlers['default'] end klass end
register(role, handler)
click to toggle source
# File lib/astapor.rb, line 38 def register(role, handler) @handlers[role] = handler end
run()
click to toggle source
# File lib/astapor.rb, line 53 def run klass = get_klass if klass.nil? @logger.info("no handler for role #{@role}") else begin method_object = klass.method(@event.to_sym) method_object.call rescue NameError => e @logger.info("event #{@event} not implemented by #{klass.class.name} class") end end end