module RequestQueue

Constants

BACKENDS
VERSION

Public Class Methods

enqueue(message) click to toggle source
# File lib/request_queue.rb, line 27
def enqueue(message)
  if queue.nil?
    raise MissingQueueError, 'You need to wrap this call in RequestQueue.process {}'
  end

  queue << message
end
process(backend = :default) { || ... } click to toggle source
# File lib/request_queue.rb, line 35
def process(backend = :default)
  original_queue = self.queue
  self.queue = BACKENDS.fetch(backend).new
  result = yield if block_given?
  queue.process unless queue.nil?
  result
ensure
  self.queue = original_queue
end
queue() click to toggle source
# File lib/request_queue.rb, line 23
def queue
  RequestStore.store[:request_queue]
end
queue=(value) click to toggle source
# File lib/request_queue.rb, line 19
def queue=(value)
  RequestStore.store[:request_queue] = value
end