Module: RequestQueue
- Defined in:
- lib/request_queue.rb,
lib/request_queue/queue.rb,
lib/request_queue/railtie.rb,
lib/request_queue/version.rb,
lib/request_queue/fake_queue.rb,
lib/request_queue/middleware.rb,
lib/request_queue/inline_queue.rb
Defined Under Namespace
Classes: FakeQueue, InlineQueue, Middleware, MissingQueueError, Queue, Railtie
Constant Summary
collapse
- BACKENDS =
{
inline: RequestQueue::InlineQueue,
fake: RequestQueue::FakeQueue,
default: RequestQueue::Queue
}
- VERSION =
'0.3.0'
Class Method Summary
collapse
Class Method Details
.enqueue(message) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/request_queue.rb', line 28
def enqueue(message)
if queue.nil?
raise MissingQueueError, 'You need to wrap this call in RequestQueue.process {}'
end
queue << message
end
|
.process(backend = :default) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/request_queue.rb', line 36
def process(backend = :default)
restore do
self.queue = BACKENDS.fetch(backend).new
yield if block_given?
queue.process
end
end
|
.queue ⇒ Object
24
25
26
|
# File 'lib/request_queue.rb', line 24
def queue
RequestStore.store[:request_queue]
end
|
.queue=(value) ⇒ Object
20
21
22
|
# File 'lib/request_queue.rb', line 20
def queue=(value)
RequestStore.store[:request_queue] = value
end
|