class Superbolt::Router

Attributes

logger[R]
message[R]

Public Class Methods

new(message, logger) click to toggle source
# File lib/superbolt/router.rb, line 5
def initialize(message, logger)
  @message = message
  @logger = logger
end
routes() click to toggle source
# File lib/superbolt/router.rb, line 30
def self.routes
  @routes ||= {} # set this up
end
routes=(r) click to toggle source
# File lib/superbolt/router.rb, line 34
def self.routes=(r)
  @routes = r
end

Public Instance Methods

arguments() click to toggle source
# File lib/superbolt/router.rb, line 14
def arguments
  message['arguments'].symbolize_keys
end
event() click to toggle source
# File lib/superbolt/router.rb, line 10
def event
  message['event']
end
handler_class() click to toggle source
# File lib/superbolt/router.rb, line 18
def handler_class
  self.class.routes[event] && self.class.routes[event].constantize
end
perform() click to toggle source
# File lib/superbolt/router.rb, line 22
def perform
  if handler_class
    handler_class.new(arguments, logger).perform
  else
    logger.warn "No Superbolt route for event: '#{event}'"
  end
end