Sha256: 3b842c1fb70bb7b103ae9afc279fdc78c824a199ec88b86529334eefbc7753ef
Contents?: true
Size: 835 Bytes
Versions: 9
Compression:
Stored size: 835 Bytes
Contents
module Imap::Backup class Uploader attr_reader :folder attr_reader :serializer def initialize(folder, serializer) @folder = folder @serializer = serializer end def run count = missing_uids.count return if count.zero? Imap::Backup::Logger.logger.debug "[#{folder.name}] #{count} to restore" serializer.each_message(missing_uids).with_index do |(uid, message), i| next if message.nil? log_prefix = "[#{folder.name}] uid: #{uid} (#{i + 1}/#{count}) -" Imap::Backup::Logger.logger.debug( "#{log_prefix} #{message.supplied_body.size} bytes" ) new_uid = folder.append(message) serializer.update_uid(uid, new_uid) end end private def missing_uids serializer.uids - folder.uids end end end
Version data entries
9 entries across 9 versions & 1 rubygems