From 487959e864d1c2d9fe021d428a197f5399bd0058 Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Wed, 30 Aug 2023 12:35:47 +0200 Subject: [PATCH] Add a rake task to run RoutingEngine --- lib/tasks/routing_engine.rake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/tasks/routing_engine.rake diff --git a/lib/tasks/routing_engine.rake b/lib/tasks/routing_engine.rake new file mode 100644 index 00000000000..f62f2880538 --- /dev/null +++ b/lib/tasks/routing_engine.rake @@ -0,0 +1,23 @@ +require Rails.root.join("lib", "tasks", "task_helper") + +namespace :routing_engine do + desc <<~EOD + Given an id in argument, run the RoutingEngine for a dossier, after having set `forced_groupe_instructeur` field to false. + ex: rails routing_engine:run\[1352684\] + EOD + task :run, [:dossier_id] => :environment do |_t, args| + dossier = Dossier.find_by(id: args[:dossier_id]) + + if dossier.present? + dossier.update!(forced_groupe_instructeur: false) + + dossier.reload + + RoutingEngine.compute(dossier) + + rake_puts "Dossier #{args[:dossier_id]} routed to groupe instructeur #{dossier.groupe_instructeur.label}" + else + rake_puts "Dossier with id #{args[:dossier_id]} not found in db" + end + end +end