class Superbolt::Processor

Attributes

block[R]
exception[RW]
logger[R]
message[R]
start_time[RW]

Public Class Methods

new(message, logger, &block) click to toggle source
# File lib/superbolt/processor.rb, line 6
def initialize(message, logger, &block)
  @message = message
  @logger = logger
  @block = block
end

Public Instance Methods

finish!() click to toggle source
# File lib/superbolt/processor.rb, line 28
def finish!
  end_time = Time.now
  logger.info "[#{end_time}] Finished message: #{message.parse} in #{end_time - start_time} seconds"
end
perform() click to toggle source
# File lib/superbolt/processor.rb, line 12
def perform
  start!
  block.call(message.parse, logger)
  finish!
  true
rescue Exception => e
  self.exception = e
  logger.error("#{e.message}\n#{e.backtrace}")
  false
end
start!() click to toggle source
# File lib/superbolt/processor.rb, line 23
def start!
  self.start_time = Time.now
  logger.info "[#{start_time}] Processing message: #{message.parse}"
end