Class: Imap::Backup::Account::LocalOnlyFolderDeleter
- Inherits:
-
Object
- Object
- Imap::Backup::Account::LocalOnlyFolderDeleter
- Defined in:
- lib/imap/backup/account/local_only_folder_deleter.rb
Overview
Deletes serialized folders that are not configured to be backed up. This is used in mirror mode, where local copies are only kept as long as they exist on the server.
Instance Method Summary collapse
-
#initialize(account:) ⇒ LocalOnlyFolderDeleter
constructor
A new instance of LocalOnlyFolderDeleter.
-
#run ⇒ void
Runs the deletion operation.
Constructor Details
#initialize(account:) ⇒ LocalOnlyFolderDeleter
Returns a new instance of LocalOnlyFolderDeleter.
14 15 16 |
# File 'lib/imap/backup/account/local_only_folder_deleter.rb', line 14 def initialize(account:) @account = account end |
Instance Method Details
#run ⇒ void
This method returns an undefined value.
Runs the deletion operation
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/imap/backup/account/local_only_folder_deleter.rb', line 20 def run backup_folders = Account::BackupFolders.new( client: account.client, account: account ) wanted = backup_folders.map(&:name) serialized_folders = Account::SerializedFolders.new(account: account) serialized_folders.each_key do |serializer| serializer.delete if !wanted.include?(serializer.folder) end end |