Sha256: 69e0d751cec8eb5e9673566946bfc8be59f41da920c42be61c42bfb2c150923f
Contents?: true
Size: 947 Bytes
Versions: 5
Compression:
Stored size: 947 Bytes
Contents
# encoding: utf-8 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) message = imap.uid_fetch([uid.to_i], REQUESTED_ATTRIBUTES)[0][1] message['RFC822'].force_encoding('utf-8') if RUBY_VERSION > '1.9' message rescue Net::IMAP::NoResponseError => e Imap::Backup.logger.warn "Folder '#{name}' does not exist" nil end end end
Version data entries
5 entries across 5 versions & 1 rubygems