class Net::SMTP::Authenticator - net-smtp: Ruby Standard Library Documentation

# 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