Sha256: 7c3e1e79656f17c5473104b3e27cee45915f8f7b19cfedfc0c5cf2b95d32932b

Contents?: true

Size: 1.15 KB

Versions: 6

Compression:

Stored size: 1.15 KB

Contents

require "ahoy_email/version"
require "action_mailer"
require "nokogiri"
require "addressable/uri"
require "openssl"
require "ahoy_email/processor"
require "ahoy_email/interceptor"
require "ahoy_email/mailer"
require "ahoy_email/engine"

module AhoyEmail
  mattr_accessor :secret_token, :options, :subscribers

  self.options = {
    message: true,
    open: true,
    click: true,
    utm_params: true,
    utm_source: proc {|message, mailer| mailer.mailer_name },
    utm_medium: "email",
    utm_term: nil,
    utm_content: nil,
    utm_campaign: proc {|message, mailer| mailer.action_name },
    user: proc{|message, mailer| (message.to.size == 1 ? User.where(email: message.to.first).first : nil) rescue nil },
    mailer: proc{|message, mailer| "#{mailer.class.name}##{mailer.action_name}" }
  }

  self.subscribers = []

  def self.track(options)
    self.options = self.options.merge(options)
  end

  def self.message_model=(message_model)
    @message_model = message_model
  end

  def self.message_model
    @message_model || Ahoy::Message
  end

end

ActionMailer::Base.send :include, AhoyEmail::Mailer
ActionMailer::Base.register_interceptor AhoyEmail::Interceptor

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ahoy_email-0.2.2 lib/ahoy_email.rb
ahoy_email-0.2.1 lib/ahoy_email.rb
ahoy_email-0.2.0 lib/ahoy_email.rb
ahoy_email-0.1.5 lib/ahoy_email.rb
ahoy_email-0.1.4 lib/ahoy_email.rb
ahoy_email-0.1.3 lib/ahoy_email.rb