module Queuel

Constants

NoQueueGivenError
VERSION

Public Class Methods

client() click to toggle source
# File lib/queuel.rb, line 64
def self.client
  Client.new engine, credentials
end
config() click to toggle source
# File lib/queuel.rb, line 60
def self.config
  @config ||= Configurator.new
end
configure(&block) click to toggle source
# File lib/queuel.rb, line 56
def self.configure(&block)
  config.instance_eval &block
end
engine() click to toggle source
# File lib/queuel.rb, line 50
def self.engine
  requires
  warn_engine_selection
  const_with_nesting engine_const_name
end
logger() click to toggle source
# File lib/queuel.rb, line 68
def self.logger
  config.logger.tap { |log|
    log.level = config.log_level
  }
end

Private Class Methods

configured_engine_name() click to toggle source
# File lib/queuel.rb, line 84
def self.configured_engine_name
  engine_config[:const]
end
engine_config() click to toggle source
# File lib/queuel.rb, line 80
def self.engine_config
  engines.fetch(config.engine) { engines[:null] }
end
engine_const_name() click to toggle source
# File lib/queuel.rb, line 110
def self.engine_const_name
  "Queuel::#{configured_engine_name}::Engine"
end
engines() click to toggle source
# File lib/queuel.rb, line 88
def self.engines
  {
    iron_mq: {
      require: 'iron_mq',
      const: "IronMq",
      message: "Using IronMQ"
    },
    sqs: {
      const: "SQS",
      message: "Using Amazon SQS"
    },
    null: {
      const: "Null",
      message: "Using Null Engine, for compatability."
    }
  }
end
requires() click to toggle source
# File lib/queuel.rb, line 106
def self.requires
  require engine_config[:require] if engine_config[:require]
end
warn_engine_selection() click to toggle source
# File lib/queuel.rb, line 76
def self.warn_engine_selection
  @warned_null_engine ||= logger.warn(engine_config[:message])
end