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 = nil, color_name = nil, newline: true) ⇒ Object
Constructor Details
#initialize(settings) ⇒ Terminal
Returns a new instance of Terminal.
20 21 22 |
# File 'lib/orchestration/terminal.rb', line 20 def initialize(settings) @settings = settings end |
Instance Method Details
#ask_setting(setting, default = nil) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/orchestration/terminal.rb', line 38 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
30 31 32 33 34 35 36 |
# File 'lib/orchestration/terminal.rb', line 30 def read(, default = nil) write(:input, prompt(, default), nil, newline: false) result = $stdin.gets.chomp.strip return default if result.empty? result end |
#write(desc, message = nil, color_name = nil, newline: true) ⇒ Object
24 25 26 27 28 |
# File 'lib/orchestration/terminal.rb', line 24 def write(desc, = nil, color_name = nil, newline: true) output = newline ? "#{message}\n" : .to_s $stdout.print colorize(desc, output, color_name) $stdout.flush end |