Sha256: 79a6c0ab42a8b948eea021c8ab0e7f63cfcc2e25ae1c0f9da7c1b9d8cc552f66

Contents?: true

Size: 249 Bytes

Versions: 45

Compression:

Stored size: 249 Bytes

Contents

require 'pty'

module Bizside::SafePty

  def self.spawn command, &block
    PTY.spawn(command) do |r, w, p|
      begin
        yield r, w, p
      rescue Errno::EIO
      ensure
        Process.wait p
      end
    end

    $?.exitstatus
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
bizside-2.3.10 lib/bizside/safe_pty.rb
bizside-3.0.7 lib/bizside/safe_pty.rb
bizside-3.0.6 lib/bizside/safe_pty.rb
bizside-3.0.5 lib/bizside/safe_pty.rb
bizside-3.0.4 lib/bizside/safe_pty.rb
bizside-2.3.9 lib/bizside/safe_pty.rb
bizside-3.0.3 lib/bizside/safe_pty.rb
bizside-2.3.8 lib/bizside/safe_pty.rb
bizside-3.0.2 lib/bizside/safe_pty.rb
bizside-3.0.1 lib/bizside/safe_pty.rb
bizside-3.0.0 lib/bizside/safe_pty.rb
bizside-2.3.7 lib/bizside/safe_pty.rb
bizside-2.3.6 lib/bizside/safe_pty.rb
bizside-2.3.5 lib/bizside/safe_pty.rb
bizside-2.3.4 lib/bizside/safe_pty.rb
bizside-2.3.3 lib/bizside/safe_pty.rb
bizside-2.3.2 lib/bizside/safe_pty.rb
bizside-2.3.1 lib/bizside/safe_pty.rb
bizside-2.3.0 lib/bizside/safe_pty.rb
bizside-2.2.3 lib/bizside/safe_pty.rb