From b5a2c4a25e5df606f02aecce86b159eb8b5fba7f Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Tue, 16 Sep 2025 13:18:13 +0200 Subject: [PATCH] Tidy up code a bit --- app/models/card/engageable.rb | 23 +++++++++++------------ test/models/card/entropic_test.rb | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/models/card/engageable.rb b/app/models/card/engageable.rb index 2eeba4a46..0a006fd79 100644 --- a/app/models/card/engageable.rb +++ b/app/models/card/engageable.rb @@ -41,23 +41,13 @@ module Card::Engageable def engage unless doing? - transaction do - reopen - create_engagement!(status: "doing") - end + reengage(status: "doing") end end def move_to_on_deck unless on_deck? - transaction do - reopen - if engagement.present? - engagement.update!(status: "on_deck") - else - create_engagement!(status: "on_deck") - end - end + reengage(status: "on_deck") end end @@ -69,4 +59,13 @@ module Card::Engageable touch_last_active_at end end + + private + def reengage(status:) + transaction do + reopen + engagement&.destroy + create_engagement!(status:) + end + end end diff --git a/test/models/card/entropic_test.rb b/test/models/card/entropic_test.rb index eae2e1ae1..6a8be73b6 100644 --- a/test/models/card/entropic_test.rb +++ b/test/models/card/entropic_test.rb @@ -98,7 +98,7 @@ class Card::EntropicTest < ActiveSupport::TestCase assert_equal Time.current, cards(:logo).last_active_at end - test "auto_reconsider_all_stagnated" do + test "auto_reconsider_all_stagnated includes cards in doing and on_deck" do travel_to Time.current cards(:logo, :shipping).each(&:engage)