class Heroku::Command::Releases

view release history of an app

Public Instance Methods

index() click to toggle source

releases

list releases

# File lib/heroku/command/releases.rb, line 13
def index
  releases = heroku.releases(app)

  output = []
  output << "Rel   Change                          By                    When"
  output << "----  ----------------------          ----------            ----------"

  releases.reverse.slice(0, 15).each do |r|
    name = r["name"]
    descr = truncate(r["descr"], 30)
    user = truncate(r["user"], 20)
    time_ago = delta_format(Time.parse(r["created_at"]))
    output << "%-4s  %-30s  %-20s  %-25s" % [name, descr, user, time_ago]
  end

  display output.join("\n")
end
info() click to toggle source

releases:info RELEASE

view detailed information for a release

# File lib/heroku/command/releases.rb, line 35
def info
  release = args.shift.downcase.strip rescue nil
  raise(CommandFailed, "Specify a release") unless release

  release = heroku.release(app, release)

  display "=== Release #{release['name']}"
  display_info("Change",  release["descr"])
  display_info("By",      release["user"])
  display_info("When",    delta_format(Time.parse(release["created_at"])))
  display_info("Addons",  release["addons"].join(", "))
  display_vars(release["env"])
end
rollback() click to toggle source

releases:rollback [RELEASE]

roll back to an older release

if RELEASE is not specified, will roll back one step

# File lib/heroku/command/releases.rb, line 55
def rollback
  release = args.shift.downcase.strip rescue nil
  rolled_back = heroku.rollback(app, release)
  display "Rolled back to #{rolled_back}"
end