Files
fizzy/app/models/card/entropy.rb
T
2025-06-05 16:38:59 +02:00

29 lines
571 B
Ruby

class Card::Entropy
attr_reader :card, :auto_clean_period
class << self
def for(card)
return unless card.last_active_at
if card.considering?
new(card, card.auto_close_period)
elsif card.doing?
new(card, card.auto_reconsider_period)
end
end
end
def initialize(card, auto_clean_period)
@card = card
@auto_clean_period = auto_clean_period
end
def auto_clean_at
card.last_active_at + auto_clean_period
end
def days_before_reminder
(auto_clean_period * 0.25).seconds.in_days.round
end
end