Only summarize today if there are at least 10 events

https://3.basecamp.com/2914079/buckets/37331921/todos/8877635813#__recording_8879434338
This commit is contained in:
Jorge Manrubia
2025-07-22 15:04:55 +02:00
parent 6ba1884fb0
commit 8f6e81a687
3 changed files with 15 additions and 7 deletions
+2
View File
@@ -3,6 +3,8 @@ class User::DayTimeline
attr_reader :user, :day, :filter
delegate :today?, to: :day
def initialize(user, day, filter)
@user, @day, @filter = user, day, filter
end
@@ -9,6 +9,10 @@ module User::DayTimeline::Summarizable
@summary ||= Event::ActivitySummary.for(events)
end
def summarizable?
!day.today? || events.count >= 10
end
def summarize
Event::ActivitySummary.create_for(events)
end
@@ -1,8 +1,10 @@
<% if day_timeline.summarized? %>
<%= render "events/day_timeline/activity_summary", summary: day_timeline.summary %>
<% else %>
<div id="<%= day_timeline.summary_key %>">
<%= auto_submit_form_with url: events_activity_summaries_path(day: day_timeline.day, **day_timeline.filter.as_params), method: :post %>
Generating summary...
</div>
<% if day_timeline.summarizable? %>
<% if day_timeline.summarized? %>
<%= render "events/day_timeline/activity_summary", summary: day_timeline.summary %>
<% else %>
<div id="<%= day_timeline.summary_key %>">
<%= auto_submit_form_with url: events_activity_summaries_path(day: day_timeline.day, **day_timeline.filter.as_params), method: :post %>
Generating summary...
</div>
<% end %>
<% end %>