Class: CW::Print
- Inherits:
-
Object
- Object
- CW::Print
- Defined in:
- lib/cw/print.rb
Defined Under Namespace
Classes: ProgressPrint
Instance Method Summary collapse
- #char_result(popped) ⇒ Object
- #console_size ⇒ Object
- #fail(word) ⇒ Object
- #fail_colour ⇒ Object
- #force_newline_maybe ⇒ Object
- #heading ⇒ Object
-
#initialize ⇒ Print
constructor
A new instance of Print.
- #list(word) ⇒ Object
- #list_colour ⇒ Object
- #menu(word) ⇒ Object
- #menu_colour ⇒ Object
- #newline ⇒ Object
- #newline_maybe(word) ⇒ Object
- #optimum(word) ⇒ Object
- #paint(value, colour) ⇒ Object
- #paint_success_failure(popped) ⇒ Object
- #print_advice(name) ⇒ Object
- #reset ⇒ Object
- #results(popped, type = :pass_and_fail) ⇒ Object
- #rx(word) ⇒ Object
- #rx_colour ⇒ Object
- #speculative(word) ⇒ Object
- #stable(word) ⇒ Object
- #success(word) ⇒ Object
- #success_colour ⇒ Object
- #tx(word) ⇒ Object
- #tx_colour ⇒ Object
- #update_console_size ⇒ Object
Constructor Details
#initialize ⇒ Print
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_size ⇒ Object
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_colour ⇒ Object
149 150 151 |
# File 'lib/cw/print.rb', line 149 def fail_colour Cfg.config["fail_colour"].to_sym || :red end |
#force_newline_maybe ⇒ Object
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 |
#heading ⇒ Object
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_colour ⇒ Object
153 154 155 |
# File 'lib/cw/print.rb', line 153 def list_colour Cfg.config["list_colour"].to_sym || :default end |
#menu(word) ⇒ Object
135 136 137 |
# File 'lib/cw/print.rb', line 135 def word print paint("#{word}", ) end |
#menu_colour ⇒ Object
165 166 167 |
# File 'lib/cw/print.rb', line 165 def Cfg.config["menu_colour"].to_sym || :yellow end |
#newline ⇒ Object
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 |
#print_advice(name) ⇒ Object
169 170 171 |
# File 'lib/cw/print.rb', line 169 def print_advice name puts "#{name}: Press Q 4 times to Exit" end |
#reset ⇒ Object
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_colour ⇒ Object
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_colour ⇒ Object
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_colour ⇒ Object
157 158 159 |
# File 'lib/cw/print.rb', line 157 def tx_colour Cfg.config["tx_colour"].to_sym || :red end |
#update_console_size ⇒ Object
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 |