Class: Astapor::SerfHandlerProxy
- Inherits:
-
SerfHandler
- Object
- SerfHandler
- Astapor::SerfHandlerProxy
- Defined in:
- lib/astapor.rb
Instance Method Summary collapse
- #get_klass ⇒ Object
-
#initialize ⇒ SerfHandlerProxy
constructor
A new instance of SerfHandlerProxy.
- #register(role, handler) ⇒ Object
- #run ⇒ Object
Constructor Details
#initialize ⇒ SerfHandlerProxy
Returns a new instance of SerfHandlerProxy.
33 34 35 36 |
# File 'lib/astapor.rb', line 33 def initialize super() @handlers = Hash.new end |
Instance Method Details
#get_klass ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# 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) ⇒ Object
38 39 40 |
# File 'lib/astapor.rb', line 38 def register(role, handler) @handlers[role] = handler end |
#run ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# 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 |