0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
The win32-open3 library provides a working implementation of the open3 library for MS Windows. In addition, it provides the Open4 class, which also returns pid information. Note that this library is unnecessary with Ruby 1.9.x because of its support for native threads.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme
= Description
  This library provides an Open3.popen3 implementation for MS Windows for
  the Ruby 1.8.x branch.

= Prerequisites
  Ruby 1.8.x branch only
  C++ compiler (if building from source)
   
= Installation
  gem install win32-open3                        # Build and install from source
  gem install win32-open3 --platform x86-mingw32 # Install the binary gem
   
= Synopsis
  require 'win32/open3'
	
  Open3.popen3('ver'){ |io_in, io_out, io_err|
    error = io_err.gets

    if error
      puts "Error: " + error.chomp
      exit
    end

    puts "Result: " + io_out.readlines.last.chomp
  }

= Notes
  This library is not supported on Windows 95, 98, or ME.
  This is a stripped down version of Park Heesob's win32_popen library.

= Developer's Notes
  This is a repackaging of Heesob's win32_popen module. The purpose of the
  repackaging was to create a unified API between the existing Ruby open3
  library and this library.

  The popen2 and posix_popen methods are not included in this release. They
  were originally part of the win32_popen module, but have been left out.
  They may be added back in at a later date.

  There are a couple of differences in the Windows version for open3 (which
  also apply to Open4.popen4) - the mode flag and the show flag.  For the
  mode, you can specify either 't' (text, the default) or 'b' (binary) as a
  second argument. For the show flag, you can specify either true or false,
  which will show the console window, or not, depending on the value you
  pass.  The default is false.

= Known Issues
  I have noticed that this library (and others) may segfault if you are using
  the latest version of the Ruby one-click installer and VC++ 7.0 or later.
  This appears to be an issue between VC++ 6 (which the installer was built
  with) and VC++ 7.0. Your best solution is to either upgrade your C
  compiler or to rebuild Ruby from scratch rather than using the installer.
   
= Precompiled binaries
  If you do a typical "gem install win32-open3" you will get a precompiled
  binary appropriate for your platform. If you want to build from source,
  go the project page and download, download the .zip file, and run the
  'install' Rake task from the command line.
   
= Future Plans
  Replace the current implementation with a pure Ruby version, if possible.
 
= More Documentation
  See the doc/open3.txt file for more details.