Class: Gem::MockGemUi

Inherits:
StreamUI show all
Defined in:
lib/rubygems/mock_gem_ui.rb

Overview

This Gem::StreamUI subclass records input and output to StringIO for retrieval during tests.

Defined Under Namespace

Modules: TTY Classes: SystemExitException, TermError

Instance Attribute Summary

Attributes inherited from StreamUI

#errs, #ins, #outs

Instance Method Summary collapse

Methods inherited from StreamUI

#alert, #alert_error, #alert_warning, #ask, #ask_for_password, #ask_for_password_on_unix, #ask_for_password_on_windows, #ask_yes_no, #choose_from_list, #debug, #download_reporter, #progress_reporter, #say, #tty?

Constructor Details

#initialize(input = "") ⇒ MockGemUi

Returns a new instance of MockGemUi.



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/rubygems/mock_gem_ui.rb', line 33

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

Instance Method Details

#errorObject



55
56
57
# File 'lib/rubygems/mock_gem_ui.rb', line 55

def error
  @errs.string
end

#inputObject



47
48
49
# File 'lib/rubygems/mock_gem_ui.rb', line 47

def input
  @ins.string
end

#outputObject



51
52
53
# File 'lib/rubygems/mock_gem_ui.rb', line 51

def output
  @outs.string
end

#terminate_interaction(status = 0) ⇒ Object

Raises:



63
64
65
66
67
68
# File 'lib/rubygems/mock_gem_ui.rb', line 63

def terminate_interaction(status=0)
  @terminated = true

  raise TermError, status if status != 0
  raise SystemExitException
end

#terminated?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/rubygems/mock_gem_ui.rb', line 59

def terminated?
  @terminated
end