Registry for SASL authenticators used by Net::IMAP.
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.
# File net-imap-0.2.3/lib/net/imap/authenticators.rb, line 15
def add_authenticator(auth_type, authenticator)
authenticators[auth_type] = authenticator
end
Builds an authenticator for Net::IMAP#authenticate.
args will be passed directly to the chosen authenticator's
#initialize.
# File net-imap-0.2.3/lib/net/imap/authenticators.rb, line 21
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