Class: CW::Print

Inherits:
Object
  • Object
show all
Defined in:
lib/cw/print.rb

Defined Under Namespace

Classes: ProgressPrint

Instance Method Summary collapse

Constructor Details

#initializePrint

Returns a new instance of Print.



30
31
32
33
# File 'lib/cw/print.rb', line 30

def initialize
  update_console_size
  reset
end

Instance Method Details

#char_result(popped) ⇒ Object



94
95
96
97
98
99
100
# 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_sizeObject



35
36
37
38
39
# File 'lib/cw/print.rb', line 35

def console_size
  IO.console.winsize
rescue LoadError
  [Integer(`tput li`), Integer(`tput co`)]
end

#fail(word) ⇒ Object



109
110
111
# File 'lib/cw/print.rb', line 109

def fail word
  print paint("#{word}", fail_colour)
end

#fail_colourObject



149
150
151
# File 'lib/cw/print.rb', line 149

def fail_colour
  Cfg.config["fail_colour"].to_sym || :red
end

#force_newline_maybeObject



56
57
58
59
60
61
# File 'lib/cw/print.rb', line 56

def force_newline_maybe
  if @print_count >= (@cols - 1)
    newline
    true
  end
end

#headingObject



102
103
104
105
106
107
# 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) ⇒ Object



123
124
125
# File 'lib/cw/print.rb', line 123

def list word
  print paint("#{word}", list_colour)
end

#list_colourObject



153
154
155
# File 'lib/cw/print.rb', line 153

def list_colour
  Cfg.config["list_colour"].to_sym || :default
end


135
136
137
# File 'lib/cw/print.rb', line 135

def menu word
  print paint("#{word}", menu_colour)
end


165
166
167
# File 'lib/cw/print.rb', line 165

def menu_colour
  Cfg.config["menu_colour"].to_sym || :yellow
end

#newlineObject



50
51
52
53
54
# File 'lib/cw/print.rb', line 50

def newline
  reset
  update_console_size
  puts "\r"
end

#newline_maybe(word) ⇒ Object



63
64
65
66
67
68
69
70
# 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) ⇒ Object



119
120
121
# File 'lib/cw/print.rb', line 119

def optimum word
  print paint("#{word}", success_colour)
end

#paint(value, colour) ⇒ Object



85
86
87
# File 'lib/cw/print.rb', line 85

def paint(value, colour)
  Paint[value, colour]
end

#paint_success_failure(popped) ⇒ Object



89
90
91
92
# 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


169
170
171
# File 'lib/cw/print.rb', line 169

def print_advice name
  puts "#{name}: Press Q 4 times to Exit"
end

#resetObject



46
47
48
# File 'lib/cw/print.rb', line 46

def reset
  @print_count = 0
end

#results(popped, type = :pass_and_fail) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
# 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) ⇒ Object



131
132
133
# File 'lib/cw/print.rb', line 131

def rx word
  print paint("#{word}", rx_colour)
end

#rx_colourObject



161
162
163
# File 'lib/cw/print.rb', line 161

def rx_colour
  Cfg.config["rx_colour"].to_sym || :blue
end

#speculative(word) ⇒ Object



113
114
115
# File 'lib/cw/print.rb', line 113

def speculative word
  print paint("#{word}", fail_colour)
end

#stable(word) ⇒ Object



116
117
118
# File 'lib/cw/print.rb', line 116

def stable word
  print paint("#{word}", :yellow)
end

#success(word) ⇒ Object



139
140
141
142
143
# 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_colourObject



145
146
147
# File 'lib/cw/print.rb', line 145

def success_colour
  Cfg.config["success_colour"].to_sym || :blue
end

#tx(word) ⇒ Object



127
128
129
# File 'lib/cw/print.rb', line 127

def tx word
  print paint("#{word}", tx_colour)
end

#tx_colourObject



157
158
159
# File 'lib/cw/print.rb', line 157

def tx_colour
  Cfg.config["tx_colour"].to_sym || :red
end

#update_console_sizeObject



41
42
43
44
# 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