module CLI
Public Class Methods
overwrite(height)
click to toggle source
# File lib/pandoras_box/cli.rb, line 45 def overwrite(height) height.times do print "\033[1A\033[K" end end
prompt_boolean(message)
click to toggle source
# File lib/pandoras_box/cli.rb, line 5 def prompt_boolean(message) prompt = "#{message.green}#{' (y/n)'.blue} " print "#{'[ WAIT ]'.yellow} #{prompt}" raw_answer = STDIN.gets.chomp answer = 'y' == raw_answer overwrite 1 if answer puts "#{'[ YES ] '.green} #{prompt}" else puts "#{'[ NO ] '.red} #{prompt}" end answer end
prompt_description(title, description)
click to toggle source
# File lib/pandoras_box/cli.rb, line 37 def prompt_description(title, description) puts title.green.underline puts description.blue response = prompt_boolean('Use?') overwrite(3) response end
prompt_multiple_choice(title, choices, custom_message=nil)
click to toggle source
# File lib/pandoras_box/cli.rb, line 20 def prompt_multiple_choice(title, choices, custom_message=nil) overwrite_lines = 2 puts title.green.underline unless custom_message.nil? puts custom_message overwrite_lines += 1 end choices.each_with_index do |choice, i| puts "#{"#{i})"} #{choice.blue}" end raw_answer = STDIN.gets.chomp overwrite(choices.length + overwrite_lines) raw_answer end