Class: RSpecLive::Terminal

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec-live/terminal.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTerminal

Returns a new instance of Terminal.



5
6
7
8
9
# File 'lib/rspec-live/terminal.rb', line 5

def initialize
  Terminal.reset_curses
  @root_section = TerminalSection.new
  Signal.trap("SIGWINCH", proc { Terminal.reset_curses; @root_section.refresh })
end

Class Method Details

.available_colorsObject



38
39
40
# File 'lib/rspec-live/terminal.rb', line 38

def self.available_colors
  [:blue, :green, :red, :yellow, :white]
end

.color_constant(name) ⇒ Object



34
35
36
# File 'lib/rspec-live/terminal.rb', line 34

def self.color_constant(name)
  Curses.const_get "COLOR_#{name.to_s.upcase}"
end

.reset_cursesObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rspec-live/terminal.rb', line 11

def self.reset_curses
  Curses.init_screen
  Curses.curs_set 0
  Curses.clear
  Curses.refresh
  Curses.start_color
  Curses.use_default_colors
  available_colors.each do |name|
    Curses.init_pair color_constant(name), color_constant(name), -1
  end
  @width = `tput cols`.to_i
  @height = `tput lines`.to_i
  Curses.resizeterm @height, @width
end

.widthObject



26
27
28
# File 'lib/rspec-live/terminal.rb', line 26

def self.width
  @width
end

Instance Method Details

#add_section(*args) ⇒ Object



30
31
32
# File 'lib/rspec-live/terminal.rb', line 30

def add_section(*args)
  @root_section.add_section(*args)
end