class NexusCli::Configuration
Constants
- DEFAULT_FILE
Attributes
password[RW]
repository[RW]
url[RW]
username[RW]
Public Class Methods
file_path()
click to toggle source
The filepath to the nexus cli configuration file
@return [String]
# File lib/nexus_cli/configuration.rb, line 11 def file_path File.expand_path(ENV['NEXUS_CONFIG'] || File.expand_path(DEFAULT_FILE)) end
from_file()
click to toggle source
Creates a new instance of the Configuration
object from the config file
@return [NexusCli::Configuration]
# File lib/nexus_cli/configuration.rb, line 32 def from_file config = load_config raise MissingSettingsFileException unless config new(config) end
from_overrides(overrides)
click to toggle source
Creates a new instance of the Configuration
object based on some overrides
@param [Hash] overrides
@return [NexusCli::Configuration]
# File lib/nexus_cli/configuration.rb, line 20 def from_overrides(overrides) raise MissingSettingsFileException unless overrides configuration = load_config || Hash.new configuration.merge!(overrides) new(configuration) end
new(options)
click to toggle source
# File lib/nexus_cli/configuration.rb, line 84 def initialize(options) @url = options[:url] || options['url'] @repository = options[:repository] || options['repository'] @username = options[:username] || options['username'] @password = options[:password] || options['password'] if @repository.is_a?(String) @repository = @repository.gsub(' ', '_') end end
validate!(config)
click to toggle source
Validates an instance of the Configuration
object and raises when there is an error with it
@param config [NexusCli::Configuration]
@raise [NexusCli::InvalidSettingsException]
# File lib/nexus_cli/configuration.rb, line 44 def validate!(config) unless config.valid? raise InvalidSettingsException.new(config.errors) end end
Private Class Methods
load_config()
click to toggle source
Loads the config file
@return [Hash]
# File lib/nexus_cli/configuration.rb, line 55 def load_config begin config = YAML.load_file(file_path) rescue Errno::ENOENT nil end end
Public Instance Methods
[](attr)
click to toggle source
# File lib/nexus_cli/configuration.rb, line 95 def [](attr) self.instance_variable_get('@' + attr.to_s) end
[]=(attr, value)
click to toggle source
# File lib/nexus_cli/configuration.rb, line 99 def []=(attr, value) self.instance_variable_set('@' + attr.to_s, value) if @repository.is_a?(String) @repository = @repository.gsub(' ', '_') end end
errors()
click to toggle source
# File lib/nexus_cli/configuration.rb, line 72 def errors result = Hash.new result[:url] = ["url required"] unless url.is_a?(String) && url.size > 0 result[:repository] = ["repository required"] unless repository.is_a?(String) && repository.size > 0 result end
valid?()
click to toggle source
# File lib/nexus_cli/configuration.rb, line 68 def valid? errors.empty? end
validate!()
click to toggle source
# File lib/nexus_cli/configuration.rb, line 64 def validate! self.class.validate!(self) end