class Dnsign::ConfigLoader

Constants

Config

Public Class Methods

new() click to toggle source
# File lib/dnsign/config_loader.rb, line 9
def initialize
  @config = Config.new
end
parse_and_load(params) click to toggle source
# File lib/dnsign/config_loader.rb, line 42
def self.parse_and_load(params)
  loader = self.new
  config = loader.parse params
  loader.load config.path
end

Public Instance Methods

load(path) click to toggle source
# File lib/dnsign/config_loader.rb, line 32
def load(path)
  config = YAML.load_file path

  # symbolize keys
  config.reduce({}) do |acc, (k,v)|
    acc[k.to_sym] = v
    acc
  end
end
parse(params) click to toggle source
# File lib/dnsign/config_loader.rb, line 13
def parse(params)
  opt_parser = OptionParser.new do |opts|
    opts.banner = "Usage: ruby dyndns.rb [options]"

    opts.on("-cCONFIG", "--config=CONFIG", "Path to config file") do |c|
      @config.path = c
    end

    opts.on("-h", "--help", "Prints this help") do
      puts opts
      exit
    end
  end

  opt_parser.parse! params

  return @config
end