Class: Net::SSH::Prompt
- Inherits:
-
Object
- Object
- Net::SSH::Prompt
- 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 = [: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
-
.default(options = {}) ⇒ Object
factory.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Prompt
constructor
A new instance of Prompt.
-
#start(info) ⇒ Object
start password session.
Constructor Details
#initialize(options = {}) ⇒ Prompt
Returns a new instance of Prompt.
28 |
# File 'lib/net/ssh/prompt.rb', line 28 def initialize( = {}); end |
Class Method Details
.default(options = {}) ⇒ Object
factory
24 25 26 |
# File 'lib/net/ssh/prompt.rb', line 24 def self.default( = {}) @default ||= new() 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 |