class Mail::LoggerDelivery

Attributes

logger[R]
settings[R]
severity[R]

Public Class Methods

new(settings) click to toggle source
# File lib/mail/network/delivery_methods/logger_delivery.rb, line 7
def initialize(settings)
  @settings = settings
  @logger   = settings.fetch(:logger) { default_logger }
  @severity = derive_severity(settings[:severity])
end

Public Instance Methods

deliver!(mail) click to toggle source
# File lib/mail/network/delivery_methods/logger_delivery.rb, line 13
def deliver!(mail)
  logger.log(severity) { Mail::SmtpEnvelope.new(mail).message }
end

Private Instance Methods

default_logger() click to toggle source
# File lib/mail/network/delivery_methods/logger_delivery.rb, line 18
def default_logger
  require 'logger'
  ::Logger.new($stdout)
end
derive_severity(severity) click to toggle source
# File lib/mail/network/delivery_methods/logger_delivery.rb, line 23
def derive_severity(severity)
  case severity
  when nil
    Logger::INFO
  when Integer
    severity
  else
    Logger.const_get(severity.to_s.upcase)
  end
end