Class: Bash_Visual::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/bash-visual/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(font = Font.new) ⇒ Builder

Returns a new instance of Builder.



6
7
8
# File 'lib/bash-visual/builder.rb', line 6

def initialize (font = Font.new)
  @default_font = font
end

Instance Method Details

#clearObject



10
11
12
# File 'lib/bash-visual/builder.rb', line 10

def clear
  set_position(0, 0) + "\e[2J"
end

#erase_to_end_lineObject



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_positionObject



18
19
20
# File 'lib/bash-visual/builder.rb', line 18

def restore_position
  "\e[u"
end

#save_positionObject



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