module Pecorb::Console

Constants

CSI
DOWN
LEFT
UP

Public Instance Methods

backspace(n=1) click to toggle source
# File lib/pecorb/console.rb, line 34
def backspace(n=1)      output_stream.print "\b"*n              end
black() click to toggle source
# File lib/pecorb/console.rb, line 40
def black()             output_stream.print "#{CSI}#{CSI}30m"   end
blue() click to toggle source
# File lib/pecorb/console.rb, line 44
def blue()              output_stream.print "#{CSI}#{CSI}34m"   end
carriage_return() click to toggle source
# File lib/pecorb/console.rb, line 35
def carriage_return()   output_stream.print "\r"                end
clear_screen() click to toggle source
# File lib/pecorb/console.rb, line 38
def clear_screen()      output_stream.print "#{CSI}H#{CSI}J"    end
clear_to_eol() click to toggle source
# File lib/pecorb/console.rb, line 36
def clear_to_eol()      output_stream.print "#{CSI}K"           end
clear_to_eos() click to toggle source
# File lib/pecorb/console.rb, line 37
def clear_to_eos()      output_stream.print "#{CSI}J"           end
cyan() click to toggle source
# File lib/pecorb/console.rb, line 46
def cyan()              output_stream.print "#{CSI}#{CSI}36m"   end
down(n=1) click to toggle source
# File lib/pecorb/console.rb, line 30
def down(n=1)           output_stream.print "#{CSI}#{n}B"       end
green() click to toggle source
# File lib/pecorb/console.rb, line 42
def green()             output_stream.print "#{CSI}#{CSI}32m"   end
left(n=1) click to toggle source
# File lib/pecorb/console.rb, line 32
def left(n=1)           output_stream.print "#{CSI}#{n}D"       end
load_pos() click to toggle source
# File lib/pecorb/console.rb, line 59
def load_pos() output_stream.print "#{CSI}u" end
magenta() click to toggle source
# File lib/pecorb/console.rb, line 45
def magenta()           output_stream.print "#{CSI}#{CSI}35m"   end
print(val="") click to toggle source
puts(val="") click to toggle source
# File lib/pecorb/console.rb, line 26
def puts(val="")        output_stream.puts val                  end
read_char() click to toggle source
# File lib/pecorb/console.rb, line 12
def read_char
  input_stream.echo = false
  input_stream.raw!
  input = input_stream.getc.chr
  if input == "\e" then
    input << input_stream.read_nonblock(3) rescue nil
    input << input_stream.read_nonblock(2) rescue nil
  end
ensure
  input_stream.echo = true
  input_stream.cooked!
  return input
end
red() click to toggle source
# File lib/pecorb/console.rb, line 41
def red()               output_stream.print "#{CSI}#{CSI}31m"   end
reset_color() click to toggle source
# File lib/pecorb/console.rb, line 48
def reset_color()       output_stream.print "#{CSI}#{CSI}0m"    end
right(n=1) click to toggle source
# File lib/pecorb/console.rb, line 31
def right(n=1)          output_stream.print "#{CSI}#{n}C"       end
save_pos() { || ... } click to toggle source

WARNING: Only use this for updates, when we can be sure no new lines will be added as this causes lines to be overwritten, see issue #1

# File lib/pecorb/console.rb, line 52
def save_pos
  output_stream.print "#{CSI}s"
  if block_given?
    yield
    load_pos
  end
end
up(n=1) click to toggle source
# File lib/pecorb/console.rb, line 29
def up(n=1)             output_stream.print "#{CSI}#{n}A"       end
white() click to toggle source
# File lib/pecorb/console.rb, line 47
def white()             output_stream.print "#{CSI}#{CSI}37m"   end
yellow() click to toggle source
# File lib/pecorb/console.rb, line 43
def yellow()            output_stream.print "#{CSI}#{CSI}33m"   end

Private Instance Methods

input_stream() click to toggle source
# File lib/pecorb/console.rb, line 63
def input_stream
  Pecorb.config.input_stream
end
output_stream() click to toggle source
# File lib/pecorb/console.rb, line 67
def output_stream
  Pecorb.config.output_stream
end