module Q

Constants

DEFAULT_QUEUE
FALSEY_HASH
Method
VERSION

Public Class Methods

env() click to toggle source
# File lib/q.rb, line 28
def self.env
  name = queue.to_s.split("::").last
  @env ||= Q.underscore(name)

  OpenStruct.new(FALSEY_HASH.merge("#{@env}?" => true))
end
module_from_klass_name(name) click to toggle source
# File lib/q.rb, line 40
def self.module_from_klass_name(name)
  unless defined?(Q::Methods.const_get(name))
    require "q/methods/#{name}"
  end
  return Q::Methods.const_get(name)
rescue LoadError => e
  raise LoadError, "Could not find queue: #{name}, expected to be defined in q/methods/#{name}\n" + e.message
rescue NameError => e
  raise NameError, "Could not load queue: #{name}, expected to be defined in q/methods/#{name}\n" + e.message
end
module_from_queue_name(queue_name) click to toggle source
# File lib/q.rb, line 51
def self.module_from_queue_name(queue_name)
  module_from_klass_name(camelize(queue_name))
end
queue() click to toggle source
# File lib/q.rb, line 20
def self.queue
  @queue_method || DEFAULT_QUEUE.call
end
queue=(queue) click to toggle source
# File lib/q.rb, line 66
def self.queue=(queue)
  if queue.is_a?(Module)
    @queue_method = queue
  else
    @env = queue
    @queue_method = queue_lookup[queue].call
  end
end
queue_config() { |config_class| ... } click to toggle source
# File lib/q.rb, line 75
def self.queue_config(&block)
  @config_class ||= queue::QueueConfig.call
  yield @config_class if block_given?
  @config_class
end
queue_lookup() click to toggle source
# File lib/q.rb, line 55
def self.queue_lookup
  @queue_lookup ||= Hash.new do |hash, key|
    hash[key] = -> {
      require "q/methods/#{key}"
      const = Q.camelize(key)
      ::Q::Methods.const_get(const)
    }
  end
  @queue_lookup
end
reset_queue!() click to toggle source
# File lib/q.rb, line 35
def self.reset_queue!
  @queue_method = nil
  @env          = nil
end
setup() { |self| ... } click to toggle source
# File lib/q.rb, line 24
def self.setup(&block)
  yield self
end