Method: LibGems::StreamUI#choose_from_list

Defined in:
lib/libgems/user_interaction.rb

#choose_from_list(question, list) ⇒ Object

Choose from a list of options. question is a prompt displayed above the list. list is a list of option strings. Returns the pair [option_name, option_index].



146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/libgems/user_interaction.rb', line 146

def choose_from_list(question, list)
  @outs.puts question

  list.each_with_index do |item, index|
    @outs.puts " #{index+1}. #{item}"
  end

  @outs.print "> "
  @outs.flush

  result = @ins.gets

  return nil, nil unless result

  result = result.strip.to_i - 1
  return list[result], result
end