класс Net::SMTP::Response
Этот класс представляет ответ, полученный от сервера SMTP. Экземпляры этого класса создаются классом SMTP; их не следует создавать напрямую. Для получения дополнительной информации об ответах SMTP см. Раздел 4.2 RFC 5321.
Атрибуты
Трехзначный код ответа сервера SMTP.
Текстовый ответ SMTP сервера, понятный для человека.
Публичные Классовые Методы
# File lib/net/smtp.rb, line 998 def initialize(status, string) @status = status @string = string end
Создаёт новый экземпляр класса Response и задаёт атрибуты status и string.
# File lib/net/smtp.rb, line 992 def self.parse(str) new(str[0,3], str) end
Разбирает полученный ответ и разделяет код ответа и текст ответа, понятный для человека.
Публичные Методы Экземпляров
# File lib/net/smtp.rb, line 1041
def capabilities
return {} unless @string[3, 1] == '-'
h = {}
@string.lines.drop(1).each do |line|
k, *v = line[4..-1].chomp.split
h[k] = v
end
h
end Возвращает хеш с текстом ответа, понятным для человека, если он содержит несколько строк. Первая строка не возвращается. Ключ хеша - первое слово, значение хеша - массив, где каждое последующее слово - значение в массиве.
# File lib/net/smtp.rb, line 1022 def continue? status_type_char() == '3' end
Определяет, был ли полученный ответ положительным промежуточным ответом (код ответа 3xx).
# File lib/net/smtp.rb, line 1033
def cram_md5_challenge
@string.split(/ /)[1].unpack1('m')
end Создаёт вызов CRAM-MD5. Дополнительную информацию о CRAM-MD5 можно найти на Википедии: en.wikipedia.org/wiki/CRAM-MD5.
# File lib/net/smtp.rb, line 1053 def exception_class case @status when /\A4/ then SMTPServerBusy when /\A50/ then SMTPSyntaxError when /\A53/ then SMTPAuthenticationError when /\A5/ then SMTPFatalError else SMTPUnknownError end end
Определяет наличие ошибки и генерирует соответствующую ошибку на основе кода ответа.
# File lib/net/smtp.rb, line 1027 def message @string.lines.first end
Первая строка текста ответа, понятного для человека.
# File lib/net/smtp.rb, line 1010 def status_type_char @status[0, 1] end
Определяет тип состояния по первой цифре кода ответа.
# File lib/net/smtp.rb, line 1016 def success? status_type_char() == '2' end
Определяет, был ли полученный ответ положительным завершающим ответом (код ответа 2xx).
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.