Class: Imap::Backup::Account::LocalOnlyFolderDeleter

Inherits:
Object
  • Object
show all
Defined in:
lib/imap/backup/account/local_only_folder_deleter.rb

Overview

Deletes serialized folders that are not configured to be backed up

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(account:) ⇒ LocalOnlyFolderDeleter

Returns a new instance of LocalOnlyFolderDeleter.



13
14
15
# File 'lib/imap/backup/account/local_only_folder_deleter.rb', line 13

def initialize(account:)
  @account = 
end

Instance Attribute Details

#accountObject (readonly)

Returns the value of attribute account.



11
12
13
# File 'lib/imap/backup/account/local_only_folder_deleter.rb', line 11

def 
  @account
end

Instance Method Details

#runObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/imap/backup/account/local_only_folder_deleter.rb', line 17

def run
  backup_folders = Account::BackupFolders.new(
    client: .client, account: 
  )
  wanted = backup_folders.map(&:name)
  serialized_folders = Account::SerializedFolders.new(account: )
  serialized_folders.each do |serializer, _folder|
    serializer.delete if !wanted.include?(serializer.folder)
  end
end