class Raykit::Project

def run(command, quit_on_failure = true)

def run(command, quit_on_failure = true)
  if command.is_a?(Array)
    command.each { |subcommand| run(subcommand, quit_on_failure) }
  else
    cmd = Command.new(command).set_timeout(@timeout).run
    cmd.summary
    elapsed_str = Timer.get_elapsed_str(cmd.elapsed, 0)
    if !cmd.exitstatus.nil? && cmd.exitstatus.zero?
    else
      # display error details

      cmd.details
      if quit_on_failure
        abort
      end
    end
    cmd.save
    @commands << cmd
    cmd
  end
end