class Bundleup::Shell

Public Instance Methods

capture(command, raise_on_error: true) click to toggle source
# File lib/bundleup/shell.rb, line 9
def capture(command, raise_on_error: true)
  stdout, stderr, status = capture3(command)
  raise ["Failed to execute: #{command}", stdout, stderr].compact.join("\n") if raise_on_error && !status.success?

  stdout
end
run(command) click to toggle source
# File lib/bundleup/shell.rb, line 16
def run(command)
  capture(command)
  true
end
run?(command) click to toggle source
# File lib/bundleup/shell.rb, line 21
def run?(command)
  _, _, status = capture3(command)
  status.success?
end

Private Instance Methods

capture3(command) click to toggle source
# File lib/bundleup/shell.rb, line 28
def capture3(command)
  command = Array(command)
  logger.while_spinning("running: #{command.join(' ')}") do
    Open3.capture3(*command)
  end
end