Sha256: a2ed1d15a4d3598ca491d9d802bde62a52d43dcb04f7732fe5ec9ce5be1d9e43

Contents?: true

Size: 837 Bytes

Versions: 6

Compression:

Stored size: 837 Bytes

Contents

require "imap/backup"
require "imap/backup/cli/accounts"

module Imap::Backup
  module CLI::Helpers
    def symbolized(options)
      options.each.with_object({}) do |(k, v), acc|
        key = k.gsub("-", "_").intern
        acc[key] = v
      end
    end

    def account(email)
      accounts = CLI::Accounts.new
      account = accounts.find { |a| a.username == email }
      raise "#{email} is not a configured account" if !account

      account
    end

    def connection(email)
      account = account(email)

      Account::Connection.new(account)
    end

    def each_connection(names)
      accounts = CLI::Accounts.new(names)

      accounts.each do |account|
        yield account.connection
      end
    rescue ConfigurationNotFound
      raise "imap-backup is not configured. Run `imap-backup setup`"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
imap-backup-7.0.0.rc1 lib/imap/backup/cli/helpers.rb
imap-backup-6.3.0 lib/imap/backup/cli/helpers.rb
imap-backup-6.2.1 lib/imap/backup/cli/helpers.rb
imap-backup-6.1.0 lib/imap/backup/cli/helpers.rb
imap-backup-6.0.1 lib/imap/backup/cli/helpers.rb
imap-backup-6.0.0 lib/imap/backup/cli/helpers.rb