class Net::SMTP::Authenticator

Attributes

smtp[R]

Public Class Methods

auth_class(type) click to toggle source
# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 13
def self.auth_class(type)
  type = type.to_s.upcase.tr(?_, ?-).to_sym
  Authenticator.auth_classes[type]
end
auth_classes() click to toggle source
# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 4
def self.auth_classes
  @classes ||= {}
end
auth_type(type) click to toggle source
# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 8
def self.auth_type(type)
  type = type.to_s.upcase.tr(?_, ?-).to_sym
  Authenticator.auth_classes[type] = self
end
check_args(user_arg = nil, secret_arg = nil, *, **) click to toggle source
# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 18
def self.check_args(user_arg = nil, secret_arg = nil, *, **)
  unless user_arg
    raise ArgumentError, 'SMTP-AUTH requested but missing user name'
  end
  unless secret_arg
    raise ArgumentError, 'SMTP-AUTH requested but missing secret phrase'
  end
end
new(smtp) click to toggle source
# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 29
def initialize(smtp)
  @smtp = smtp
end

Public Instance Methods

base64_encode(str) click to toggle source

@param str [String] @return [String] Base64 encoded string

# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 51
def base64_encode(str)
  # expects "str" may not become too long
  [str].pack('m0')
end
continue(arg) click to toggle source

@param arg [String] message to server @return [String] message from server

# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 35
def continue(arg)
  res = smtp.get_response arg
  raise res.exception_class.new(res) unless res.continue?
  res.string.split[1]
end
finish(arg) click to toggle source

@param arg [String] message to server @return [Net::SMTP::Response] response from server

# File net-smtp-0.5.0/lib/net/smtp/authenticator.rb, line 43
def finish(arg)
  res = smtp.get_response arg
  raise SMTPAuthenticationError.new(res) unless res.success?
  res
end