class CW::Print

Public Class Methods

new() click to toggle source
# File lib/cw/print.rb, line 30
def initialize
  update_console_size
  reset
end

Public Instance Methods

char_result(popped) click to toggle source
# File lib/cw/print.rb, line 94
def char_result popped
  unless newline_maybe popped[:value]
    popped[:value] = '_' if((popped[:value] == ' ') && (popped[:success] != true))
    paint_success_failure(popped)
    return true
  end
end
console_size() click to toggle source
# File lib/cw/print.rb, line 35
def console_size
  IO.console.winsize
rescue LoadError
  [Integer(`tput li`), Integer(`tput co`)]
end
fail(word) click to toggle source
# File lib/cw/print.rb, line 109
def fail word
  print paint("#{word}", fail_colour)
end
fail_colour() click to toggle source
# File lib/cw/print.rb, line 149
def fail_colour
  Cfg.config["fail_colour"].to_sym || :red
end
force_newline_maybe() click to toggle source
# File lib/cw/print.rb, line 56
def force_newline_maybe
  if @print_count >= (@cols - 1)
    newline
    true
  end
end
heading() click to toggle source
# File lib/cw/print.rb, line 102
def heading
  "Current Sentence is     duration:    secs".length.times do
    print paint('*', list_colour)
    puts
  end
end
list(word) click to toggle source
# File lib/cw/print.rb, line 123
def list word
  print paint("#{word}", list_colour)
end
list_colour() click to toggle source
# File lib/cw/print.rb, line 153
def list_colour
  Cfg.config["list_colour"].to_sym || :default
end
menu(word) click to toggle source
menu_colour() click to toggle source
newline() click to toggle source
# File lib/cw/print.rb, line 50
def newline
  reset
  update_console_size
  puts "\r"
end
newline_maybe(word) click to toggle source
# File lib/cw/print.rb, line 63
def newline_maybe word
  @print_count += word.size unless force_newline_maybe
  return if((word.size == 1) && (word != ' '))
  if @print_count > (@cols - 10)
    newline
    true
  end
end
optimum(word) click to toggle source
# File lib/cw/print.rb, line 119
def optimum word
  print paint("#{word}", success_colour)
end
paint(value, colour) click to toggle source
# File lib/cw/print.rb, line 85
def paint(value, colour)
  Paint[value, colour]
end
paint_success_failure(popped) click to toggle source
# File lib/cw/print.rb, line 89
def paint_success_failure(popped)
  print paint(popped[:value], success_colour) if popped[:success]
  print paint(popped[:value], fail_colour ) unless popped[:success]
end
print_advice(name) click to toggle source
reset() click to toggle source
# File lib/cw/print.rb, line 46
def reset
  @print_count = 0
end
results(popped, type = :pass_and_fail) click to toggle source
# File lib/cw/print.rb, line 72
def results popped, type = :pass_and_fail
  if popped
    value = popped[:value]
    success = popped[:success]

    newline_maybe value

    print Paint["#{value} ", success_colour] if success
    print Paint["#{value} ", fail_colour ] unless (success || type == :pass_only)
    return true
  end
end
rx(word) click to toggle source
# File lib/cw/print.rb, line 131
def rx word
  print paint("#{word}", rx_colour)
end
rx_colour() click to toggle source
# File lib/cw/print.rb, line 161
def rx_colour
  Cfg.config["rx_colour"].to_sym || :blue
end
speculative(word) click to toggle source
# File lib/cw/print.rb, line 113
def speculative word
  print paint("#{word}", fail_colour)
end
stable(word) click to toggle source
# File lib/cw/print.rb, line 116
def stable word
  print paint("#{word}", :yellow)
end
success(word) click to toggle source
# File lib/cw/print.rb, line 139
def success word
  newline_maybe word
  return if(@print_count == 0 && word == ' ')
  print paint("#{word}", success_colour)
end
success_colour() click to toggle source
# File lib/cw/print.rb, line 145
def success_colour
  Cfg.config["success_colour"].to_sym || :blue
end
tx(word) click to toggle source
# File lib/cw/print.rb, line 127
def tx word
  print paint("#{word}", tx_colour)
end
tx_colour() click to toggle source
# File lib/cw/print.rb, line 157
def tx_colour
  Cfg.config["tx_colour"].to_sym || :red
end
update_console_size() click to toggle source
# File lib/cw/print.rb, line 41
def update_console_size
  @rows, @cols = console_size
  #    printf "%d rows by %d columns\n", @rows, @cols
end