class Redirus::Cli::Server

Attributes

options[R]

Public Instance Methods

parse(args = ARGV) click to toggle source
# File lib/redirus/cli/server.rb, line 12
def parse(args = ARGV)
  init_options(args)
  validate!
end
run() click to toggle source
# File lib/redirus/cli/server.rb, line 17
def run
  Redirus.config_path = options[:config_path]
  init_sidekiq

  sidekiq_cli = Sidekiq::CLI.instance
  args = queues + [
    '-c', '1',
    '-r', runner_path,
    options[:config_path]
  ]

  sidekiq_cli.parse(args)
  sidekiq_cli.run
end

Private Instance Methods

init_options(args) click to toggle source
# File lib/redirus/cli/server.rb, line 57
def init_options(args)
  opts = parse_options(args)
  opts[:config_path] ||= 'config.yml'

  Redirus.config_path = opts[:config_path]

  @options = opts
end
init_sidekiq() click to toggle source
# File lib/redirus/cli/server.rb, line 34
def init_sidekiq
  Sidekiq.configure_server do |config|
    config.redis = {
      namespace: Redirus.config.namespace,
      url: Redirus.config.redis_url
    }
  end
end
parse_options(args) click to toggle source
# File lib/redirus/cli/server.rb, line 66
def parse_options(args)
  opts = {}

  OptionParser.new do |o|
    o.banner = 'Usage: redirus [options]'

    o.on('-c',
         '--configuration PATH',
         'Yaml redirus configuration path') do |arg|
      opts[:config_path] = arg
    end

    o.on_tail('-h', '--help', 'Show this message') do
      puts o
      exit
    end

    o.on_tail('-v', '--version', 'Show version') do
      puts "Redirus #{Redirus::VERSION}"
      exit
    end
  end.parse!(args)

  opts
end
queues() click to toggle source
# File lib/redirus/cli/server.rb, line 43
def queues
  Redirus.config.queues.inject([]) do |arr, q|
    arr << '-q'
    arr << q
  end
end
runner_path() click to toggle source
# File lib/redirus/cli/server.rb, line 50
def runner_path
  module_path = File.expand_path(File.join(
                  File.dirname(__FILE__), '..', '..'))

  File.join(module_path, 'redirus', 'sidekiq.rb')
end
validate!() click to toggle source
# File lib/redirus/cli/server.rb, line 92
def validate!
  unless File.exist?(options[:config_path])
    puts "ERROR: Configuration file #{options[:config_path]} "\
         'does not exist'
    exit(1)
  end
end