Sha256: 861cdeef9f5c6359c9ea8a0f223b9bf3155fa4d624ebac952054708ff017dc8c

Contents?: true

Size: 699 Bytes

Versions: 3

Compression:

Stored size: 699 Bytes

Contents

# frozen_string_literal: true

require "lamian"

require "rabbit"
require "rabbit/receiving"
require "rabbit/receiving/message"
require "rabbit/receiving/handler_resolver"
require "rabbit/receiving/malformed_message"

class Rabbit::Receiving::Job < ActiveJob::Base
  def perform(message, arguments)
    Lamian.run do
      begin
        message = Rabbit::Receiving::Message.build(message, arguments)
        handler = Rabbit::Receiving::HandlerResolver.handler_for(message)
        handler.new(message).call
      rescue Rabbit::Receiving::MalformedMessage => error
        raise if Rabbit.config.environment == :test
        Rabbit.config.exception_notifier.call(error)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rabbit_messaging-0.7.1 lib/rabbit/receiving/job.rb
rabbit_messaging-0.7.0 lib/rabbit/receiving/job.rb
rabbit_messaging-0.6.0 lib/rabbit/receiving/job.rb