diff options
Diffstat (limited to 'lib/rubygems/user_interaction.rb')
-rw-r--r-- | lib/rubygems/user_interaction.rb | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/rubygems/user_interaction.rb b/lib/rubygems/user_interaction.rb index 9822a23c35..ff5800c116 100644 --- a/lib/rubygems/user_interaction.rb +++ b/lib/rubygems/user_interaction.rb @@ -530,9 +530,21 @@ end ## # SilentUI is a UI choice that is absolutely silent. -class Gem::SilentUI - def method_missing(sym, *args, &block) - self +class Gem::SilentUI < Gem::StreamUI + + def initialize + + reader, writer = nil, nil + + if Gem.win_platform? + reader = File.open('nul', 'r') + writer = File.open('nul', 'w') + else + reader = File.open('/dev/null', 'r') + writer = File.open('/dev/null', 'w') + end + + super reader, writer, writer end end |