Method: Wopen3::Result#initialize

Defined in:
lib/wopen3.rb

#initialize(*args) ⇒ Result

Returns a new instance of Result.



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/wopen3.rb', line 88

def initialize *args
  @args = args
  @stderr = ''
  @stdout = ''
  Wopen3.popen3 *args do |stdin, stdout, stderr|
    threads = []
    threads << Thread.new(stdout) do |out|
      out.each { |line| @stdout << line }
    end
    threads << Thread.new(stderr) do |err|
      err.each { |line| @stderr << line }
    end
    threads.each { |thread| thread.join }
  end
  @status = $?.exitstatus
end