Module: Term
Overview
Example usage:
puts Term::Table[ (1..100).to_a ].horizontally #=> prints all the numbers, ordered across rows
puts Term::Table[ (1..100).to_a ].vertically #=> prints all the numbers, ordered across columns
puts Term::Table[ [[1,2], [3,4]] ] #=> prints the table that was supplied
Term::Table.new do |t|
t.row [...]
t.rows[5] = [...]
t.rows << [...]
t.col []
end.to_s
table.compact.to_s #=> minimize the table's columns
Defined Under Namespace
Instance Attribute Summary collapse
-
#wrap ⇒ Object
Returns the value of attribute wrap.
-
#x ⇒ Object
Returns the value of attribute x.
-
#y ⇒ Object
Returns the value of attribute y.
Instance Method Summary collapse
- #clear ⇒ Object
- #clear_eol ⇒ Object
- #clear_line ⇒ Object
- #color(fore, back = nil) ⇒ Object
- #goto(x, y) ⇒ Object
- #height ⇒ Object
- #hide_cursor ⇒ Object
- #home ⇒ Object
- #move_to(row: 1, col: 1) ⇒ Object
- #move_to_bottom ⇒ Object
- #move_to_row(n) ⇒ Object
- #move_to_top ⇒ Object
- #pos ⇒ Object
- #puts(s) ⇒ Object
- #show_cursor ⇒ Object
-
#size ⇒ Object
Return the [width,height] of the terminal.
- #width ⇒ Object
Instance Attribute Details
#wrap ⇒ Object
Returns the value of attribute wrap.
26 27 28 |
# File 'lib/epitools/term.rb', line 26 def wrap @wrap end |
#x ⇒ Object
Returns the value of attribute x.
26 27 28 |
# File 'lib/epitools/term.rb', line 26 def x @x end |
#y ⇒ Object
Returns the value of attribute y.
26 27 28 |
# File 'lib/epitools/term.rb', line 26 def y @y end |
Instance Method Details
#clear ⇒ Object
40 41 42 |
# File 'lib/epitools/term.rb', line 40 def clear print "\e[H\e[J" end |
#clear_eol ⇒ Object
48 49 50 |
# File 'lib/epitools/term.rb', line 48 def clear_eol print "\e[0K" end |
#clear_line ⇒ Object
44 45 46 |
# File 'lib/epitools/term.rb', line 44 def clear_line print "\e[2K" end |
#color(fore, back = nil) ⇒ Object
80 81 82 83 |
# File 'lib/epitools/term.rb', line 80 def color(fore, back=nil) @fore = fore @back = back if back end |
#goto(x, y) ⇒ Object
37 |
# File 'lib/epitools/term.rb', line 37 def goto(x,y); @x, @y = x, y; end |
#height ⇒ Object
36 |
# File 'lib/epitools/term.rb', line 36 def height; size[1]; end |
#hide_cursor ⇒ Object
72 73 74 |
# File 'lib/epitools/term.rb', line 72 def hide_cursor print "\e[?25l" end |
#home ⇒ Object
56 57 58 |
# File 'lib/epitools/term.rb', line 56 def home move_to end |
#move_to(row: 1, col: 1) ⇒ Object
52 53 54 |
# File 'lib/epitools/term.rb', line 52 def move_to(row: 1, col: 1) print "\e[#{row};#{col}H" end |
#move_to_bottom ⇒ Object
64 65 66 |
# File 'lib/epitools/term.rb', line 64 def move_to_bottom move_to_row(height-1) end |
#move_to_row(n) ⇒ Object
60 61 62 |
# File 'lib/epitools/term.rb', line 60 def move_to_row(n) move_to(row: n) end |
#move_to_top ⇒ Object
68 69 70 |
# File 'lib/epitools/term.rb', line 68 def move_to_top move_to_row(1) end |
#pos ⇒ Object
38 |
# File 'lib/epitools/term.rb', line 38 def pos; [@x, @y]; end |
#puts(s) ⇒ Object
85 86 87 |
# File 'lib/epitools/term.rb', line 85 def puts(s) # some curses shit end |
#show_cursor ⇒ Object
76 77 78 |
# File 'lib/epitools/term.rb', line 76 def show_cursor print "\e[?25h" end |
#size ⇒ Object
Return the [width,height] of the terminal.
31 32 33 |
# File 'lib/epitools/term.rb', line 31 def size $stdout.winsize.reverse end |
#width ⇒ Object
35 |
# File 'lib/epitools/term.rb', line 35 def width; size[0]; end |