File: quiet.rb

package info (click to toggle)
jruby 1.5.1-1
  • links: PTS, VCS
  • area: non-free
  • in suites: squeeze
  • size: 46,252 kB
  • ctags: 72,039
  • sloc: ruby: 398,155; java: 169,482; yacc: 3,782; xml: 2,469; ansic: 415; sh: 279; makefile: 78; tcl: 40
file content (24 lines) | stat: -rw-r--r-- 409 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require 'rbconfig'

WINDOWS = Config::CONFIG['host_os'] =~ /Windows|mswin/

if (WINDOWS)
  @devnull = 'NUL:'
else
  @devnull = '/dev/null'
end

def quiet( &block )
  io = [STDOUT.dup, STDERR.dup]
  STDOUT.reopen @devnull
  STDERR.reopen @devnull
  block.call
ensure
  STDOUT.reopen io.first
  STDERR.reopen io.last
  $stdout, $stderr = STDOUT, STDERR
end

quiet { puts 'foo' }
quiet { puts 'foo' }
puts 'foo'