class DnsOne::DnsOne
Constants
- DEFAULTS
Public Class Methods
new(conf_file: nil)
click to toggle source
# File lib/dns_one.rb, line 40 def initialize conf_file: nil @conf = Global.conf = load_conf(conf_file || DEFAULTS[:conf_file]) end
Public Instance Methods
start()
click to toggle source
# File lib/dns_one.rb, line 44 def start init_loggers chdir Server.new.run end
Private Instance Methods
chdir()
click to toggle source
# File lib/dns_one.rb, line 70 def chdir d = @conf.work_dir FileUtils.mkdir_p d Dir.chdir d rescue => e Global.logger.error e.desc Global.logger.error "Cannot chdir to #{@conf.work_dir}. Will continue in #{Dir.pwd}" end
init_loggers()
click to toggle source
# File lib/dns_one.rb, line 65 def init_loggers Global.logger = Util.init_logger @conf.log_file , Logger::INFO Global.ruby_dns_logger = Util.init_logger @conf.ruby_dns_logger, Logger::WARN end
load_conf(conf_file)
click to toggle source
# File lib/dns_one.rb, line 52 def load_conf conf_file conf = DEFAULTS.clone if File.exists? conf_file conf.merge! YAML.load_file(conf_file).symbolize_keys end Util.hash_to_ostruct_deep conf rescue => e $stderr.puts e.desc $stderr.puts "Error opening conf file #{conf_file}. Aborting." exit 1 end