From 2d102c1fc08420dccb865f5e1c3db14bdd6fc845 Mon Sep 17 00:00:00 2001 From: Pablo Brasero Date: Wed, 10 Jun 2026 14:28:17 +0100 Subject: [PATCH] DRY --- .../moderation_zones_controller.rb | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/app/controllers/moderation_zones_controller.rb b/app/controllers/moderation_zones_controller.rb index bd2ece7e2..6233553ab 100644 --- a/app/controllers/moderation_zones_controller.rb +++ b/app/controllers/moderation_zones_controller.rb @@ -64,24 +64,21 @@ class ModerationZonesController < ApplicationController end end - def check_revocation(modzone, modzone_params) - duplicate = modzone.dup - previously_active = duplicate.active? - duplicate.assign_attributes(modzone_params) - modzone.revoker = current_user if previously_active && !duplicate.active? + def check_revocation(original, changes) + original.revoker = current_user if original.active? && !projected_record(original, changes).active? end - def updating_without_revoking?(modzone, modzone_params) - duplicate = modzone.dup - previously_active = duplicate.active? - duplicate.assign_attributes(modzone_params) - previously_active && duplicate.active? + def updating_without_revoking?(original, changes) + original.active? && projected_record(original, changes).active? end - def reactivating?(modzone, modzone_params) - duplicate = modzone.dup - previously_active = duplicate.active? - duplicate.assign_attributes(modzone_params) - !previously_active && duplicate.active? + def reactivating?(original, changes) + !original.active? && projected_record(original, changes).active? + end + + def projected_record(original, changes) + original.dup.tap do |duplicate| + duplicate.assign_attributes(changes) + end end end -- 2.47.3