Module: CCSH::Utils
- Defined in:
- lib/ccsh/utils.rb
Class Method Summary collapse
-
.clear_console ⇒ Object
clear the system console when run clear.
-
.debug(msg) ⇒ Object
Display a message, if debug mode is enabled.
-
.display_hosts(hosts) ⇒ Object
Pretty print the filtered hosts.
-
.exit_console(code, msg = nil) ⇒ Object
Exit the console message.
-
.get_options(item, object, default) ⇒ Object
Given an item, hash and wanted default return, return the item if exists on array object or return the default value if the key doesn’t exist.
-
.handle_signals ⇒ Object
Handle terminal signals.
-
.merge_defaults(defaults) ⇒ Object
Responsible to merge the defaults settings with the each hosts parameters.
-
.reset_console ⇒ Object
reset the console.
- .valid_ssh(options) ⇒ Object
-
.verbose(msg) ⇒ Object
Verbosely display a message, if verbose mode is enabled.
Class Method Details
.clear_console ⇒ Object
clear the system console when run clear
93 94 95 |
# File 'lib/ccsh/utils.rb', line 93 def self.clear_console printf "\e[H\e[2J" end |
.debug(msg) ⇒ Object
Display a message, if debug mode is enabled
60 61 62 |
# File 'lib/ccsh/utils.rb', line 60 def self.debug(msg) puts "[DEBUG] #{msg}" if ENV['CCSH_DEBUG'] == "true" end |
.display_hosts(hosts) ⇒ Object
Pretty print the filtered hosts
43 44 45 46 47 48 49 50 |
# File 'lib/ccsh/utils.rb', line 43 def self.display_hosts(hosts) puts "Selected Hosts (option: --show-hosts):" hosts.each do |host| puts "+ Server #{host.name}: #{host.user}@#{host.hostname} => Groups: #{host.groups}" end puts end |
.exit_console(code, msg = nil) ⇒ Object
Exit the console message
84 85 86 87 88 89 |
# File 'lib/ccsh/utils.rb', line 84 def self.exit_console(code, msg = nil) puts msg if msg != nil puts "\nBye..." exit code || 0 end |
.get_options(item, object, default) ⇒ Object
Given an item, hash and wanted default return, return the item if exists on array object or return the default value if the key doesn’t exist.
33 34 35 36 37 38 39 |
# File 'lib/ccsh/utils.rb', line 33 def self.(item, object, default) if object.key? item return object[item] end return default end |
.handle_signals ⇒ Object
Handle terminal signals
72 73 74 75 76 77 78 79 80 |
# File 'lib/ccsh/utils.rb', line 72 def self.handle_signals Signal.trap('INT') do self.exit_console 0 end Signal.trap('TERM') do self.exit_console 0 end end |
.merge_defaults(defaults) ⇒ Object
Responsible to merge the defaults settings with the each hosts parameters.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ccsh/utils.rb', line 7 def self.merge_defaults(defaults) defaultsValues = { 'user' => 'root', 'port' => '22', 'private_key' => '~/.ssh/id_rsa', } defaultsValues.merge!(defaults) if defaults != nil = { 'timeout' => 720, 'ssh-rsa' => 'ssh-rsa', } if defaults['ssh_options'] != nil defaultsValues['ssh_options'] = .merge!(defaults['ssh_options']) else defaultsValues['ssh_options'] = end return defaultsValues end |
.reset_console ⇒ Object
reset the console
99 100 101 |
# File 'lib/ccsh/utils.rb', line 99 def self.reset_console printf("\033c"); end |
.valid_ssh(options) ⇒ Object
54 55 56 |
# File 'lib/ccsh/utils.rb', line 54 def self.valid_ssh() return true end |
.verbose(msg) ⇒ Object
Verbosely display a message, if verbose mode is enabled
66 67 68 |
# File 'lib/ccsh/utils.rb', line 66 def self.verbose(msg) puts msg if ENV['CCSH_VERBOSE'] == "true" end |