Sha256: e1b4c05deeb316af5e57068286f52fdc55e83ddf31919b073792833dfa2ca654
Contents?: true
Size: 1004 Bytes
Versions: 10
Compression:
Stored size: 1004 Bytes
Contents
require "imap/backup/logger" module Imap; end module Imap::Backup # Deletes locally backed-up emails that are no longer on the server class LocalOnlyMessageDeleter def initialize(folder, serializer) @folder = folder @serializer = serializer end # TODO: this method is very slow as it copies all messages. # A quicker method would only remove UIDs from the .imap file, # but that would require a garbage collection later. # @return [void] def run local_only_uids = serializer.uids - folder.uids if local_only_uids.empty? Logger.logger.debug "There are no 'local-only' messages to delete" return end Logger.logger.info "Deleting messages only present locally" Logger.logger.debug "Messages to be deleted: #{local_only_uids.inspect}" serializer.filter do |message| !local_only_uids.include?(message.uid) end end private attr_reader :folder attr_reader :serializer end end
Version data entries
10 entries across 10 versions & 1 rubygems