class TTY::Prompt::MultiList

A class responsible for rendering multi select list menu. Used by {Prompt} to display interactive choice menu.

@api private

Constants

HELP

Public Class Methods

new(prompt, options) click to toggle source

Create instance of TTY::Prompt::MultiList menu.

@param [Prompt] :prompt @param [Hash] options

@api public

Calls superclass method TTY::Prompt::List.new
# File lib/tty/prompt/multi_list.rb, line 19
def initialize(prompt, options)
  super
  @selected = []
  @help    = options[:help]
  @default = Array(options[:default])
  @echo = options.fetch(:echo, true)
end

Public Instance Methods

keyspace(*) click to toggle source

Callback fired when space key is pressed

@api private

# File lib/tty/prompt/multi_list.rb, line 30
def keyspace(*)
  active_choice = choices[@active - 1]
  if @selected.include?(active_choice)
    @selected.delete(active_choice)
  else
    @selected << active_choice
  end
end