Sha256: 869e8f8e3a2d79ffbc3ed8f25d75f73a60688f757d8b163d7c37051c6fca12c5

Contents?: true

Size: 1.14 KB

Versions: 14

Compression:

Stored size: 1.14 KB

Contents

require "imap/backup/account/backup_folders"
require "imap/backup/account/folder_backup"
require "imap/backup/account/folder_ensurer"
require "imap/backup/account/local_only_folder_deleter"

module Imap; end

module Imap::Backup
  class Account; end

  class Account::Backup
    attr_reader :account
    attr_reader :refresh

    def initialize(account:, refresh: false)
      @account = account
      @refresh = refresh
    end

    def run
      Logger.logger.info "Running backup of account: #{account.username}"
      # start the connection so we get logging messages in the right order
      account.client.login

      Account::FolderEnsurer.new(account: account).run
      Account::LocalOnlyFolderDeleter.new(account: account).run if account.mirror_mode
      backup_folders = Account::BackupFolders.new(
        client: account.client, account: account
      )
      if backup_folders.none?
        Logger.logger.warn "Account #{account.username}: No folders found to backup"
        return
      end
      backup_folders.each do |folder|
        Account::FolderBackup.new(account: account, folder: folder, refresh: refresh).run
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
imap-backup-14.4.1 lib/imap/backup/account/backup.rb
imap-backup-14.4.0 lib/imap/backup/account/backup.rb
imap-backup-14.3.0 lib/imap/backup/account/backup.rb
imap-backup-14.2.0 lib/imap/backup/account/backup.rb
imap-backup-14.1.1 lib/imap/backup/account/backup.rb
imap-backup-14.1.0 lib/imap/backup/account/backup.rb
imap-backup-14.0.0 lib/imap/backup/account/backup.rb
imap-backup-13.4.0 lib/imap/backup/account/backup.rb
imap-backup-13.3.0 lib/imap/backup/account/backup.rb
imap-backup-13.2.0 lib/imap/backup/account/backup.rb
imap-backup-13.1.0 lib/imap/backup/account/backup.rb
imap-backup-13.0.0 lib/imap/backup/account/backup.rb
imap-backup-12.1.0 lib/imap/backup/account/backup.rb
imap-backup-12.0.0 lib/imap/backup/account/backup.rb