class LearnLab::Prompt

Special prompt that keeps asking for input until it is valid.

Attributes

output[R]

Public Class Methods

new(output=$stdout) click to toggle source
# File lib/learn_lab/prompt.rb, line 9
def initialize(output=$stdout)
  @output = output
end

Public Instance Methods

ask(question, &block) click to toggle source
# File lib/learn_lab/prompt.rb, line 13
def ask(question, &block)
  input_is_valid = false
  until input_is_valid
    output.print("\n#{question} > ")
    answer = $stdin.gets.chomp
    input_is_valid = block_given? ? block.call(answer) : true
  end

  answer
end