class Morpheus::Terminal

Terminal is a class for executing morpheus commands The default IO is STDIN, STDOUT, STDERR The default home directory is $HOME/.morpheus

Example Usage

require 'morpheus/terminal'

# Write output to STDOUT is the default behavior

terminal = Morpheus::Terminal.new
exit_code, err = terminal.execute("instances list -m 10")
assert exit_code == 0
assert err == nil

# Write command output to a file instead
terminal = Morpheus::Terminal.new(stdout: File.new("morpheus-terminal.log", "w+"))
terminal.execute("version")
terminal.execute("instances list")
terminal.execute("apps list")

# Overwrite file with output of a command
terminal = Morpheus::Terminal.new(stdout: File.new("instance23.json", "w"))
terminal.execute("instances get 23 --json")
puts "Instance 23 Details: ", File.read("instance23.json")