aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils/popen.rb
diff options
context:
space:
mode:
authorShaun Jackman2017-09-19 10:18:04 -0700
committerShaun Jackman2017-09-20 13:25:29 -0700
commit8bf28477a3da58ea5c6113d9ce3228c08c4c0ec0 (patch)
tree3a16a58e11f339435c14f1b1db400a34442a8e50 /Library/Homebrew/utils/popen.rb
parent5d888c08a3186c7ca411a0197e4fcf36f2cd3769 (diff)
downloadbrew-8bf28477a3da58ea5c6113d9ce3228c08c4c0ec0.tar.bz2
popen: Add an options argument
Useful for selectively enabling or silencing stderr, for example. popen_read("foo", err: :err)
Diffstat (limited to 'Library/Homebrew/utils/popen.rb')
-rw-r--r--Library/Homebrew/utils/popen.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/Library/Homebrew/utils/popen.rb b/Library/Homebrew/utils/popen.rb
index 4e03711a1..f30a2a0fe 100644
--- a/Library/Homebrew/utils/popen.rb
+++ b/Library/Homebrew/utils/popen.rb
@@ -1,20 +1,20 @@
module Utils
- def self.popen_read(*args, &block)
- popen(args, "rb", &block)
+ def self.popen_read(*args, **options, &block)
+ popen(args, "rb", options, &block)
end
- def self.popen_write(*args, &block)
- popen(args, "wb", &block)
+ def self.popen_write(*args, **options, &block)
+ popen(args, "wb", options, &block)
end
- def self.popen(args, mode)
+ def self.popen(args, mode, options = {})
IO.popen("-", mode) do |pipe|
if pipe
return pipe.read unless block_given?
yield pipe
else
- $stderr.reopen("/dev/null", "w")
- exec(*args)
+ options[:err] ||= :close
+ exec(*args, options)
end
end
end