class Helpers::Exec

Public Class Methods

new(name) click to toggle source
# File lib/spior/helpers.rb, line 7
def initialize(name)
  @search_uid = Process::Sys.getuid
  @name = name
end

Public Instance Methods

run(args) click to toggle source
# File lib/spior/helpers.rb, line 12
def run(args)
  cmd = @search_uid == '0' ? @name : "sudo #{@name}"
  Open3.popen2e("#{cmd} #{args}") do |stdin, stdout_err, wait_thr|
    while line = stdout_err.gets
      puts line
    end

    exit_status = wait_thr.value
    unless exit_status.success?
      raise "Error, Running #{cmd} #{args}"
    end
  end
end