Support for the Ruby 2.4 series has ended. See here for reference.
![show/hide quicksearch [+]](../images/find.png)
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
Displays an alert statement.  Asks a question if given.
 
               # File rubygems/user_interaction.rb, line 102
def alert statement, question = nil
  ui.alert statement, question
end
             
            Displays an error statement to the error output location.  Asks a question if given.
 
               # File rubygems/user_interaction.rb, line 110
def alert_error statement, question = nil
  ui.alert_error statement, question
end
             
            Displays a warning statement to the warning output location.  Asks a question if given.
 
               # File rubygems/user_interaction.rb, line 118
def alert_warning statement, question = nil
  ui.alert_warning statement, question
end
             
            Asks a question and returns the answer.
 
               # File rubygems/user_interaction.rb, line 125
def ask question
  ui.ask question
end
             
            Asks for a password with a prompt
 
               # File rubygems/user_interaction.rb, line 132
def ask_for_password prompt
  ui.ask_for_password prompt
end
             
            Asks a yes or no question.  Returns true for yes, false for no.
 
               # File rubygems/user_interaction.rb, line 139
def ask_yes_no question, default = nil
  ui.ask_yes_no question, default
end
             
            Asks the user to answer question with an answer from the given list.
 
               # File rubygems/user_interaction.rb, line 146
def choose_from_list question, list
  ui.choose_from_list question, list
end
             
            Displays the given statement on the standard output (or equivalent).
 
               # File rubygems/user_interaction.rb, line 153
def say statement = ''
  ui.say statement
end