Sha256: a02571eba2aad1010eeff965757dfa399e0e6b67247ffd2e4c93f16d9dd2375a

Contents?: true

Size: 637 Bytes

Versions: 4

Compression:

Stored size: 637 Bytes

Contents

# 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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
expire-0.2.6 lib/expire/keep_adjective_for_rule_base.rb
expire-0.2.5 lib/expire/keep_adjective_for_rule_base.rb
expire-0.2.4 lib/expire/keep_adjective_for_rule_base.rb
expire-0.2.3 lib/expire/keep_adjective_for_rule_base.rb