class Heroku::Command::Labs

manage optional features

Public Instance Methods

disable() click to toggle source

labs:disable FEATURE

disables FEATURE on an app

# File lib/heroku/command/labs.rb, line 64
def disable
  if feature_name = args.shift
    feature_name = feature_name.downcase.strip
  else
    error("Usage: heroku labs:disable FEATURE")
  end
  message = "Disabling #{feature_name}"
  message += " for #{app}" if app
  action(message) do
    heroku.disable_feature(app, feature_name)
  end
end
enable() click to toggle source

labs:enable FEATURE

enables FEATURE on an app

# File lib/heroku/command/labs.rb, line 46
def enable
  if feature_name = args.shift
    feature_name = feature_name.downcase.strip
  else
    error("Usage: heroku labs:enable FEATURE")
  end
  message = "Enabling #{feature_name}"
  message += " for #{app}" if app
  action(message) do
    heroku.enable_feature(app, feature_name)
  end
  display "WARNING: This feature is experimental and may change or be removed without notice."
end
index() click to toggle source

labs

lists available features for an app

# File lib/heroku/command/labs.rb, line 11
def index
  features = heroku.list_features(app)
  longest = features.map { |f| f["name"].length }.sort.last
  app_features, user_features = features.partition { |f| f["kind"] == "app" }

  if app
    display "=== App Features (%s)" % app
    display_features app_features, longest
    display
  end

  display "=== User Features (%s)" % Heroku::Auth.user
  display_features user_features, longest
end
info() click to toggle source

labs:info FEATURE

displays additional information about FEATURE

# File lib/heroku/command/labs.rb, line 30
def info
  if feature_name = args.shift
    feature_name = feature_name.downcase.strip
  else
    error("Usage: heroku labs:info FEATURE")
  end
  feature = heroku.get_feature(app, feature_name)
  display "=== #{feature['name']}"
  display "Summary: %s" % feature["summary"]
  display "Docs:    %s" % feature["docs"]
end