Class: Imap::Backup::CLI

Inherits:
Thor
  • Object
show all
Includes:
Helpers
Defined in:
lib/imap/backup/cli.rb,
lib/imap/backup/cli/accounts.rb

Defined Under Namespace

Modules: Helpers Classes: Accounts, Backup, Folders, Local, Migrate, Mirror, Remote, Restore, Setup, Stats, Status, Utils

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#account, #connection, #each_connection, included, #symbolized

Class Method Details

.accounts_option ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/imap/backup/cli.rb', line 30

def self.accounts_option
  method_option(
    "accounts",
    type: :string,
    desc: "a comma-separated list of accounts (defaults to all configured accounts)",
    aliases: ["-a"]
  )
end

.exit_on_failure? ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/imap/backup/cli.rb', line 26

def self.exit_on_failure?
  true
end

Instance Method Details

#backup ⇒ Object



56
57
58
59
# File 'lib/imap/backup/cli.rb', line 56

def backup
  Imap::Backup::Logger.setup_logging symbolized(options)
  Backup.new(symbolized(options)).run
end

#folders ⇒ Object



69
70
71
# File 'lib/imap/backup/cli.rb', line 69

def folders
  Folders.new(symbolized(options)).run
end

#migrate(source_email, destination_email) ⇒ Object



119
120
121
122
# File 'lib/imap/backup/cli.rb', line 119

def migrate(source_email, destination_email)
  Imap::Backup::Logger.setup_logging symbolized(options)
  Migrate.new(source_email, destination_email, **symbolized(options)).run
end

#mirror(source_email, destination_email) ⇒ Object



158
159
160
161
# File 'lib/imap/backup/cli.rb', line 158

def mirror(source_email, destination_email)
  Imap::Backup::Logger.setup_logging symbolized(options)
  Mirror.new(source_email, destination_email, **symbolized(options)).run
end

#restore(email = nil) ⇒ Object



174
175
176
177
# File 'lib/imap/backup/cli.rb', line 174

def restore(email = nil)
  Imap::Backup::Logger.setup_logging symbolized(options)
  Restore.new(email, symbolized(options)).run
end

#setup ⇒ Object



186
187
188
189
# File 'lib/imap/backup/cli.rb', line 186

def setup
  Imap::Backup::Logger.setup_logging symbolized(options)
  Setup.new.run
end

#stats(email) ⇒ Object



203
204
205
# File 'lib/imap/backup/cli.rb', line 203

def stats(email)
  Stats.new(email, symbolized(options)).run
end

#status ⇒ Object



213
214
215
# File 'lib/imap/backup/cli.rb', line 213

def status
  Status.new(symbolized(options)).run
end