class CW::KeyInput

Public Class Methods

new() click to toggle source
# File lib/cw/key_input.rb, line 6
def initialize
  @quit_count = 0
end

Public Instance Methods

char() click to toggle source
# File lib/cw/key_input.rb, line 10
def char
  @chr
end
is_letter?(char = nil) click to toggle source
# File lib/cw/key_input.rb, line 27
def is_letter? char = nil
  char = char ? char : @chr
  char >= 'a' && char <= 'z'
end
is_number?(char = nil) click to toggle source
# File lib/cw/key_input.rb, line 32
def is_number? char = nil
  char = char ? char : @chr
  char >= '0' && char <= '9'
end
is_punctuation?(char = nil) click to toggle source
# File lib/cw/key_input.rb, line 37
def is_punctuation? char = nil
  char = char ? char : @chr
  [' ', ',', '.', '=', '?','/','+'].detect{|letr| letr == char}
end
is_quit?() click to toggle source
# File lib/cw/key_input.rb, line 60
def is_quit?
  @quit_count >= 4
end
is_relevant_char?(char = nil) click to toggle source
# File lib/cw/key_input.rb, line 42
def is_relevant_char? char = nil
  char = char ? char : @chr
  is_letter?(char) || is_number?(char) || is_punctuation?(char) ? true : false
end
push_to_quit_maybe() click to toggle source
# File lib/cw/key_input.rb, line 52
def push_to_quit_maybe
  if @chr == 'q'
    @quit_count += 1
  else
    @quit_count = 0
  end
end
quit() click to toggle source
# File lib/cw/key_input.rb, line 64
def quit
  Cfg.config.params["exit"] = true
  reset_stdin
  return true
end
quit_input?() click to toggle source
# File lib/cw/key_input.rb, line 70
def quit_input?
  push_to_quit_maybe
  return quit if is_quit?
end
read() click to toggle source
# File lib/cw/key_input.rb, line 14
    def read
      @chr = nil
      begin
        system("stty raw -echo")
        @chr = STDIN.getc
#        @chr = @chr.downcase unless(@chr.include? 'Q')
        #        puts "@chr = #{@chr}"
        @chr
      ensure
        system("stty raw -echo")
      end
    end
reset_stdin() click to toggle source
# File lib/cw/key_input.rb, line 47
def reset_stdin
  system("stty -raw echo")
end