Sha256: 195e563bf2ebcff3fe2b71f92c94c1cc6e6e93dd3fc2def6dd9622671b8efea0

Contents?: true

Size: 524 Bytes

Versions: 8

Compression:

Stored size: 524 Bytes

Contents

module QueueBus
  class Worker

    def self.perform(json)
      klass = nil
      attributes = ::QueueBus::Util.decode(json)
      begin
        class_name = attributes["bus_class_proxy"]
        klass = ::QueueBus::Util.constantize(class_name)
      rescue NameError
        # not there anymore
        return
      end

      klass.perform(attributes)
    end

    # all our workers include this one
    def perform(json)
      # instance method level support for sidekiq
      self.class.perform(json)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
queue-bus-0.5.9 lib/queue_bus/worker.rb
queue-bus-0.5.8 lib/queue_bus/worker.rb
queue-bus-0.5.7 lib/queue_bus/worker.rb
queue-bus-0.5.6 lib/queue_bus/worker.rb
queue-bus-0.5.5 lib/queue_bus/worker.rb
queue-bus-0.5.4 lib/queue_bus/worker.rb
queue-bus-0.5.3 lib/queue_bus/worker.rb
queue-bus-0.5.2 lib/queue_bus/worker.rb