Class: MailSleuth::Observer

Inherits:
Object
  • Object
show all
Defined in:
lib/mail_sleuth/observer.rb

Class Method Summary collapse

Class Method Details

.delivered_email(message) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/mail_sleuth/observer.rb', line 4

def self.delivered_email(message)
  log = MessageLog.new

  (MessageLog::ALL_ATTR - ['delivery_handler']) \
    .each do |attr|
    if message.respond_to? attr
      log_attr = attr.sub('?', '')
      log.send "#{log_attr}=", message.send(attr)
    else
      STDERR.puts "WARNING - MailSleuth missing attribute: #{attr}"
    end
  end

  # TODO: Find out why it can't get serialized.
  log.delivery_handler = message.delivery_handler.to_s if message.respond_to? :delivery_handler

  log.save!
end