Class: Net::SSH::Prompt

Inherits:
Object
  • Object
show all
Defined in:
lib/net/ssh/prompt.rb

Overview

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

Defined Under Namespace

Classes: Prompter

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Prompt

Returns a new instance of Prompt.


28
# File 'lib/net/ssh/prompt.rb', line 28

def initialize(options = {}); end

Class Method Details

.default(options = {}) ⇒ Object

factory


24
25
26
# File 'lib/net/ssh/prompt.rb', line 24

def self.default(options = {})
  @default ||= new(options)
end

Instance Method Details

#start(info) ⇒ Object

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.


58
59
60
# File 'lib/net/ssh/prompt.rb', line 58

def start(info)
  Prompter.new(info)
end