Sha256: 9010b8a204c99a944dfcfed9145e6e090372f634b252b1d18657090f9bdbe582
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
require 'aptly_cli/version' require 'yaml' require 'logger' module AptlyCli # Load aptly-cli configuration class AptlyLoad def config @config end def initialize @log = Logger.new(STDOUT) @log.level = Logger::WARN # Configuration defaults @config = { proto: 'http', server: '127.0.0.1', port: 8082 } @valid_config_keys = @config.keys + [:username, :password, :debug] end # Configure through hash def configure(opts = {}) opts.each do |k, v| config[k.to_sym] = v if @valid_config_keys.include? k.to_sym end @config end # Configure through yaml file def configure_with(path_to_yaml_file) begin config = YAML.load(IO.read(path_to_yaml_file)) rescue Errno::ENOENT @log.warn( "YAML configuration file couldn\'t be found at " \ "#{path_to_yaml_file}. Using defaults.") return @config rescue Psych::SyntaxError @log.warn( 'YAML configuration file contains invalid syntax. Using defaults.') return @config end configure(config) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
aptly_cli-0.3.3 | lib/aptly_load.rb |
aptly_cli-0.3.2 | lib/aptly_load.rb |
aptly_cli-0.3.1 | lib/aptly_load.rb |
aptly_cli-0.3.0 | lib/aptly_load.rb |