Sha256: 0eae0e2ec2c31378b5ef3f0b643adf1dc70236db80c99dda196f2dd727df4f6a

Contents?: true

Size: 1002 Bytes

Versions: 76

Compression:

Stored size: 1002 Bytes

Contents

require 'timeout'
module Eco
  module API
    module Common
      module Session
        module Helpers
          module PromptUser

            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

          end
        end
      end
    end
  end
end

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
eco-helpers-2.1.7 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.6 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.5 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.4 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.3 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.2 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.1.1 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.68 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.67 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.66 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.65 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.64 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.63 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.62 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.61 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.60 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.59 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.58 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.57 lib/eco/api/common/session/helpers/prompt_user.rb
eco-helpers-2.0.56 lib/eco/api/common/session/helpers/prompt_user.rb