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
|