Class: QandA::Question::Boolean

Inherits:
QandA::Question show all
Defined in:
lib/question/boolean.rb

Constant Summary collapse

TRUES =
['yes', 'y', 'true', 't']
FALSES =
['no', 'n', 'false', 'f']

Instance Method Summary collapse

Constructor Details

#initialize(message = '', default = nil) ⇒ Boolean

Returns a new instance of Boolean.



7
8
9
10
11
12
13
14
# File 'lib/question/boolean.rb', line 7

def initialize(message = '', default = nil)
  message = "#{message} (y/n)"
  super(message: message, default: default)
  @validation = Proc.new do |answer|
    answer = answer.downcase.strip
    TRUES.include?(answer) || FALSES.include?(answer)
  end
end

Instance Method Details

#askObject



16
17
18
19
20
21
# File 'lib/question/boolean.rb', line 16

def ask
  super
  @answer = answer.downcase.strip
  @answer = true if TRUES.include?(@answer)
  @answer = false if FALSES.include?(@answer)
end