Sha256: 52eb810e7fe5c1f9a8f21b5d4ab83edde314dd792edc11a58bcc1602bbfab551

Contents?: true

Size: 794 Bytes

Versions: 1

Compression:

Stored size: 794 Bytes

Contents

require "imap/backup/account/backup"

module Imap::Backup
  class CLI::Backup < Thor
    include Thor::Actions
    include CLI::Helpers

    attr_reader :options

    def initialize(options)
      super([])
      @options = options
    end

    no_commands do
      def run
        config = load_config(**options)
        requested_accounts(config).each do |account|
          backup = Account::Backup.new(account: account, refresh: refresh)
          backup.run
        rescue StandardError => e
          message =
            "Backup for account '#{account.username}' " \
            "failed with error #{e}"
          Logger.logger.warn message
          next
        end
      end

      def refresh
        options.key?(:refresh) ? !!options[:refresh] : false
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imap-backup-10.0.0 lib/imap/backup/cli/backup.rb