Class: Workarea::GenerateInsights

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
app/workers/workarea/generate_insights.rb

Class Method Summary collapse

Class Method Details

.generate_all!Object



7
8
9
10
11
# File 'app/workers/workarea/generate_insights.rb', line 7

def generate_all!
  generate_daily_insights
  generate_weekly_insights
  generate_monthly_insights
end

.generate_daily_insightsObject



19
20
21
# File 'app/workers/workarea/generate_insights.rb', line 19

def generate_daily_insights
  Insights::Base.subclasses.each(&:generate_daily!)
end

.generate_monthly_insightsObject



32
33
34
# File 'app/workers/workarea/generate_insights.rb', line 32

def generate_monthly_insights
  Insights::Base.subclasses.each(&:generate_monthly!)
end

.generate_weekly_insightsObject



23
24
25
26
27
28
29
30
# File 'app/workers/workarea/generate_insights.rb', line 23

def generate_weekly_insights
  Metrics::ProductForLastWeek.aggregate!
  Metrics::ProductByWeek.append_last_week!
  Metrics::SearchForLastWeek.aggregate!
  Metrics::SearchByWeek.append_last_week!
  Metrics::UpdateUserAggregations.update!
  Insights::Base.subclasses.each(&:generate_weekly!)
end

.performObject



13
14
15
16
17
# File 'app/workers/workarea/generate_insights.rb', line 13

def perform(*)
  generate_daily_insights
  generate_weekly_insights if Time.current.monday?
  generate_monthly_insights if Time.current.day == 1
end