Default prompt implementation, called for asking password from user. It will never be instantiated directly, but will instead be created for you automatically.
A custom prompt objects can implement caching, or different UI. The prompt object should implemnted a start method, which should return something implementing ask and success. Net::SSH uses it like:
prompter = options[:password_prompt].start({type:'password'}) while !ok && max_retries < 3 user = prompter.ask("user: ", {}, true) password = prompter.ask("password: ", {}, false) ok = send(user, password) prompter.sucess if ok end
factory
# File lib/net/ssh/prompt.rb, line 23 def self.default(options = {}) @default ||= new(options) end
# File lib/net/ssh/prompt.rb, line 27 def initialize(options = {}); end
start password session. Multiple questions might be asked multiple times on the returned object. Info hash tries to uniquely identify the password session, so caching implementations can save passwords properly.
# File lib/net/ssh/prompt.rb, line 57 def start(info) Prompter.new(info) end