This Gem::StreamUI subclass records input and output to StringIO for retrieval during tests.
# File lib/rubygems/mock_gem_ui.rb, line 44 def initialize(input = "") ins = StringIO.new input outs = StringIO.new errs = StringIO.new ins.extend TTY outs.extend TTY errs.extend TTY super ins, outs, errs, true @terminated = false end
# File lib/rubygems/mock_gem_ui.rb, line 58 def ask question raise InputEOFError, question if @ins.eof? super end
# File lib/rubygems/mock_gem_ui.rb, line 72 def error @errs.string end
# File lib/rubygems/mock_gem_ui.rb, line 64 def input @ins.string end
# File lib/rubygems/mock_gem_ui.rb, line 68 def output @outs.string end
# File lib/rubygems/mock_gem_ui.rb, line 80 def terminate_interaction(status=0) @terminated = true raise TermError, status if status != 0 raise SystemExitException end
# File lib/rubygems/mock_gem_ui.rb, line 76 def terminated? @terminated end