class CliApplication::MailLib::Log

Public Instance Methods

log_filename() click to toggle source

Данный метод возвращает имя файла для записи логов. В этом методе происходит обработка параметра даты {date}, что позволяет разбивать логи по дням.

@return [String] имя лог-файла для записи сообщений

# File lib/cli_application/mail_lib/log.rb, line 19
def log_filename
  @log_filename.gsub('{date}', ::Time.zone.now.to_date.to_s(:db))
end
simple_send(to, name, title, body) click to toggle source

Функция записывает сообщение электронной почты в лог-файл, с преобразованием HTML-формата в текст

@param [String] to электронная почта лица, которому отправляется сообщение, или массив адресов @param [String] name имя клиента, которому отправляется сообщение @param [String] title заголовок письма @param [String] body текст письма @return [Boolean] true, если письмо отправлено

# File lib/cli_application/mail_lib/log.rb, line 30
def simple_send(to, name, title, body)
  message = CliApplication::MailLib::Message.new
  message.from_email = @config.from
  message.subject = title
  message.body = (@config.footer.nil? || @config.footer == '') ? body : (body+@config.footer)

  processing_to(to, name, message)

  out = Array.new
  out << ''
  out << "--- #{StTools::Human.format_time(::Time.zone.now, :full, :full)} -------------------"
  out << message.to_log
  record = out.join("\n")

  open(log_filename, 'a') do |f|
    f.puts record
  end

  true
rescue Exception => e
  $stderr.puts "Ошибка записи электронного сообщения: #{e.message}"
  false
end