Class: Terraformer::UserInput

Inherits:
Object
  • Object
show all
Defined in:
lib/terraformer/user_input.rb

Constant Summary collapse

MAX_ATTEMPTS =
10

Class Method Summary collapse

Class Method Details

.ask(message, success, failure) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/terraformer/user_input.rb', line 16

def ask(message, success, failure)
  (0..MAX_ATTEMPTS).each do |i|
    response = get_input(message, success, failure).chomp

    if response.downcase == success.downcase || response == ""
      return true
    elsif response.downcase == failure.downcase
      puts "Exiting"
      raise UserInputError
    end
  end
  raise UserInputMaxAttemptsError, "Reached max number of attempts."
end

.get_input(message, success, failure) ⇒ Object



12
13
14
# File 'lib/terraformer/user_input.rb', line 12

def get_input(message, success, failure)
  Thor::Shell::Basic.new.ask("#{message} [#{success}/#{failure}]")
end