Class: Queuel::Base::Engine

Inherits:
Object
  • Object
show all
Extended by:
Introspect
Defined in:
lib/queuel/base/engine.rb

Direct Known Subclasses

IronMq::Engine, Null::Engine, SNS::Engine, SQS::Engine

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Introspect

const_with_nesting, module_names

Constructor Details

#initialize(credentials = {}) ⇒ Engine

Returns a new instance of Engine.



13
14
15
16
17
# File 'lib/queuel/base/engine.rb', line 13

def initialize(credentials = {})
  self.credentials = credentials
  self.bucket_name = credentials[:bucket_name]
  self.memoized_queues = {}
end

Class Method Details

.inherited(klass) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/queuel/base/engine.rb', line 5

def self.inherited(klass)
  klass.class_eval do
    def queue_klass
      self.class.const_with_nesting "Queue"
    end
  end
end

Instance Method Details

#queue(which_queue) ⇒ Object



19
20
21
# File 'lib/queuel/base/engine.rb', line 19

def queue(which_queue)
  memoized_queues[which_queue.to_s] ||= queue_klass.new(client, which_queue)
end