Module: Virtualman::Interactive::Menu
Instance Method Summary collapse
- #ask ⇒ Object
- #unic_answer(array, input) ⇒ Object
- #unic_prompt(lines) ⇒ Object
- #unic_run(array) ⇒ Object
Instance Method Details
#ask ⇒ Object
31 32 33 34 |
# File 'lib/virtualman/interactive/menu.rb', line 31 def ask $stdin.reopen '/dev/tty' $stdin.gets.chomp end |
#unic_answer(array, input) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/virtualman/interactive/menu.rb', line 44 def unic_answer(array, input) if input[/(\d+)/] index = input.to_i - 1 if array[index] return array[index] end end Kernel.abort "#{input} is an invalid choice." end |
#unic_prompt(lines) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/virtualman/interactive/menu.rb', line 36 def unic_prompt(lines) ljust_size = lines.size.to_s.size + 1 lines.each_with_index {|obj,i| puts "#{i+1}.".ljust(ljust_size) + " " +obj } print "\nSpecify your choice\nChoose: " end |
#unic_run(array) ⇒ Object
55 56 57 58 59 |
# File 'lib/virtualman/interactive/menu.rb', line 55 def unic_run(array) unic_prompt(array) answer = ask return unic_answer(array, answer) end |