Sha256: ed6411113a9c3a4d36441a9b1cb3c1a30bec4309db8b715a1cf2de34538d9459
Contents?: true
Size: 900 Bytes
Versions: 9
Compression:
Stored size: 900 Bytes
Contents
require "imap/backup/logger" module Imap; end module Imap::Backup class LocalOnlyMessageDeleter attr_reader :folder attr_reader :serializer 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. 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 end end
Version data entries
9 entries across 9 versions & 1 rubygems