Module: Roast::Tools::AskUser
Class Method Summary collapse
-
.included(base) ⇒ Object
Add this method to be included in other classes.
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
Add this method to be included in other classes
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/roast/tools/ask_user.rb', line 10 def included(base) base.class_eval do function( :ask_user, "Ask the user for input with a specific prompt. Returns the user's response.", prompt: { type: "string", description: "The prompt to show the user" }, ) do |params| Roast::Tools::AskUser.call(params[:prompt]) end end end |
Instance Method Details
#call(prompt) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/roast/tools/ask_user.rb', line 23 def call(prompt) Roast::Helpers::Logger.info("💬 Asking user: #{prompt}\n") response = ::CLI::UI::Prompt.ask(prompt) Roast::Helpers::Logger.info("User responded: #{response}\n") response rescue StandardError => e "Error getting user input: #{e.}".tap do || Roast::Helpers::Logger.error( + "\n") Roast::Helpers::Logger.debug(e.backtrace.join("\n") + "\n") if ENV["DEBUG"] end end |