class Gonzo::Runner
Attributes
config[R]
global[R]
statedir[R]
Public Class Methods
new(config)
click to toggle source
# File lib/gonzo/runner.rb, line 9 def initialize(config) @config = config @global = config['gonzo'] end
Public Instance Methods
cleanup()
click to toggle source
# File lib/gonzo/runner.rb, line 32 def cleanup return if global['cleanup'] == false providers.each(&:cleanup) FileUtils.rm_r global['statedir'] end
providers()
click to toggle source
# File lib/gonzo/runner.rb, line 18 def providers return @providers if @providers @providers = [] provs = config.select { |k,v| k unless k == 'gonzo' } provs.each do |provider,config| unless supported_providers.include?(provider) puts "Provider #{provider} is not implemented!" break end @providers << Object.const_get("Gonzo::Providers::#{provider.capitalize}").new(config, global) end @providers end
run()
click to toggle source
# File lib/gonzo/runner.rb, line 38 def run exit_codes = [] providers.each do |provider| status = provider.run exit_codes << status if config['gonzo']['stop_on_failure'] exit status unless status end end status = exit_codes.include?(false) ? false : true cleanup exit status end
supported_providers()
click to toggle source
# File lib/gonzo/runner.rb, line 14 def supported_providers %w(docker vagrant) end