Class: Mantle::MessageRouter

Inherits:
Object
  • Object
show all
Defined in:
lib/mantle/message_router.rb

Instance Method Summary collapse

Constructor Details

#initialize(channel, message) ⇒ MessageRouter

Returns a new instance of MessageRouter.



3
4
5
# File 'lib/mantle/message_router.rb', line 3

def initialize(channel, message)
  @channel, @message = channel, message
end

Instance Method Details

#routeObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/mantle/message_router.rb', line 7

def route
  return unless @message

  Mantle.logger.debug("Routing message for #{@channel}")
  Mantle.logger.debug("Message: #{@message}")

  begin
    Mantle::Workers::ProcessWorker.perform_async(@channel, @message)
  rescue => e
    msg = "Unable to process Mantle message\n"
    msg += "#{e.class} #{e}\n"
    msg += "#{e.backtrace.nil? ? '' : e.backtrace.join("\n")}\n"
    msg += "Channel => #{@channel}\n"
    msg += "Message => #{@message}\n"
    Mantle.logger.error msg
  end
end