module Vpsb::AskSupport

Public Instance Methods

ask() { || ... } click to toggle source
# File lib/vpsb/ask_support.rb, line 3
def ask(&block)
  yield if block
  STDIN.gets.chomp
end
ask_loop(condition = nil) { || ... } click to toggle source
# File lib/vpsb/ask_support.rb, line 17
def ask_loop(condition = nil, &block)
  condition ||= proc { |res| !res.strip.empty? }

  begin
    yield if block
    res = STDIN.gets.chomp
  end until condition.call(res)
  res
end
ask_to_confirm(question) { |cond| ... } click to toggle source
# File lib/vpsb/ask_support.rb, line 8
def ask_to_confirm(question, &block)
  answer = ask { puts "#{question} y[es]/n[o]?" }
  cond = (answer[0].to_s.downcase == 'y')

  yield cond if block

  cond
end