module Eco::API::Common::Session::Helpers::PromptUser

Public Instance Methods

prompt_user(question, default:, explanation: "", timeout: nil) { |response| ... } click to toggle source
# File lib/eco/api/common/session/helpers/prompt_user.rb, line 9
def prompt_user(question, default:, explanation: "", timeout: nil)
  response = if config.run_mode_remote?
              default
            else
              puts explanation
              print "#{question} "
              if timeout
                begin
                  Timeout::timeout(timeout) { STDIN.gets.chop }
                rescue Timeout::Error
                  default
                end
              else
                STDIN.gets.chop
              end
            end
  return response unless block_given?
  yield(response)
end