Sha256: b00ea2fef6d49aa4dc8713cc92a698a343ccbfe410e3762d57cec40d4ee78ad3

Contents?: true

Size: 886 Bytes

Versions: 2

Compression:

Stored size: 886 Bytes

Contents

require 'rubygems'
require 'stringio'
require 'open3'

class Shellout

  def self.relay src, dst
    while((buf = src.read(8192))); dst << buf; end 
  end 

  def self.execute(cmd)
    out, err, exit_status = Open3.capture3(cmd)

    return exit_status, out, err
  end

  def run(cmd)
    Shellout::execute(cmd)
  end

end

if $0 == __FILE__
  shell = Shellout.new
  date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
  status, stdout, stderr = shell.run(date)
  p [status.exitstatus, stdout, stderr]

  sleep = %q( ruby -e"  p(sleep(1))  " )
  status, stdout, stderr = shell.run(sleep)
  p [status.exitstatus, stdout, stderr]

  cat = 'ruby -e"  puts Array.new(65536){ 42 }  "'
  status, stdout, stderr = shell.run(cat)
  p [status.exitstatus, stdout, stderr]

  status, stdout, stderr = shell.run('osiudfoisynajtet32')
  p [status.exitstatus, stdout, stderr]

end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ohloh_scm-2.0.1 lib/ohloh_scm/shellout.rb
ohloh_scm-2.0.0 lib/ohloh_scm/shellout.rb