Method: CertWatch::Shell#sudo

Defined in:
lib/cert_watch/shell.rb

#sudo(command) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cert_watch/shell.rb', line 7

def sudo(command)
  output, input = IO.pipe
  prefix = !Rails.env.test? ? 'sudo ' : ''
  full_command = [prefix, command].join

  result = system(full_command, [:out, :err] => input)
  input.close

  unless result
    fail(CommandFailed, "Command '#{full_command}' failed with output:\n\n#{output.read}\n")
  end
end