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 100
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 108
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 116
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 123
def ask question
ui.ask question
end
Asks for a password with a prompt
# File rubygems/user_interaction.rb, line 130
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 137
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 144
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 151
def say statement = ''
ui.say statement
end