mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Import rubygems 1.6.0 (released version @ 58d8a0b9)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
86bb0af7ea
commit
25a9b62d45
73 changed files with 2408 additions and 719 deletions
|
@ -182,29 +182,24 @@ class Gem::StreamUI
|
|||
end
|
||||
end
|
||||
|
||||
qstr = case default
|
||||
when nil
|
||||
'yn'
|
||||
when true
|
||||
'Yn'
|
||||
else
|
||||
'yN'
|
||||
end
|
||||
default_answer = case default
|
||||
when nil
|
||||
'yn'
|
||||
when true
|
||||
'Yn'
|
||||
else
|
||||
'yN'
|
||||
end
|
||||
|
||||
result = nil
|
||||
|
||||
while result.nil?
|
||||
result = ask("#{question} [#{qstr}]")
|
||||
result = case result
|
||||
when /^[Yy].*/
|
||||
true
|
||||
when /^[Nn].*/
|
||||
false
|
||||
when /^$/
|
||||
default
|
||||
else
|
||||
nil
|
||||
end
|
||||
while result.nil? do
|
||||
result = case ask "#{question} [#{default_answer}]"
|
||||
when /^y/i then true
|
||||
when /^n/i then false
|
||||
when /^$/ then default
|
||||
else nil
|
||||
end
|
||||
end
|
||||
|
||||
return result
|
||||
|
@ -531,20 +526,26 @@ end
|
|||
# SilentUI is a UI choice that is absolutely silent.
|
||||
|
||||
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
|
||||
begin
|
||||
reader = File.open('/dev/null', 'r')
|
||||
writer = File.open('/dev/null', 'w')
|
||||
rescue Errno::ENOENT
|
||||
reader = File.open('nul', 'r')
|
||||
writer = File.open('nul', 'w')
|
||||
end
|
||||
|
||||
super reader, writer, writer
|
||||
end
|
||||
|
||||
def download_reporter(*args)
|
||||
SilentDownloadReporter.new(@outs, *args)
|
||||
end
|
||||
|
||||
def progress_reporter(*args)
|
||||
SilentProgressReporter.new(@outs, *args)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue