module Barbeque::Message
Public Class Methods
parse(raw_message)
click to toggle source
@param [Aws::SQS::Types::Message] raw_message @return [Barbeque::Message::Base]
# File lib/barbeque/message.rb, line 13 def parse(raw_message) body = JSON.parse(raw_message.body) klass = find_class(body['Type']) klass.new(raw_message, body) rescue JSON::ParserError => e ExceptionHandler.handle_exception(e) InvalidMessage.new(raw_message, {}) end
Private Class Methods
find_class(type)
click to toggle source
# File lib/barbeque/message.rb, line 24 def find_class(type) Message.const_get(type, false) rescue NameError => e ExceptionHandler.handle_exception(e) InvalidMessage end