Class: Gem::MockGemUi
  
  
  
Overview
  
    
This Gem::StreamUI subclass records input and output to StringIO for retrieval during tests.
   
 
  
Defined Under Namespace
  
    
      Modules: TTY
    
  
    
      Classes: InputEOFError, SystemExitException, TermError
    
  
  Instance Attribute Summary
  
  Attributes inherited from StreamUI
  #errs, #ins, #outs
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from StreamUI
  #_gets_noecho, #alert, #alert_error, #alert_warning, #ask_for_password, #ask_yes_no, #backtrace, #choose_from_list, #close, #download_reporter, #progress_reporter, #require_io_console, #say, #tty?
  
  
  
  
  
  
  
  
  Methods included from Deprecate
  #deprecate, next_rubygems_major_version, rubygems_deprecate, rubygems_deprecate_command, skip, skip=, skip_during
  Constructor Details
  
    
  
  
    #initialize(input = "")  ⇒ MockGemUi 
  
  
  
  
    
Returns a new instance of MockGemUi.
   
 
  
  
    
      
42
43
44
45
46
47
48
49
50
51
52
53
54
55 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 42
def initialize(input = "")
  require "stringio"
  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 
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #ask(question)  ⇒ Object 
  
  
  
  
    
      
57
58
59
60
61 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 57
def ask(question)
  raise InputEOFError, question if @ins.eof?
  super
end 
     | 
  
 
    
      
  
  
    #error  ⇒ Object 
  
  
  
  
    
      
71
72
73 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 71
def error
  @errs.string
end 
     | 
  
 
    
      
  
  
    
      
63
64
65 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 63
def input
  @ins.string
end 
     | 
  
 
    
      
  
  
    #output  ⇒ Object 
  
  
  
  
    
      
67
68
69 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 67
def output
  @outs.string
end 
     | 
  
 
    
      
  
  
    #terminate_interaction(status = 0)  ⇒ Object 
  
  
  
  
    
      
79
80
81
82
83
84 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 79
def terminate_interaction(status=0)
  @terminated = true
  raise TermError, status if status != 0
  raise SystemExitException
end 
     | 
  
 
    
      
  
  
    #terminated?  ⇒ Boolean 
  
  
  
  
    
      
75
76
77 
     | 
    
      # File 'lib/rubygems/mock_gem_ui.rb', line 75
def terminated?
  @terminated
end 
     |