Class: Bash_Visual::Builder
- Inherits:
-
Object
- Object
- Bash_Visual::Builder
- Defined in:
- lib/bash-visual/builder.rb
Instance Method Summary collapse
- #clear ⇒ Object
- #erase_to_end_line ⇒ Object
-
#initialize(font = Font.new) ⇒ Builder
constructor
A new instance of Builder.
- #move_position(offset_x, offset_y) ⇒ Object
- #restore_position ⇒ Object
- #save_position ⇒ Object
- #set_position(x, y) ⇒ Object
- #write(text, font = nil) ⇒ Object
- #write_ln(text, font = nil) ⇒ Object
- #write_to_position(x, y, text, font = nil) ⇒ Object
Constructor Details
Instance Method Details
#clear ⇒ Object
10 11 12 |
# File 'lib/bash-visual/builder.rb', line 10 def clear set_position(0, 0) + "\e[2J" end |
#erase_to_end_line ⇒ Object
14 15 16 |
# File 'lib/bash-visual/builder.rb', line 14 def erase_to_end_line "\e[K" end |
#move_position(offset_x, offset_y) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/bash-visual/builder.rb', line 30 def move_position(offset_x, offset_y) bash = '' if (offset_y > 0) bash << "\e[#{offset_y}B" else bash << "\e[#{offset_y.abs}A" end if (offset_x > 0) bash << "\e[#{offset_x}C" else bash << "\e[#{offset_x.abs}D" end bash end |
#restore_position ⇒ Object
18 19 20 |
# File 'lib/bash-visual/builder.rb', line 18 def restore_position "\e[u" end |
#save_position ⇒ Object
22 23 24 |
# File 'lib/bash-visual/builder.rb', line 22 def save_position "\e[s" end |
#set_position(x, y) ⇒ Object
26 27 28 |
# File 'lib/bash-visual/builder.rb', line 26 def set_position(x, y) "\e[#{y.to_i};#{x.to_i}H" end |
#write(text, font = nil) ⇒ Object
54 55 56 57 |
# File 'lib/bash-visual/builder.rb', line 54 def write(text, font = nil) return text if font.nil? font.to_bash + text + Font::RESET end |
#write_ln(text, font = nil) ⇒ Object
59 60 61 62 |
# File 'lib/bash-visual/builder.rb', line 59 def write_ln(text, font = nil) return text + "\n" if font.nil? font.to_bash + text.to_s + "\n" + Font::RESET end |
#write_to_position(x, y, text, font = nil) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/bash-visual/builder.rb', line 45 def write_to_position(x, y, text, font = nil) bash = '' bash << save_position() bash << move_position(x, y) bash << write(text, font) bash << restore_position() bash end |