Class: Orchestration::Terminal
- Inherits:
-
Object
- Object
- Orchestration::Terminal
- Defined in:
- lib/orchestration/terminal.rb
Instance Method Summary collapse
- #ask_setting(setting, default: nil, override: nil) ⇒ Object
-
#initialize(settings) ⇒ Terminal
constructor
A new instance of Terminal.
- #print_variable(variable, value) ⇒ Object
- #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.
24 25 26 |
# File 'lib/orchestration/terminal.rb', line 24 def initialize(settings) @settings = settings end |
Instance Method Details
#ask_setting(setting, default: nil, override: nil) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/orchestration/terminal.rb', line 42 def ask_setting(setting, default: nil, override: nil) return unless @settings.get(setting).nil? return @settings.set(setting, override) unless override.nil? write(:setup, t("settings.#{setting}.description")) prompt = t("settings.#{setting}.prompt") @settings.set(setting, read(prompt, default)) end |
#print_variable(variable, value) ⇒ Object
51 52 53 |
# File 'lib/orchestration/terminal.rb', line 51 def print_variable(variable, value) $stderr.print "#{Paint[variable, :blue]}#{Paint['=', :white]}#{Paint[value, :cyan]}" end |
#read(message, default = nil) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/orchestration/terminal.rb', line 34 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
28 29 30 31 32 |
# File 'lib/orchestration/terminal.rb', line 28 def write(desc, = nil, color_name = nil, newline: true) output = newline ? "#{}\n" : .to_s $stdout.print colorize(desc, output, color_name) $stdout.flush end |