Sha256: e5a4d21bf3126c59a4364abdc747b7e08662b88d337e6e2014f6f4a1544ecfae

Contents?: true

Size: 723 Bytes

Versions: 1

Compression:

Stored size: 723 Bytes

Contents

require "imap/backup/account/backup_folders"
require "imap/backup/account/serialized_folders"

module Imap::Backup
  class Account; end

  # Deletes serialized folders that are not configured to be backed up
  class Account::LocalOnlyFolderDeleter
    attr_reader :account

    def initialize(account:)
      @account = account
    end

    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 do |serializer, _folder|
        serializer.delete if !wanted.include?(serializer.folder)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imap-backup-10.0.0 lib/imap/backup/account/local_only_folder_deleter.rb