Sha256: 8414ad3c350bf656c866059812ce7f8c2fbefe039b4d8c93700d0b3de0997c52
Contents?: true
Size: 1.09 KB
Versions: 4
Compression:
Stored size: 1.09 KB
Contents
require 'extlib' module NexusCli module Configuration DEFAULT_FILE = "~/.nexus_cli".freeze class << self attr_writer :path # The filepath to the nexus cli configuration file # # @return [String] def path @path || File.expand_path(ENV['NEXUS_CONFIG'] || DEFAULT_FILE) end # @param [Hash] overrides # # @return [Hash] def parse(overrides = {}) config = File.exists?(self.path) ? YAML::load_file(self.path) : Hash.new if config.nil? && (overrides.nil? || overrides.empty?) raise MissingSettingsFileException end unless overrides.nil? || overrides.empty? overrides.each { |key, value| config[key] = value } end validate_config(config) config["repository"] = config["repository"].gsub(" ", "_").downcase config end def validate_config(configuration) ["url", "repository", "username", "password"].each do |key| raise InvalidSettingsException.new(key) if configuration[key].blank? end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems