Module: Scruber::Queue

Defined in:
lib/scruber/queue.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.adapterObject



10
11
12
13
14
15
16
# File 'lib/scruber/queue.rb', line 10

def adapter
  unless @adapter
    @adapter = ::Scruber.configuration.queue_adapter || _adapters.keys.first
  end
  raise Scruber::ArgumentError.new("Adapter not found") unless @adapter
  _adapters[@adapter]
end

Class Method Details

.[](label) ⇒ Object



25
26
27
# File 'lib/scruber/queue.rb', line 25

def [](label)
  _adapters[label]
end

._adaptersObject



29
30
31
# File 'lib/scruber/queue.rb', line 29

def _adapters
  @_adapters ||= {}
end

.add_adapter(label, claz) ⇒ Object



18
19
20
21
22
23
# File 'lib/scruber/queue.rb', line 18

def add_adapter(label, claz)
  unless claz.method_defined?(:add)
    raise NoMethodError, "add is not declared in the #{label.inspect}"
  end
  _adapters[label] = claz
end

.new(options = {}) ⇒ Object



6
7
8
# File 'lib/scruber/queue.rb', line 6

def new(options={})
  adapter.new(::Scruber.configuration.queue_options.merge(options))
end