From 7feb0ecaef93565b1bc3b70179495de1a47cf166 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 9 Mar 2026 11:20:33 +0530 Subject: [PATCH] style: fix abc size --- lib/tasks/reporting_events_rollup.rake | 59 +++++++++++++++++--------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/lib/tasks/reporting_events_rollup.rake b/lib/tasks/reporting_events_rollup.rake index 91b5000a8..6071e1eb0 100644 --- a/lib/tasks/reporting_events_rollup.rake +++ b/lib/tasks/reporting_events_rollup.rake @@ -83,26 +83,9 @@ class ReportingEventsRollupBackfill # rubocop:disable Metrics/ClassLength end def resolve_date_range(account, timezone, first_event, last_event) - tz = ActiveSupport::TimeZone[timezone] - discovered_start = first_event.created_at.in_time_zone(tz).to_date - discovered_end = last_event.created_at.in_time_zone(tz).to_date - discovered_days = (discovered_end - discovered_start).to_i + 1 - default_end = [discovered_end, Time.current.in_time_zone(tz).to_date - 1.day].min - - puts color("Discovered date range: #{discovered_start} to #{discovered_end} (#{discovered_days} days) [Account: #{account.name}]", :gray) - puts color("Default end date (excluding today): #{default_end}", :gray) - puts '' - - start_date = discovered_start - end_date = default_end - total_days = (end_date - start_date).to_i + 1 - - if total_days <= 0 - puts 'No closed days available to backfill in the default range.' - exit(0) - end - - [start_date, end_date, total_days] + dates = discovered_dates(timezone, first_event, last_event) + print_discovered_date_range(account, dates) + build_date_range(dates) end def prompt_dry_run? @@ -143,6 +126,42 @@ class ReportingEventsRollupBackfill # rubocop:disable Metrics/ClassLength event.created_at.in_time_zone(zone).strftime('%Y-%m-%d %H:%M:%S %Z') end + def discovered_dates(timezone, first_event, last_event) + tz = ActiveSupport::TimeZone[timezone] + discovered_start = first_event.created_at.in_time_zone(tz).to_date + discovered_end = last_event.created_at.in_time_zone(tz).to_date + + { + discovered_start: discovered_start, + discovered_end: discovered_end, + discovered_days: (discovered_end - discovered_start).to_i + 1, + default_end: [discovered_end, Time.current.in_time_zone(tz).to_date - 1.day].min + } + end + + def print_discovered_date_range(account, dates) + message = "Discovered date range: #{dates[:discovered_start]} to #{dates[:discovered_end]} " \ + "(#{dates[:discovered_days]} days) [Account: #{account.name}]" + puts color(message, :gray) + puts color("Default end date (excluding today): #{dates[:default_end]}", :gray) + puts '' + end + + def build_date_range(dates) + start_date = dates[:discovered_start] + end_date = dates[:default_end] + total_days = (end_date - start_date).to_i + 1 + + abort_no_closed_days if total_days <= 0 + + [start_date, end_date, total_days] + end + + def abort_no_closed_days + puts 'No closed days available to backfill in the default range.' + exit(0) + end + def confirm_and_execute(account, start_date, end_date, total_days) if total_days > 730 puts color("WARNING: Large backfill detected (#{total_days} days / #{(total_days / 365.0).round(1)} years)", :yellow, :bold)