Class: Morpheus::Cli::Echo
- Inherits:
-
Object
- Object
- Morpheus::Cli::Echo
show all
- Includes:
- CliCommand
- Defined in:
- lib/morpheus/cli/commands/standard/echo_command.rb
Overview
This is for use in dotfile scripts for printing It is also responsible for maintaining a map of variables that are also used in custom shell prompts.
Constant Summary
collapse
- DEFAULT_VARIABLE_MAP =
{'%cyan' => Term::ANSIColor.cyan, '%magenta' => Term::ANSIColor.magenta, '%red' => Term::ANSIColor.red, '%green' => Term::ANSIColor.green, '%yellow' => Term::ANSIColor.yellow, '%white' => Term::ANSIColor.white, '%dark' => Term::ANSIColor.dark, '%reset' => Term::ANSIColor.reset}
Instance Attribute Summary
Attributes included from CliCommand
#no_prompt
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from CliCommand
#build_common_options, #build_option_type_options, #command_name, #default_refresh_interval, #default_subcommand, #establish_remote_appliance_connection, #full_command_usage, #handle_subcommand, included, #interactive?, #my_help_command, #my_terminal, #my_terminal=, #parse_id_list, #parse_list_options, #parse_list_subtitles, #print, #print_error, #puts, #puts_error, #raise_command_error, #render_with_format, #run_command_for_each_arg, #subcommand_aliases, #subcommand_usage, #subcommands, #usage, #verify_access_token!
Class Method Details
.recalculate_variable_map ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/morpheus/cli/commands/standard/echo_command.rb', line 21
def self.recalculate_variable_map()
var_map = {}
var_map.merge!(DEFAULT_VARIABLE_MAP)
appliance = ::Morpheus::Cli::Remote.load_active_remote()
if appliance
var_map.merge!({'%remote' => appliance[:name], '%remote_url' => (appliance[:host].to_s || appliance[:url].to_s), '%username' => appliance[:username].to_s})
else
var_map.merge!({'%remote' => '', '%remote_url' => '', '%username' => ''})
end
@output_variable_map = var_map
end
|
.variable_map ⇒ Object
17
18
19
|
# File 'lib/morpheus/cli/commands/standard/echo_command.rb', line 17
def self.variable_map
@output_variable_map ||= recalculate_variable_map()
end
|
Instance Method Details
#handle(args) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/morpheus/cli/commands/standard/echo_command.rb', line 33
def handle(args)
append_newline = true
options = {}
optparse = Morpheus::Cli::OptionParser.new do|opts|
opts.banner = "Usage: morpheus #{command_name} [<message>]"
opts.on( '-n', '--nonewline', "do not append a newline to your words" ) do
append_newline = false
end
build_common_options(opts, options, [])
end
optparse.parse!(args)
out = ""
out << args.join(' ')
self.class.variable_map.each do |k, v|
out.gsub!(k.to_s, v.to_s)
end
if append_newline
out << "\n"
end
print cyan + out + reset
return 0
end
|