From 5c0738a7e5b0b76ca92759c267ce6e70499f9aed Mon Sep 17 00:00:00 2001 From: dan sinclair Date: Sun, 20 Mar 2011 22:47:16 -0400 Subject: [PATCH] allow specifing config file on the command line --- lib/goliath/runner.rb | 1 + lib/goliath/server.rb | 9 +++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/goliath/runner.rb b/lib/goliath/runner.rb index 092034bb..09d9f793 100644 --- a/lib/goliath/runner.rb +++ b/lib/goliath/runner.rb @@ -106,6 +106,7 @@ def options_parser opts.on('-l', '--log FILE', "Log to file (default: off)") { |file| @options[:log_file] = file } opts.on('-s', '--stdout', "Log to stdout (default: #{@options[:log_stdout]})") { |v| @options[:log_stdout] = v } + opts.on('-c', '--config FILE', "Config file (default: ./config/.rb)") { |v| @options[:config] = v } opts.on('-P', '--pid FILE', "Pid file (default: off)") { |file| @options[:pid_file] = file } opts.on('-d', '--daemonize', "Run daemonized in the background (default: #{@options[:daemonize]})") { |v| @options[:daemonize] = v } opts.on('-v', '--verbose', "Enable verbose logging (default: #{@options[:verbose]})") { |v| @options[:verbose] = v } diff --git a/lib/goliath/server.rb b/lib/goliath/server.rb index e4020bc1..5e232be9 100644 --- a/lib/goliath/server.rb +++ b/lib/goliath/server.rb @@ -75,7 +75,7 @@ def start EM.epoll - load_config + load_config(options[:config]) load_plugins EM.set_effective_user(options[:user]) if options[:user] @@ -109,11 +109,8 @@ def load_config(file = nil) # # @return [String] THe full path to the config directory def config_dir - if Goliath.test? - "#{File.expand_path(ENV['PWD'])}/config" - else - File.expand_path('./config') - end + dir = options[:config] ? File.dirname(options[:config]) : './config' + File.expand_path(dir) end # Import callback for configuration files