From ac7649d49bea7e42ec8f62b02ad2af4d4255f141 Mon Sep 17 00:00:00 2001 From: Nat Dean-Lewis Date: Tue, 14 Apr 2026 16:12:33 +0100 Subject: [PATCH] CLDC-4400: refactor usage error --- lib/tasks/remap_2025_hhregresstill_values.rake | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/tasks/remap_2025_hhregresstill_values.rake b/lib/tasks/remap_2025_hhregresstill_values.rake index 1bef4ae94..f63f12ce6 100644 --- a/lib/tasks/remap_2025_hhregresstill_values.rake +++ b/lib/tasks/remap_2025_hhregresstill_values.rake @@ -1,6 +1,15 @@ desc "Remaps hhregresstill values for manually created 2025/26 sales logs" -task remap_2025_hhregresstill_values: :environment do - logs = SalesLog.filter_by_year(2025).where(bulk_upload_id: nil).where(hhregresstill: [5, 6, 7]) +task :remap_2025_hhregresstill_values, %i[before_date] => :environment do |_task, args| + usage_message = "Usage: rake remap_2025_hhregresstill_values['before_date']. before_date must be in format YYYY-MM-DD" + raise usage_message if args[:before_date].blank? + + begin + before_date = Date.parse(args[:before_date]) + rescue Date::Error + raise usage_message + end + + logs = SalesLog.filter_by_year(2025).where(bulk_upload_id: nil).where(hhregresstill: [5, 6, 7]).where("created_at < ?", before_date) puts "Updating #{logs.count} sales logs" logs.where(hhregresstill: 5).update_all(hhregresstill: 10)