class Heroku::CLI

Public Class Methods

start(*args) click to toggle source
# File lib/heroku/cli.rb, line 18
def self.start(*args)
  $stdin.sync = true if $stdin.isatty
  $stdout.sync = true if $stdout.isatty
  Heroku::Updater.warn_if_updating
  command = args.shift.strip rescue "help"
  Heroku::JSPlugin.try_takeover(command, args) if Heroku::JSPlugin.setup?
  require 'heroku/command'
  Heroku::Git.check_git_version
  Heroku::Command.load
  Heroku::Command.run(command, args)
  Heroku::Updater.autoupdate
rescue Errno::EPIPE => e
  error(e.message)
rescue Interrupt => e
  %x`stty icanon echo` unless running_on_windows?
  if ENV["HEROKU_DEBUG"]
    styled_error(e)
  else
    error("Command cancelled.", false)
  end
rescue => error
  styled_error(error)
  exit(1)
end