class AhoyEmail::Tracker

Attributes

message[R]

Public Class Methods

new(message) click to toggle source
# File lib/ahoy_email/tracker.rb, line 5
def initialize(message)
  @message = message
end

Public Instance Methods

perform() click to toggle source
# File lib/ahoy_email/tracker.rb, line 9
def perform
  Safely.safely do
    # perform_deliveries check still needed in observer
    if message.perform_deliveries
      if message.ahoy_data
        data = message.ahoy_data.merge(message: message)
        message.ahoy_message = AhoyEmail.track_method.call(data)
      end

      if message.ahoy_options && message.ahoy_options[:click]
        Utils.publish(:send, message.ahoy_options.slice(:campaign))
      end
    end
  end
end