Class: Autotest::Screen
- Inherits:
-
Object
- Object
- Autotest::Screen
- Defined in:
- lib/autotest/screen.rb
Overview
Autotest::Screen shows autotest/autospec progress on GNU Screen’s status line.
FEATURES:
-
Screenshots are available in here.
SYNOPSIS
$HOME/.autotest
require 'autotest/screen'
# Autotest::Screen.statusline = '%H %`%-w%{=b bw}%n %t%{-}%+w (your statusline)'
Constant Summary collapse
- VERSION =
'4.0.2'
- DEFAULT_STATUSLINE =
'%H %`%-w%{=b bw}%n %t%{-}%+w'
- DEFAULT_SCREEN_CMD =
'screen'
- SCREEN_COLOR =
{ :black => 'dd', :green => 'gw', :yellow => 'yk', :red => 'rw' }
Class Method Summary collapse
- .clear ⇒ Object
- .execute? ⇒ Boolean
- .message(msg, color = :black) ⇒ Object
- .run_screen_session? ⇒ Boolean
- .screen_cmd ⇒ Object
- .screen_cmd=(a) ⇒ Object
- .send_cmd(msg) ⇒ Object
- .statusline ⇒ Object
- .statusline=(a) ⇒ Object
Class Method Details
.clear ⇒ Object
35 36 37 |
# File 'lib/autotest/screen.rb', line 35 def self.clear send_cmd('') end |
.execute? ⇒ Boolean
44 45 46 |
# File 'lib/autotest/screen.rb', line 44 def self.execute? !($TESTING || !run_screen_session?) end |
.message(msg, color = :black) ⇒ Object
29 30 31 32 33 |
# File 'lib/autotest/screen.rb', line 29 def self.(msg, color = :black) col = SCREEN_COLOR[color] msg = %Q[ %{=b #{col}} #{msg} %{-}] send_cmd(msg) end |
.run_screen_session? ⇒ Boolean
39 40 41 42 |
# File 'lib/autotest/screen.rb', line 39 def self.run_screen_session? str = `#{screen_cmd} -ls` str.match(/(\d+) Socket/) && ($1.to_i > 0) end |
.screen_cmd ⇒ Object
51 |
# File 'lib/autotest/screen.rb', line 51 def self.screen_cmd; @screen_cmd || DEFAULT_SCREEN_CMD.dup; end |
.screen_cmd=(a) ⇒ Object
52 |
# File 'lib/autotest/screen.rb', line 52 def self.screen_cmd=(a); @screen_cmd = a; end |
.send_cmd(msg) ⇒ Object
54 55 56 57 58 |
# File 'lib/autotest/screen.rb', line 54 def self.send_cmd(msg) cmd = %(#{screen_cmd} -X eval 'hardstatus alwayslastline "#{(statusline + msg).gsub('"', '\"')}"') #' stupid ruby-mode system cmd nil end |
.statusline ⇒ Object
49 |
# File 'lib/autotest/screen.rb', line 49 def self.statusline; @statusline || DEFAULT_STATUSLINE.dup; end |
.statusline=(a) ⇒ Object
50 |
# File 'lib/autotest/screen.rb', line 50 def self.statusline=(a); @statusline = a; end |