Sha256: e9b765e9831e0e343d04797ef2eea76748b7a548a3f2c552af0d3f43bd10ea30

Contents?: true

Size: 727 Bytes

Versions: 8

Compression:

Stored size: 727 Bytes

Contents

module Imap::Backup
  class Downloader
    attr_reader :folder
    attr_reader :serializer

    def initialize(folder, serializer)
      @folder, @serializer = folder, serializer
    end

    def run
      uids = folder.uids - serializer.uids
      Imap::Backup.logger.debug "[#{folder.name}] #{uids.count} new messages"
      uids.each do |uid|
        message = folder.fetch(uid)
        if message.nil?
          Imap::Backup.logger.debug(
            "[#{folder.name}] #{uid} - not available - skipped"
          )
          next
        end
        Imap::Backup.logger.debug(
          "[#{folder.name}] #{uid} - #{message['RFC822'].size} bytes"
        )
        serializer.save(uid, message)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
imap-backup-2.0.0 lib/imap/backup/downloader.rb
imap-backup-1.4.2 lib/imap/backup/downloader.rb
imap-backup-2.0.0.rc4 lib/imap/backup/downloader.rb
imap-backup-1.4.1 lib/imap/backup/downloader.rb
imap-backup-1.4.0 lib/imap/backup/downloader.rb
imap-backup-2.0.0.rc3 lib/imap/backup/downloader.rb
imap-backup-2.0.0.rc2 lib/imap/backup/downloader.rb
imap-backup-2.0.0.rc1 lib/imap/backup/downloader.rb