module Gonzo

Constants

VERSION

Public Class Methods

config(path = '.') click to toggle source
# File lib/gonzo.rb, line 5
def config(path = '.')
  return @config if @config
  project = File.expand_path(path)
  config_file = File.join(project, '.gonzo.yml')
  fail "No .gonzo.yml found in #{project}!" unless File.exist?(config_file)
  data = YAML.load_file(config_file)
  data['gonzo'] = global_defaults.merge data['gonzo'] || {}
  data['gonzo']['project'] = project
  data['gonzo']['statedir'] = "#{project}/.gonzo"
  @config = data
end
global_defaults() click to toggle source
# File lib/gonzo.rb, line 21
def global_defaults
  {
    'stop_on_failure' => false,
    'cleanup' => true
  }
end
reload!() click to toggle source
# File lib/gonzo.rb, line 17
def reload!
  @config = nil
end
required_command(cmd) click to toggle source
# File lib/gonzo.rb, line 28
def required_command(cmd)
  ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
    bin = File.join(path, cmd)
    return if File.executable?(bin) && !File.directory?(bin)
  end

  fail "Required command #{cmd} not found in $PATH!"
end