class Queuel::Base::Engine

Attributes

bucket_name[RW]
credentials[RW]
memoized_queues[RW]

Public Class Methods

inherited(klass) click to toggle source
# 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
new(credentials = {}) click to toggle source
# File lib/queuel/base/engine.rb, line 13
def initialize(credentials = {})
  self.credentials = credentials
  self.bucket_name = credentials[:bucket_name]
  self.memoized_queues = {}
end

Public Instance Methods

queue(which_queue) click to toggle source
# 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
queue_klass() click to toggle source
# File lib/queuel/base/engine.rb, line 7
def queue_klass
  self.class.const_with_nesting "Queue"
end

Private Instance Methods

client() click to toggle source
# File lib/queuel/base/engine.rb, line 28
def client
  @client ||= client_klass.new credentials
end
client_klass() click to toggle source
# File lib/queuel/base/engine.rb, line 32
def client_klass
  raise NotImplementedError, "Must define a Queue class"
end