Sha256: 73542bd165b68f3c300d710e355641c8413e4de51f01ec77f873914081dea8b5

Contents?: true

Size: 750 Bytes

Versions: 9

Compression:

Stored size: 750 Bytes

Contents

require 'logirel/queries/query'

module Logirel
  module Queries
    class BoolQ < Query
      attr_accessor :pos_answer, :neg_answer

      def initialize(question,
          default = true,
          io_source = STDIN,
          io_target = STDOUT)
        @question = question
        @default = default
        @io_source = io_source
        @io_target = io_target
      end

      def default_str

        @default ? "[Yn]" : "[yN]"

      end

      def exec
        @io_target.print @question + " " + default_str
        a = ""
        begin
          a = @io_source.gets.chomp
        end while !a.empty? && !['y', 'n'].include?(a.downcase)
        a.empty? ? @default : (a == 'y')
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
logirel-0.1.6 lib/logirel/queries/bool_q.rb
logirel-0.1.5 lib/logirel/queries/bool_q.rb
logirel-0.1.4 lib/logirel/queries/bool_q.rb
logirel-0.1.3 lib/logirel/queries/bool_q.rb
logirel-0.1.2 lib/logirel/queries/bool_q.rb
logirel-0.1.1 lib/logirel/queries/bool_q.rb
logirel-0.1.0 lib/logirel/queries/bool_q.rb
logirel-0.0.18 lib/logirel/queries/bool_q.rb
logirel-0.0.17 lib/logirel/queries/bool_q.rb