module Aggkit::Exec

Public Instance Methods

capture(cmd) click to toggle source
# File lib/aggkit/exec.rb, line 14
def capture(cmd)
  puts "Capturing: #{cmd}"
  io = IO.popen(cmd)
  io.read.strip
ensure
  io.close rescue nil
end
capture!(cmd, error = nil) click to toggle source
# File lib/aggkit/exec.rb, line 22
def capture!(cmd, error = nil)
  output = capture(cmd)
  error = error ? "#{error}: Execution failed" : 'Execution failed'
  die(error) unless ($?.success? rescue nil)

  output
rescue Exception => e
  error = error ? "#{error}: #{e.inspect}" : "Execution failed: #{e.inspect}"
  die(error)
end
die(message, code: 1) click to toggle source
# File lib/aggkit/exec.rb, line 9
def die(message, code: 1)
  error(message)
  exit!(code)
end
error(message) click to toggle source
# File lib/aggkit/exec.rb, line 5
def error(message)
  STDERR.puts "Error: #{message}"
end
execute!(cmd, error = nil) click to toggle source
# File lib/aggkit/exec.rb, line 33
def execute!(cmd, error = nil)
  puts "Executing: #{cmd}"
  error = error ? "#{error}: Execution failed" : 'Execution failed'
  die(error) unless system(cmd)
end