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.
27 |
# File 'lib/net/ssh/prompt.rb', line 27 def initialize( = {}); end |
Class Method Details
.default(options = {}) ⇒ Object
factory
23 24 25 |
# File 'lib/net/ssh/prompt.rb', line 23 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.
57 58 59 |
# File 'lib/net/ssh/prompt.rb', line 57 def start(info) Prompter.new(info) end |