Module: Interleave

Defined in:
lib/interleave.rb,
lib/interleave/version.rb

Constant Summary collapse

Colors =
[:yellow, :red]
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.startObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/interleave.rb', line 9

def self.start

  ARGV.map.with_index do |cmd, i|
    puts "Running #{cmd}".send Colors[i]
    Open3.popen3 cmd
  end.
  tap {|e| sleep 2 }.
  each_with_index do |(r,o,e,t), i|
    r.close
    Thread.new do
      loop { print o.readline.send Colors[i] }
    end
  end

  Thread.new do
    loop do
      puts Time.now.to_s.light_black
      sleep 0.1
    end
  end

  loop {sleep 1}
end