class Jobi::Configuration

Attributes

act_as_consumer[RW]
act_as_publisher[RW]
client[R]
jobs[RW]
log_file[RW]
log_level[W]
logger[R]
rabbitmq_config[R]

Public Class Methods

new() click to toggle source
# File lib/jobi/configuration.rb, line 7
def initialize
  setup_client
  setup_log_config
  setup_logger
  setup_pub_sub_config
  setup_jobs
  rabbitmq
end

Public Instance Methods

log_level() click to toggle source
# File lib/jobi/configuration.rb, line 16
def log_level
  case @log_level
  when :info
    Logger::INFO
  when :warn
    Logger::WARN
  when :debug
    Logger::DEBUG
  end
end
rabbitmq(options = {}) click to toggle source
# File lib/jobi/configuration.rb, line 27
def rabbitmq(options = {})
  @rabbitmq_config ||= Jobi::Config::Rabbitmq.new
  @client = :rabbitmq

  options.keys.each do |key|
    @rabbitmq_config.send("#{key}=", options[key])
  end
end
setup_logger() click to toggle source
# File lib/jobi/configuration.rb, line 36
def setup_logger
  @logger = if @log_file
              Logger.new(@log_file)
            else
              Logger.new(STDOUT)
            end

  @logger.level = @log_level
end

Private Instance Methods

setup_client() click to toggle source
# File lib/jobi/configuration.rb, line 53
def setup_client
  @client = :rabbitmq
end
setup_jobs() click to toggle source
# File lib/jobi/configuration.rb, line 62
def setup_jobs
  @jobs = []
end
setup_log_config() click to toggle source
# File lib/jobi/configuration.rb, line 48
def setup_log_config
  @log_level = :info
  @log_file = nil
end
setup_pub_sub_config() click to toggle source
# File lib/jobi/configuration.rb, line 57
def setup_pub_sub_config
  @act_as_publisher = true
  @act_as_consumer = true
end