module Icalia::Event::Subscriber

Public Instance Methods

perform(message) click to toggle source
# File lib/icalia/event/subscriber.rb, line 19
def perform(message)
  raw_data = MessagePack.unpack(message.data)
  event = Icalia::Deserializer.new(raw_data).perform
  event_class_name = event.class.name.demodulize

  if (processor_class = processor_map[event_class_name])
    (processor = processor_class.new(event, message.attributes)).perform
  else
    logger.info "There's no mapped processor for #{event_class_name}"
  end
  
  message.acknowledge!
end