diff options
| author | Shaun Jackman | 2017-09-19 10:18:04 -0700 |
|---|---|---|
| committer | Shaun Jackman | 2017-09-20 13:25:29 -0700 |
| commit | 8bf28477a3da58ea5c6113d9ce3228c08c4c0ec0 (patch) | |
| tree | 3a16a58e11f339435c14f1b1db400a34442a8e50 /Library/Homebrew/utils/popen.rb | |
| parent | 5d888c08a3186c7ca411a0197e4fcf36f2cd3769 (diff) | |
| download | brew-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.rb | 14 |
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 |
