Sha256: 352b6340bcd9dff3a462b04c5b2d8a055a248214183c537d583b63937781fb4d
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
require "forwardable" module Imap::Backup module Account; end class Account::Folder extend Forwardable REQUESTED_ATTRIBUTES = ["RFC822", "FLAGS", "INTERNALDATE"] attr_reader :connection attr_reader :name delegate imap: :connection def initialize(connection, name) @connection = connection @name = name end def folder name end def uids imap.examine(name) imap.uid_search(["ALL"]).sort rescue Net::IMAP::NoResponseError => e Imap::Backup.logger.warn "Folder '#{name}' does not exist" [] end def fetch(uid) imap.examine(name) fetch_data_items = imap.uid_fetch([uid.to_i], REQUESTED_ATTRIBUTES) return nil if fetch_data_items.nil? fetch_data_item = fetch_data_items[0] attributes = fetch_data_item.attr attributes["RFC822"].force_encoding("utf-8") attributes rescue Net::IMAP::NoResponseError => e Imap::Backup.logger.warn "Folder '#{name}' does not exist" nil end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
imap-backup-1.3.0 | lib/imap/backup/account/folder.rb |
imap-backup-1.2.3 | lib/imap/backup/account/folder.rb |