Skip to content

Commit 77e3316

Browse files
committed
Simplify feed result labeling method
1 parent 55e27ad commit 77e3316

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

app/models/concerns/metrics_queries.rb

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,31 +33,30 @@ def daterange_downloads_query(model_id: metrics_default_id, column: metrics_defa
3333
end
3434
end
3535

36-
def feed_downloads_query(feeds:, model_id: metrics_default_id, column: metrics_default_column, date_start: metrics_default_date_start, date_end: nil)
37-
slugs = feeds.pluck(:slug).map { |slug| slug.nil? ? "" : slug }
36+
def metrics_feed_slugs
37+
feeds.pluck(:slug).map { |slug| slug.nil? ? "" : slug }
38+
end
3839

40+
def feed_downloads_query(feeds:, model_id: metrics_default_id, column: metrics_default_column, date_start: metrics_default_date_start, date_end: nil)
3941
Rollups::HourlyDownload
4042
.where(podcast_id: metrics_podcast_id)
41-
.where("#{column}": model_id, feed_slug: slugs, hour: (date_start..date_end))
43+
.where("#{column}": model_id, feed_slug: metrics_feed_slugs, hour: (date_start..date_end))
4244
.group(:feed_slug)
4345
.order(Arel.sql("SUM(count) AS count DESC"))
4446
.final
4547
.sum(:count)
4648
end
4749

4850
def label_feed_results(results)
51+
metrics_feed_slugs.each do |slug|
52+
results[slug] = 0 unless results[slug]
53+
end
54+
4955
feed_slug_labels = feeds.map do |feed|
5056
[feed.slug, feed.label]
5157
end.to_h
52-
feed_default_downloads = feeds.map do |feed|
53-
[feed.label, 0]
54-
end.to_h
5558

56-
results
57-
.transform_keys { |k| feed_slug_labels[k.presence] }
58-
.merge(feed_default_downloads) do |k, query_val, default_val|
59-
query_val.present? ? query_val : default_val
60-
end
59+
results.transform_keys { |k| feed_slug_labels[k.presence] }
6160
end
6261

6362
def top_countries_downloads_query(model_id: metrics_default_id, column: metrics_default_column, date_start: metrics_default_date_start, date_end: nil)

0 commit comments

Comments
 (0)