Module: Eco::API::Common::Session::Helpers::PromptUser
- Included in:
- InstanceMethods
- Defined in:
- lib/eco/api/common/session/helpers/prompt_user.rb
Instance Method Summary collapse
-
#prompt_user(question, default:, explanation: '', timeout: nil) {|response| ... } ⇒ Object
Prompts user for input with option for default on timeout.
Instance Method Details
#prompt_user(question, default:, explanation: '', timeout: nil) {|response| ... } ⇒ Object
Prompts user for input with option for default on timeout.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/eco/api/common/session/helpers/prompt_user.rb', line 4 def prompt_user(question, default:, explanation: '', timeout: nil) require 'timeout' response = if config.run_mode_remote? default else puts explanation print "#{question} " if timeout begin Timeout.timeout(timeout) { $stdin.gets.chop } rescue Timeout::Error print default puts "\n" default end else $stdin.gets.chop end end return response unless block_given? yield(response) end |