Sha256: d6f579fc9c344a97c2f477e3df5791342bbdb7ef0d65d8359bf86891b2e2bbba
Contents?: true
Size: 836 Bytes
Versions: 147
Compression:
Stored size: 836 Bytes
Contents
# frozen_string_literal: true module ActionMailbox # Command class for carrying out the actual incineration of the +InboundMail+ that's been scheduled # for removal. Before the incineration – which really is just a call to +#destroy!+ – is run, we verify # that it's both eligible (by virtue of having already been processed) and time to do so (that is, # the +InboundEmail+ was processed after the +incinerate_after+ time). class InboundEmail::Incineratable::Incineration def initialize(inbound_email) @inbound_email = inbound_email end def run @inbound_email.destroy! if due? && processed? end private def due? @inbound_email.updated_at < ActionMailbox.incinerate_after.ago.end_of_day end def processed? @inbound_email.processed? end end end
Version data entries
147 entries across 142 versions & 11 rubygems