Sha256: 28a6f089d1f45237febfb18afdba0feed3a4e33d37deaa3c635e94de8cfd08c3

Contents?: true

Size: 700 Bytes

Versions: 4

Compression:

Stored size: 700 Bytes

Contents

# encoding: utf-8

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

4 entries across 4 versions & 1 rubygems

Version Path
imap-backup-1.2.2 lib/imap/backup/downloader.rb
imap-backup-1.2.1 lib/imap/backup/downloader.rb
imap-backup-1.2.0 lib/imap/backup/downloader.rb
imap-backup-1.1.0 lib/imap/backup/downloader.rb