Module: Kernel
- Defined in:
- lib/core_ext/kernel/silence.rb
Instance Method Summary collapse
Instance Method Details
#silence ⇒ Object
2 3 4 |
# File 'lib/core_ext/kernel/silence.rb', line 2 def silence silence_stream(STDOUT, STDERR) { yield } end |
#silence_stream(*streams) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/core_ext/kernel/silence.rb', line 6 def silence_stream(*streams) on_hold = streams.collect{ |stream| stream.dup } streams.each do |stream| stream.reopen(RUBY_PLATFORM =~ /mswin|mingw/ ? 'NUL:' : '/dev/null') stream.sync = true end yield ensure streams.each_with_index do |stream, i| stream.reopen(on_hold[i]) end end |