Class: CampaignMailer

Inherits:
ActionMailer::Base
  • Object
show all
Defined in:
app/mailers/campaign_mailer.rb

Instance Method Summary collapse

Instance Method Details

#notification(recipient, campaign) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/mailers/campaign_mailer.rb', line 4

def notification(recipient, campaign)
  recipient.prepare!
  recipient_email = recipient.email
  @edition = campaign.name
  if recipient_email.name.present?
    to = "#{recipient_email.name} <#{recipient_email.address}>"
    @text_message = campaign.text_message.gsub(/RECIPIENT_NAME/,recipient_email.name)
    @html_message = campaign.html_message.gsub(/RECIPIENT_NAME/,recipient_email.name)
  else
    to = recipient_email.address
    @text_message = campaign.text_message.gsub(/RECIPIENT_NAME/,campaign.default_name)
    @html_message = campaign.html_message.gsub(/RECIPIENT_NAME/,campaign.default_name)
  end  
  subject, @text_message, @html_message = [campaign.subject, @text_message, @html_message].map {|text| 
    text.gsub(/BUSINESS_NAME/,recipient_email.business)}.map {|text| 
    text.gsub(/BUSINESS_URL/,recipient_email.business_url)}.map {|text|
    text.gsub(/ASSET_HOST/,Homing::Engine.config.asset_host)}
  @html_message = @html_message.html_safe
  @unsubscribe_token = recipient_email.unsubscribe_token
      
  recipient.sending! if mail(:to => to, :subject => subject)
end