module Remon::Helper

Public Instance Methods

cmd(command, error_msg: nil, return_output: true, env: {}, shell: false) click to toggle source
# File lib/remon/helper.rb, line 7
def cmd(command, error_msg: nil, return_output: true, env: {}, shell: false)
  if command.is_a? Array
    command_arr = command
    command_str = command.join(" ")
  else
    command_arr = command.split
    command_str = command
  end
  logger.debug command_str

  run_command = shell ? command_str : command_arr
  output = if return_output
    IO.popen(env, run_command) { |f| f.read }
  else
    system(env, run_command, 2 => 1)
  end
  exitstatus = $?.exitstatus

  if exitstatus != 0
    error_msg ||= "non zero exit for \"#{command_str}\""
    raise Error, error_msg
  end
  return output
end
safe_cmd(*args, **kwargs) click to toggle source
# File lib/remon/helper.rb, line 32
def safe_cmd(*args, **kwargs)
  output = cmd(*args, **kwargs)
  return $?.exitstatus, output
rescue => e
  logger.debug e.message
  return -1, nil
end