模块 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
公共实例方法
源代码
# File lib/rubygems/user_interaction.rb, line 98 def alert(statement, question = nil) ui.alert statement, question end
显示一个警告statement
。如果给定了 question
,则会询问该问题。
源代码
# File lib/rubygems/user_interaction.rb, line 106 def alert_error(statement, question = nil) ui.alert_error statement, question end
向错误输出位置显示一个错误statement
。如果给定了 question
,则会询问该问题。
源代码
# File lib/rubygems/user_interaction.rb, line 114 def alert_warning(statement, question = nil) ui.alert_warning statement, question end
向警告输出位置显示一个警告statement
。如果给定了 question
,则会询问该问题。
源代码
# File lib/rubygems/user_interaction.rb, line 121 def ask(question) ui.ask question end
提出一个question
并返回答案。
源代码
# File lib/rubygems/user_interaction.rb, line 128 def ask_for_password(prompt) ui.ask_for_password prompt end
使用 prompt
询问密码
源代码
# File lib/rubygems/user_interaction.rb, line 135 def ask_yes_no(question, default = nil) ui.ask_yes_no question, default end
提出一个“是”或“否”的question
。对于“是”返回 true,对于“否”返回 false。
源代码
# File lib/rubygems/user_interaction.rb, line 142 def choose_from_list(question, list) ui.choose_from_list question, list end
要求用户回答 question
,答案必须来自给定的 list
。
源代码
# File lib/rubygems/user_interaction.rb, line 149 def say(statement = "") ui.say statement end
在标准输出(或等效输出)上显示给定的 statement
。
源代码
# File lib/rubygems/user_interaction.rb, line 156 def terminate_interaction(exit_code = 0) ui.terminate_interaction exit_code end
使用给定的 exit_code
终止 RubyGems 进程
源代码
# File lib/rubygems/user_interaction.rb, line 164 def verbose(msg = nil) say(clean_text(msg || yield)) if Gem.configuration.really_verbose end
如果 really_verbose 为 true,则使用 msg
或块的结果调用 say
。