diff options
Diffstat (limited to 'Library/Homebrew/utils/popen.rb')
| -rw-r--r-- | Library/Homebrew/utils/popen.rb | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/Library/Homebrew/utils/popen.rb b/Library/Homebrew/utils/popen.rb new file mode 100644 index 000000000..83f140163 --- /dev/null +++ b/Library/Homebrew/utils/popen.rb @@ -0,0 +1,20 @@ +module Utils +  def self.popen_read(*args, &block) +    popen(args, "rb", &block) +  end + +  def self.popen_write(*args, &block) +    popen(args, "wb", &block) +  end + +  def self.popen(args, mode) +    IO.popen("-", mode) do |pipe| +      if pipe +        yield pipe +      else +        STDERR.reopen("/dev/null", "w") +        exec(*args) +      end +    end +  end +end  | 
