Class: Campaign
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Campaign
show all
- Includes:
- E9Rails::ActiveRecord::STI
- Defined in:
- app/models/campaign.rb
Overview
The base campaign class
A Campaign is created with a unique code, which in turn generates PageViews, which maybe become Leads (Offers), which may result in Deals.
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.default ⇒ Object
24
25
26
|
# File 'app/models/campaign.rb', line 24
def self.default
NoCampaign.first || NoCampaign.create
end
|
Instance Method Details
#cost ⇒ Object
The sum cost of this campaign (Must be implemented by subclasses)
65
66
67
|
# File 'app/models/campaign.rb', line 65
def cost
raise NotImplementedError
end
|
#new_visit_page_view_count ⇒ Object
49
50
51
|
# File 'app/models/campaign.rb', line 49
def new_visit_page_view_count
page_views.new_visits.group(:session).count.values.sum
end
|
#new_visit_session_count ⇒ Object
45
46
47
|
# File 'app/models/campaign.rb', line 45
def new_visit_session_count
page_views.new_visits.group(:session).count.keys.length
end
|
#repeat_visit_session_count ⇒ Object
53
54
55
|
# File 'app/models/campaign.rb', line 53
def repeat_visit_session_count
page_views.repeat_visits.group(:session).count.keys.length
end
|
#to_s ⇒ Object
69
70
71
|
# File 'app/models/campaign.rb', line 69
def to_s
name.tap {|n| n << " (#{code})" if code.present? }
end
|