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