Sha256: 15f56de166cdcab6c066621d848abd962bf81ae1740639d5eb392e5450c2fd2a
Contents?: true
Size: 654 Bytes
Versions: 1
Compression:
Stored size: 654 Bytes
Contents
module Interactive class Question attr_accessor :question, :options def initialize(&block) yield self @options = Interactive::Options(Array(@options)) raise ArgumentError, "question cannot be nil nor empty." if question.nil? || question.empty? @question_type = @options.has_hash? ? QuestionWithEagerFullExplanation.new(self) : QuestionWithLazyFullExplanation.new(self) alias :ask :ask_and_wait_for_valid_response end def ask_and_wait_for_valid_response(&block) @question_type.ask_and_wait_for_valid_response(&block) end private def response STDIN.gets.chomp end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
interactive-0.3.0 | lib/interactive/question.rb |