From 1ba0621e028ce92af7899c06c65c5d768c40dbeb Mon Sep 17 00:00:00 2001 From: Colin Shield Date: Fri, 19 Oct 2012 13:50:59 -0700 Subject: [PATCH] pass the yml file through erb first --- lib/sidekiq/cli.rb | 3 ++- test/config.yml | 2 +- test/test_cli.rb | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/sidekiq/cli.rb b/lib/sidekiq/cli.rb index ff6b4f6f..1dfdfff8 100644 --- a/lib/sidekiq/cli.rb +++ b/lib/sidekiq/cli.rb @@ -32,6 +32,7 @@ require 'yaml' require 'singleton' require 'optparse' require 'celluloid' +require 'erb' require 'sidekiq' require 'sidekiq/util' @@ -208,7 +209,7 @@ module Sidekiq def parse_config(cli) opts = {} if cli[:config_file] && File.exist?(cli[:config_file]) - opts = YAML.load_file cli[:config_file] + opts = YAML.load(ERB.new(IO.read(cli[:config_file])).result) queues = opts.delete(:queues) || [] queues.each { |name, weight| parse_queues(opts, name, weight) } end diff --git a/test/config.yml b/test/config.yml index 736e6fa5..9c3b3122 100644 --- a/test/config.yml +++ b/test/config.yml @@ -5,5 +5,5 @@ :pidfile: /tmp/sidekiq-config-test.pid :concurrency: 50 :queues: - - [often, 2] + - [<%="very_"%>often, 2] - [seldom, 1] diff --git a/test/test_cli.rb b/test/test_cli.rb index 325b8753..6c27002e 100644 --- a/test/test_cli.rb +++ b/test/test_cli.rb @@ -130,7 +130,7 @@ class TestCli < MiniTest::Unit::TestCase end it 'sets queues' do - assert_equal 2, Sidekiq.options[:queues].count { |q| q == 'often' } + assert_equal 2, Sidekiq.options[:queues].count { |q| q == 'very_often' } assert_equal 1, Sidekiq.options[:queues].count { |q| q == 'seldom' } end end