Class: Orchestration::Terminal
- Inherits:
-
Object
- Object
- Orchestration::Terminal
- Defined in:
- lib/orchestration/terminal.rb
Instance Method Summary collapse
- #ask_setting(setting, default = nil) ⇒ Object
-
#initialize(settings) ⇒ Terminal
constructor
A new instance of Terminal.
- #read(message, default = nil) ⇒ Object
- #write(desc, message, color_name = nil, newline = true) ⇒ Object
Constructor Details
#initialize(settings) ⇒ Terminal
Returns a new instance of Terminal.
19 20 21 |
# File 'lib/orchestration/terminal.rb', line 19 def initialize(settings) @settings = settings end |
Instance Method Details
#ask_setting(setting, default = nil) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/orchestration/terminal.rb', line 37 def ask_setting(setting, default = nil) return unless @settings.get(setting).nil? write(:setup, t("settings.#{setting}.description")) prompt = t("settings.#{setting}.prompt") @settings.set(setting, read(prompt, default)) end |
#read(message, default = nil) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/orchestration/terminal.rb', line 29 def read(, default = nil) write(:input, prompt(, default), nil, false) result = STDIN.gets.chomp.strip return default if result.empty? result end |
#write(desc, message, color_name = nil, newline = true) ⇒ Object
23 24 25 26 27 |
# File 'lib/orchestration/terminal.rb', line 23 def write(desc, , color_name = nil, newline = true) output = newline ? "#{}\n" : .to_s STDOUT.print colorize(desc, output, color_name) STDOUT.flush end |