# frozen_string_literal: true module Expire # Hold backups for a period class KeepAdjectiveForRuleBase < FromNowKeepAdjectiveForRuleBase ADJECTIVE_FOR = { 'week' => 'weekly', 'month' => 'monthly', 'year' => 'yearly' }.freeze PRIMARY_RANK = 30 def self.primary_rank PRIMARY_RANK end def self.rank primary_rank + secondary_rank end def apply(backups, _) super(backups, backups.newest) end def primary_rank self.class.primary_rank end def reason_to_keep "keep #{amount} #{ADJECTIVE_FOR[spacing]} #{numerus_backup}" end end end