module Gem::UserInteraction
UserInteraction 允许 RubyGems 通过标准方法与用户交互,这些方法可以被替换为针对不同显示器的更具体的 UI 方法。
由于 UserInteraction 会分派到具体的 UI 类,您可能需要引用其他类来获取特定行为,例如 Gem::ConsoleUI 或 Gem::SilentUI。
示例
class X include Gem::UserInteraction def get_answer n = ask("What is the meaning of life?") end end
Public Instance Methods
Source
# File lib/rubygems/user_interaction.rb, line 97 def alert(statement, question = nil) ui.alert statement, question end
显示一个警报 statement。如果提供了 question,则会询问该问题。
Source
# File lib/rubygems/user_interaction.rb, line 105 def alert_error(statement, question = nil) ui.alert_error statement, question end
将错误 statement 显示到错误输出位置。如果提供了 question,则会询问该问题。
Source
# File lib/rubygems/user_interaction.rb, line 113 def alert_warning(statement, question = nil) ui.alert_warning statement, question end
将警告 statement 显示到警告输出位置。如果提供了 question,则会询问该问题。
Source
# File lib/rubygems/user_interaction.rb, line 120 def ask(question) ui.ask question end
询问一个 question 并返回答案。
Source
# File lib/rubygems/user_interaction.rb, line 127 def ask_for_password(prompt) ui.ask_for_password prompt end
使用 prompt 询问密码。
Source
# File lib/rubygems/user_interaction.rb, line 134 def ask_yes_no(question, default = nil) ui.ask_yes_no question, default end
询问一个是或否的 question。对于“是”返回 true,对于“否”返回 false。
Source
# File lib/rubygems/user_interaction.rb, line 141 def choose_from_list(question, list) ui.choose_from_list question, list end
要求用户使用给定的 list 中的一个答案来回答 question。
Source
# File lib/rubygems/user_interaction.rb, line 148 def say(statement = "") ui.say statement end
在标准输出(或等效输出)上显示给定的 statement。
Source
# File lib/rubygems/user_interaction.rb, line 155 def terminate_interaction(exit_code = 0) ui.terminate_interaction exit_code end
使用给定的 exit_code 终止 RubyGems 进程。
Source
# File lib/rubygems/user_interaction.rb, line 163 def verbose(msg = nil) say(clean_text(msg || yield)) if Gem.configuration.really_verbose end
如果 `really_verbose` 为 true,则使用 msg 或代码块的结果调用 say。