class R10K::Action::Runner
Public Class Methods
new(opts, argv, klass)
click to toggle source
# File lib/r10k/action/runner.rb, line 11 def initialize(opts, argv, klass) @opts = opts @argv = argv @klass = klass @settings = {} end
Public Instance Methods
call()
click to toggle source
# File lib/r10k/action/runner.rb, line 28 def call setup_logging setup_settings # @todo check arguments setup_authorization instance.call end
instance()
click to toggle source
# File lib/r10k/action/runner.rb, line 19 def instance if @_instance.nil? iopts = @opts.dup iopts.delete(:loglevel) @_instance = @klass.new(iopts, @argv, @settings) end @_instance end
setup_logging()
click to toggle source
# File lib/r10k/action/runner.rb, line 36 def setup_logging if @opts.key?(:loglevel) R10K::Logging.level = @opts[:loglevel] end end
setup_settings()
click to toggle source
# File lib/r10k/action/runner.rb, line 42 def setup_settings config_settings = settings_from_config(@opts[:config]) overrides = {:cachedir => @opts[:cachedir]} overrides.delete_if { |_, val| val.nil? } with_overrides = config_settings.merge(overrides) do |key, oldval, newval| logger.debug2 "Overriding config file setting '#{key}': '#{oldval}' -> '#{newval}'" newval end @settings = R10K::Settings.global_settings.evaluate(with_overrides) R10K::Initializers::GlobalInitializer.new(@settings).call rescue R10K::Settings::Collection::ValidationError => e logger.error e.format exit(8) end
Private Instance Methods
settings_from_config(override_path)
click to toggle source
# File lib/r10k/action/runner.rb, line 75 def settings_from_config(override_path) loader = R10K::Settings::Loader.new path = loader.search(override_path) results = {} if path @opts[:config] = path logger.debug2 "Reading configuration from #{path.inspect}" results = loader.read(path) else logger.debug2 "No config file explicitly given and no default config file could be found, default settings will be used." end results end