Class: Imap::Backup::Downloader
- Inherits:
-
Object
- Object
- Imap::Backup::Downloader
- Defined in:
- lib/imap/backup/downloader.rb
Instance Attribute Summary collapse
-
#folder ⇒ Object
readonly
Returns the value of attribute folder.
-
#serializer ⇒ Object
readonly
Returns the value of attribute serializer.
Instance Method Summary collapse
-
#initialize(folder, serializer) ⇒ Downloader
constructor
A new instance of Downloader.
- #run ⇒ Object
Constructor Details
#initialize(folder, serializer) ⇒ Downloader
Returns a new instance of Downloader.
6 7 8 9 |
# File 'lib/imap/backup/downloader.rb', line 6 def initialize(folder, serializer) @folder = folder @serializer = serializer end |
Instance Attribute Details
#folder ⇒ Object (readonly)
Returns the value of attribute folder.
3 4 5 |
# File 'lib/imap/backup/downloader.rb', line 3 def folder @folder end |
#serializer ⇒ Object (readonly)
Returns the value of attribute serializer.
4 5 6 |
# File 'lib/imap/backup/downloader.rb', line 4 def serializer @serializer end |
Instance Method Details
#run ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/imap/backup/downloader.rb', line 11 def run uids = folder.uids - serializer.uids count = uids.count Imap::Backup.logger.debug "[#{folder.name}] #{count} new messages" uids.each.with_index do |uid, i| = folder.fetch(uid) log_prefix = "[#{folder.name}] uid: #{uid} (#{i + 1}/#{count}) -" if .nil? Imap::Backup.logger.debug("#{log_prefix} not available - skipped") next end Imap::Backup.logger.debug( "#{log_prefix} #{['RFC822'].size} bytes" ) serializer.save(uid, ) end end |