Parent

Class/Module Index [+]

Quicksearch

PhusionPassenger::Utils::TerminalChoiceMenu

Constants

JRUBY

Public Class Methods

new(choices, mode = :multiple_choice) click to toggle source
# File lib/phusion_passenger/utils/terminal_choice_menu.rb, line 52
def initialize(choices, mode = :multiple_choice)
  @choices = choices.map { |choice| Choice.create(choice) }
  @mode    = mode
  @pointer = 0
  @index   = index_choices
end

Public Instance Methods

[](name) click to toggle source
# File lib/phusion_passenger/utils/terminal_choice_menu.rb, line 91
def [](name)
  return @index[name]
end
display_choices() click to toggle source
# File lib/phusion_passenger/utils/terminal_choice_menu.rb, line 59
def display_choices
  display(render_to_string)
end
query() click to toggle source
# File lib/phusion_passenger/utils/terminal_choice_menu.rb, line 63
def query
  if STDIN.tty?
    done = false
    begin
      raw_no_echo_mode
      hide_cursor
      while !done
        display_choices
        done = process_input
        clear_screen if !done
      end
      if @mode == :single_choice
        [@pointer, @choices[@pointer].name]
      else
        nil
      end
    ensure
      restore_mode
      show_cursor
      puts
    end
  else
    display_choices
    puts
    nil
  end
end
selected_choices() click to toggle source
# File lib/phusion_passenger/utils/terminal_choice_menu.rb, line 95
def selected_choices
  @choices.find_all{ |c| c.checked? }.map{ |c| c.name }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.