Module: Gem::UserInteraction
- Includes:
- DefaultUserInteraction
- Included in:
- Command, CommandManager, ConfigFile, DependencyInstaller, Doctor, Ext::Builder, Indexer, Installer, Package, RemoteFetcher, Request, Request, Security::Policy, Security::Signer, Server, SpecFetcher, SpecificationPolicy, Uninstaller, Validator
- Defined in:
- lib/rubygems/user_interaction.rb
Overview
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
Instance Method Summary collapse
-
#alert(statement, question = nil) ⇒ Object
Displays an alert
statement
. -
#alert_error(statement, question = nil) ⇒ Object
Displays an error
statement
to the error output location. -
#alert_warning(statement, question = nil) ⇒ Object
Displays a warning
statement
to the warning output location. -
#ask(question) ⇒ Object
Asks a
question
and returns the answer. -
#ask_for_password(prompt) ⇒ Object
Asks for a password with a
prompt
. -
#ask_yes_no(question, default = nil) ⇒ Object
Asks a yes or no
question
. -
#choose_from_list(question, list) ⇒ Object
Asks the user to answer
question
with an answer from the givenlist
. -
#say(statement = '') ⇒ Object
Displays the given
statement
on the standard output (or equivalent). -
#terminate_interaction(exit_code = 0) ⇒ Object
Terminates the RubyGems process with the given
exit_code
. -
#verbose(msg = nil) ⇒ Object
Calls
say
withmsg
or the results of the block if really_verbose is true.
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Methods included from Text
#clean_text, #format_text, #levenshtein_distance, #min3, #truncate_text
Instance Method Details
#alert(statement, question = nil) ⇒ Object
Displays an alert statement
. Asks a question
if given.
100 101 102 |
# File 'lib/rubygems/user_interaction.rb', line 100 def alert(statement, question = nil) ui.alert statement, question end |
#alert_error(statement, question = nil) ⇒ Object
Displays an error statement
to the error output location. Asks a question
if given.
108 109 110 |
# File 'lib/rubygems/user_interaction.rb', line 108 def alert_error(statement, question = nil) ui.alert_error statement, question end |
#alert_warning(statement, question = nil) ⇒ Object
Displays a warning statement
to the warning output location. Asks a question
if given.
116 117 118 |
# File 'lib/rubygems/user_interaction.rb', line 116 def alert_warning(statement, question = nil) ui.alert_warning statement, question end |
#ask(question) ⇒ Object
Asks a question
and returns the answer.
123 124 125 |
# File 'lib/rubygems/user_interaction.rb', line 123 def ask(question) ui.ask question end |
#ask_for_password(prompt) ⇒ Object
Asks for a password with a prompt
130 131 132 |
# File 'lib/rubygems/user_interaction.rb', line 130 def ask_for_password(prompt) ui.ask_for_password prompt end |
#ask_yes_no(question, default = nil) ⇒ Object
Asks a yes or no question
. Returns true for yes, false for no.
137 138 139 |
# File 'lib/rubygems/user_interaction.rb', line 137 def ask_yes_no(question, default = nil) ui.ask_yes_no question, default end |
#choose_from_list(question, list) ⇒ Object
Asks the user to answer question
with an answer from the given list
.
144 145 146 |
# File 'lib/rubygems/user_interaction.rb', line 144 def choose_from_list(question, list) ui.choose_from_list question, list end |
#say(statement = '') ⇒ Object
Displays the given statement
on the standard output (or equivalent).
151 152 153 |
# File 'lib/rubygems/user_interaction.rb', line 151 def say(statement = '') ui.say statement end |
#terminate_interaction(exit_code = 0) ⇒ Object
Terminates the RubyGems process with the given exit_code
158 159 160 |
# File 'lib/rubygems/user_interaction.rb', line 158 def terminate_interaction(exit_code = 0) ui.terminate_interaction exit_code end |
#verbose(msg = nil) ⇒ Object
Calls say
with msg
or the results of the block if really_verbose is true.
166 167 168 |
# File 'lib/rubygems/user_interaction.rb', line 166 def verbose(msg = nil) say(clean_text(msg || yield)) if Gem.configuration.really_verbose end |