Support for the Ruby 2.4 series has ended. See here for reference.

In Files

  • rubygems/user_interaction.rb

Class/Module Index [+]

Quicksearch

Gem::UserInteraction

UserInteraction allows RubyGems to interact with the user through standard methods that can be replaced with more-specific UI methods for different displays.

Since UserInteraction dispatches to a concrete UI class you may need to reference other classes for specific behavior such as Gem::ConsoleUI or Gem::SilentUI.

Example:

class X
  include Gem::UserInteraction

  def get_answer
    n = ask("What is the meaning of life?")
  end
end

Public Instance Methods

alert(statement, question = nil) click to toggle source

Displays an alert statement. Asks a question if given.

 
               # File rubygems/user_interaction.rb, line 105
def alert statement, question = nil
  ui.alert statement, question
end
            
alert_error(statement, question = nil) click to toggle source

Displays an error statement to the error output location. Asks a question if given.

 
               # File rubygems/user_interaction.rb, line 113
def alert_error statement, question = nil
  ui.alert_error statement, question
end
            
alert_warning(statement, question = nil) click to toggle source

Displays a warning statement to the warning output location. Asks a question if given.

 
               # File rubygems/user_interaction.rb, line 121
def alert_warning statement, question = nil
  ui.alert_warning statement, question
end
            
ask(question) click to toggle source

Asks a question and returns the answer.

 
               # File rubygems/user_interaction.rb, line 128
def ask question
  ui.ask question
end
            
ask_for_password(prompt) click to toggle source

Asks for a password with a prompt

 
               # File rubygems/user_interaction.rb, line 135
def ask_for_password prompt
  ui.ask_for_password prompt
end
            
ask_yes_no(question, default = nil) click to toggle source

Asks a yes or no question. Returns true for yes, false for no.

 
               # File rubygems/user_interaction.rb, line 142
def ask_yes_no question, default = nil
  ui.ask_yes_no question, default
end
            
choose_from_list(question, list) click to toggle source

Asks the user to answer question with an answer from the given list.

 
               # File rubygems/user_interaction.rb, line 149
def choose_from_list question, list
  ui.choose_from_list question, list
end
            
say(statement = '') click to toggle source

Displays the given statement on the standard output (or equivalent).

 
               # File rubygems/user_interaction.rb, line 156
def say statement = ''
  ui.say statement
end
            
terminate_interaction(exit_code = 0) click to toggle source

Terminates the RubyGems process with the given exit_code

 
               # File rubygems/user_interaction.rb, line 163
def terminate_interaction exit_code = 0
  ui.terminate_interaction exit_code
end
            
verbose(msg = nil) click to toggle source

Calls say with msg or the results of the block if really_verbose is true.

 
               # File rubygems/user_interaction.rb, line 171
def verbose(msg = nil)
  say(clean_text(msg || yield)) if Gem.configuration.really_verbose
end