module MultiMail::Sender::Base

Abstract class for outgoing email senders.

Attributes

settings[RW]
tracking[R]

Public Class Methods

included(subclass) click to toggle source
# File lib/multi_mail/sender/base.rb, line 5
def self.included(subclass)
  subclass.class_eval do
    extend MultiMail::Service
  end
end
new(options = {}) click to toggle source

Initializes an outgoing email sender.

@param [Hash] options required and optional arguments

# File lib/multi_mail/sender/base.rb, line 17
def initialize(options = {})
  @settings = {}

  options.keys.each do |key| # based on Hash#symbolize_keys! from Rails
    settings[(key.to_sym rescue key) || key] = options[key]
  end

  self.class.validate_options(settings, false)

  @tracking = settings.delete(:track) || {}
end