class EY::CLI::UI

Public Instance Methods

agree(message, default) click to toggle source
# File lib/engineyard/cli/ui.rb, line 121
def agree(message, default)
  Prompter.agree(message, default)
end
ask(message, password = false, default = nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 125
def ask(message, password = false, default = nil)
  Prompter.ask(message, password, default)
rescue EOFError
  return ''
end
debug(name, message = nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 101
def debug(name, message = nil)
  if ENV["DEBUG"]
    name    = name.inspect    unless name.nil? or name.is_a?(String)
    message = message.inspect unless message.nil? or message.is_a?(String)
    say_with_status(name, message, :blue)
  end
end
deployment_result(dep) click to toggle source
# File lib/engineyard/cli/ui.rb, line 232
def deployment_result(dep)
  if dep.successful?
    say 'Deployment was successful.', :green
  elsif dep.finished_at.nil?
    say 'Deployment is not finished.', :yellow
  else
    say 'Deployment failed.', :red
  end
end
deployment_status(deployment) click to toggle source
# File lib/engineyard/cli/ui.rb, line 202
def deployment_status(deployment)
  unless quiet?
    say "# Status of last deployment of #{deployment.app_environment.hierarchy_name}:"
    say "#"
    show_deployment(deployment)
    say "#"
  end
  deployment_result(deployment)
end
err() click to toggle source
# File lib/engineyard/cli/ui.rb, line 265
def err
  $stderr
end
error(name, message = nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 85
def error(name, message = nil)
  $stdout = $stderr
  say_with_status(name, message, :red)
ensure
  $stdout = STDOUT
end
info(message, color = nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 96
def info(message, color = nil)
  return if quiet?
  say_with_status(message, nil, color)
end
interactive?() click to toggle source
# File lib/engineyard/cli/ui.rb, line 117
def interactive?
  Prompter.interactive?
end
mute_if(bool) { || ... } click to toggle source
# File lib/engineyard/cli/ui.rb, line 131
def mute_if(bool, &block)
  bool ? mute(&block) : yield
end
out() click to toggle source
# File lib/engineyard/cli/ui.rb, line 269
def out
  $stdout
end
print_envs(apps, default_env_name = nil) click to toggle source
print_exception(e) click to toggle source
print_help(table) click to toggle source
print_hostnames(servers, username=nil) click to toggle source
print_servers(servers, name, username=nil) click to toggle source
print_simple_envs(envs) click to toggle source
print_simple_servers(servers, username=nil) click to toggle source
say_with_status(name, message=nil, color=nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 109
def say_with_status(name, message=nil, color=nil)
  if message
    say_status name, message, color
  elsif name
    say name, color
  end
end
set_color(string, color, bold=false) click to toggle source
Calls superclass method
# File lib/engineyard/cli/ui.rb, line 261
def set_color(string, color, bold=false)
  ($stdout.tty? || ENV['THOR_SHELL']) ? super : string
end
show_deployment(dep) click to toggle source
# File lib/engineyard/cli/ui.rb, line 212
def show_deployment(dep)
  return if quiet?
  output = []
  output << ["Account",         dep.app.account.name]
  output << ["Application",     dep.app.name]
  output << ["Environment",     dep.environment.name]
  output << ["Input Ref",       dep.ref]
  output << ["Resolved Ref",    dep.resolved_ref]
  output << ["Commit",          dep.commit || '(not resolved)']
  output << ["Migrate",         dep.migrate]
  output << ["Migrate command", dep.migrate_command] if dep.migrate
  output << ["Deployed by",     dep.deployed_by]
  output << ["Started at",      dep.created_at] if dep.created_at
  output << ["Finished at",     dep.finished_at] if dep.finished_at

  output.each do |att, val|
    puts "#\t%-16s %s" % ["#{att}:", val.to_s]
  end
end
warn(name, message = nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 92
def warn(name, message = nil)
  say_with_status(name, message, :yellow)
end

Private Instance Methods

server_tuples(servers, username=nil) click to toggle source
# File lib/engineyard/cli/ui.rb, line 135
def server_tuples(servers, username=nil)
  user = username && "#{username}@"

  servers.map do |server|
    host = "#{user}#{server.hostname}"
    [host, server.amazon_id, server.role, server.name]
  end
end