Class: WcoEmail::Campaign

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Paranoia, Mongoid::Timestamps
Defined in:
app/models/wco_email/campaign.rb

Overview

Sends a campaign. vp 2023-02-02

Constant Summary collapse

PAGE_PARAM_NAME =

field :slug validates_uniqueness_of :slug, allow_nil: true

'email_campaigns_page'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#tidObject (readonly)

For tracking



40
41
42
# File 'app/models/wco_email/campaign.rb', line 40

def tid
  @tid
end

Class Method Details

.listObject



55
56
57
# File 'app/models/wco_email/campaign.rb', line 55

def self.list
  [[nil,nil]] + all.map { |p| [ p.email_template, p.id ] }
end

Instance Method Details

#do_sendObject



42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/models/wco_email/campaign.rb', line 42

def do_send
  active_tag.leads.each do |lead|
    ctx = Ctx.create!({
      email_template: tmpl,
      lead:           lead,
      send_at:        Time.now,
    })
    lead.tags.push inactive_tag
    lead.tags.delete active_tag
    lead.save
  end
end

#tmplObject



18
# File 'app/models/wco_email/campaign.rb', line 18

def tmpl; email_template; end