Module: Net::IMAP::Authenticators
- Included in:
- Net::IMAP
- Defined in:
- lib/net/imap/authenticators.rb
Overview
Registry for SASL authenticators used by Net::IMAP.
Instance Method Summary collapse
-
#add_authenticator(auth_type, authenticator) ⇒ Object
Adds an authenticator for use with Net::IMAP#authenticate.
-
#authenticator(auth_type, *args) ⇒ Object
Builds an authenticator for Net::IMAP#authenticate.
Instance Method Details
#add_authenticator(auth_type, authenticator) ⇒ Object
Adds an authenticator for use with Net::IMAP#authenticate. auth_type
is the SASL mechanism supported by authenticator
(for instance, “PLAIN
”). The authenticator
is an object which defines a #process
method to handle authentication with the server. See Net::IMAP::PlainAuthenticator, Net::IMAP::LoginAuthenticator, Net::IMAP::CramMD5Authenticator, and Net::IMAP::DigestMD5Authenticator for examples.
If auth_type
refers to an existing authenticator, it will be replaced by the new one.
16 17 18 |
# File 'lib/net/imap/authenticators.rb', line 16 def add_authenticator(auth_type, authenticator) authenticators[auth_type] = authenticator end |
#authenticator(auth_type, *args) ⇒ Object
Builds an authenticator for Net::IMAP#authenticate. args
will be passed directly to the chosen authenticator’s #initialize
.
22 23 24 25 26 27 28 29 |
# File 'lib/net/imap/authenticators.rb', line 22 def authenticator(auth_type, *args) auth_type = auth_type.upcase unless authenticators.has_key?(auth_type) raise ArgumentError, format('unknown auth type - "%s"', auth_type) end authenticators[auth_type].new(*args) end |