Method: Dialog.ask

Defined in:
lib/nera/nera_dialog.rb

.ask(message = "Input y or n.", default = true) ⇒ Object




205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/nera/nera_dialog.rb', line 205

def ask( message = "Input y or n.", default = true)
  while true
    m = "(y/N)"
    m = "(Y/n)" if default
    $stdout.puts( "#{message} : #{m}")

    buf = Readline.readline(PROMPT).chomp.strip.downcase
    if buf == ''
      if default
        return true
      else
        return false
      end
    end
    
    if buf.match(/^y$/) or buf.match(/^yes$/)
      return true
    elsif buf.match(/^n$/) or buf.match(/^no$/)
      return false
    else
      $stdout.puts "The input is not valid. Try again"
      redo
    end
  end
end