Sha256: e45c2a8ee0ba8101e5a316abf17f2e6cc6356e1c94ad35bc8b85a8ef841b0588
Contents?: true
Size: 1.16 KB
Versions: 7
Compression:
Stored size: 1.16 KB
Contents
module Kubes::Util module Sh include Kubes::Logging def sh(command, options={}) mute = options[:mute] show_command = options[:show_command].nil? ? !mute : options[:show_command] exit_on_fail = options[:exit_on_fail].nil? ? true : options[:exit_on_fail] # Logger::DEBUG = 0 # Logger::INFO = 1 if logger.level <= Logger::DEBUG mute = false show_command = true end env = options[:env] || {} env.stringify_keys! command = "#{command}" if mute && !command.include?("2>&1") command = "#{command} > /dev/null 2>&1" end logger.info "=> #{command}" if show_command success = system(env, command) unless success logger.error "ERROR: running #{command}".color(:red) exit $?.exitstatus if exit_on_fail end success end def capture(command, options={}) exit_on_fail = options[:exit_on_fail].nil? ? true : options[:exit_on_fail] out = `#{command}`.strip unless $?.success? logger.error "ERROR: running #{command}".color(:red) exit $?.exitstatus if exit_on_fail end out end end end
Version data entries
7 entries across 7 versions & 1 rubygems