class Ey::Core::Cli::Subcommand

Public Instance Methods

handle_core_error(e) click to toggle source

TODO: a lot more errors that would could handle with nice messages, eventually this should probably be it's own class

# File lib/ey-core/cli/subcommand.rb, line 39
def handle_core_error(e)
  stderr.puts "Error: #{e.error_type}".red
  (e.response.body["errors"] || [e.message]).each do |message|
    stderr.puts Wrapomatic.wrap(message, indents: 1)
  end
  if e.is_a?(Ey::Core::Response::Unauthorized)
    stderr.puts "Check the contents of ~/.ey-core vs https://cloud.engineyard.com/cli"
  end
  raise SystemExit.new(255)
end
run_handle() click to toggle source
Calls superclass method
# File lib/ey-core/cli/subcommand.rb, line 20
def run_handle
  super
rescue Ey::Core::Response::Error => e
  if ENV["DEBUG"]
    puts e.inspect
    puts e.backtrace
  end
  handle_core_error(e)
rescue => e
  if ENV["DEBUG"]
    puts e.inspect
    puts e.backtrace
  end
  stderr.puts "Error:".red
  stderr.puts Wrapomatic.wrap(e.message, indents: 1)
  raise SystemExit.new(255)
end
setup() click to toggle source
# File lib/ey-core/cli/subcommand.rb, line 13
def setup
  $stdout = stdout
  $stderr = stderr
  $stdin = stdin
  $kernel = kernel
end