Sha256: 8256e2b7fec022cc8f49ac44ed4c4b1617cc81bb86d3fea65a3f3cc6bc552a24
Contents?: true
Size: 907 Bytes
Versions: 8
Compression:
Stored size: 907 Bytes
Contents
require "imap/backup/account/folder" module Imap; end module Imap::Backup class Account; end class Account::BackupFolders include Enumerable attr_reader :account attr_reader :client def initialize(client:, account:) @client = client @account = account end def each(&block) return enum_for(:each) if !block all_names = client.list configured = case when account.folders&.any? account.folders when account.folder_blacklist [] else all_names end names = if account.folder_blacklist all_names - configured else all_names & configured end names.each { |name| block.call(Account::Folder.new(client, name)) } end def map(&block) each.map do |folder| block.call(folder) end end end end
Version data entries
8 entries across 8 versions & 1 rubygems