Sha256: 9e01105642babe0f60776826a4b74f6de0bca322afcb74003ad4d591b6975f91

Contents?: true

Size: 831 Bytes

Versions: 4

Compression:

Stored size: 831 Bytes

Contents

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

module Imap::Backup::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 = Imap::Backup::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)

    Imap::Backup::Account::Connection.new(account)
  end

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

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
imap-backup-6.0.0.rc2 lib/imap/backup/cli/helpers.rb
imap-backup-5.2.0 lib/imap/backup/cli/helpers.rb
imap-backup-5.1.0 lib/imap/backup/cli/helpers.rb
imap-backup-5.0.0 lib/imap/backup/cli/helpers.rb