Class: Imap::Backup::CLI
- Inherits:
-
Thor
- Object
- Thor
- Imap::Backup::CLI
- Defined in:
- lib/imap/backup/cli.rb,
lib/imap/backup/cli/local.rb,
lib/imap/backup/cli/setup.rb,
lib/imap/backup/cli/utils.rb,
lib/imap/backup/cli/backup.rb,
lib/imap/backup/cli/remote.rb,
lib/imap/backup/cli/single.rb,
lib/imap/backup/cli/helpers.rb,
lib/imap/backup/cli/options.rb,
lib/imap/backup/cli/restore.rb,
lib/imap/backup/cli/local/check.rb,
lib/imap/backup/cli/single/backup.rb
Overview
Top-level cli call handler
Defined Under Namespace
Modules: Helpers, Migrate, Mirror Classes: Backup, Local, Options, Remote, Restore, Setup, Single, Stats, Transfer, Utils
Constant Summary
Constants included from Mirror
Constants included from Helpers
Helpers::NAMESPACE_CONFIGURATION_DESCRIPTION
Constants included from Migrate
Class Method Summary collapse
-
.exit_on_failure? ⇒ Boolean
see Thor documentation.
-
.start(args) ⇒ void
Overrides Thor’s method to handle ‘–version’ and rearrange parameters if ‘help’ is passed.
Instance Method Summary collapse
-
#backup ⇒ void
Runs account backups.
-
#copy(source_email, destination_email) ⇒ void
Copies messages from one email account to another.
-
#restore(email = nil) ⇒ void
Restores backed up emails to an account.
-
#setup ⇒ void
Runs the menu-driven setup program.
-
#stats(email) ⇒ void
Prints various statistics about a configured account.
-
#version ⇒ void
Prints the program version.
Methods included from Mirror
Methods included from Helpers
#account, included, #load_config, #options, #requested_accounts
Methods included from Migrate
Class Method Details
.exit_on_failure? ⇒ Boolean
53 54 55 |
# File 'lib/imap/backup/cli.rb', line 53 def self.exit_on_failure? true end |
.start(args) ⇒ void
This method returns an undefined value.
Overrides Thor’s method to handle ‘–version’ and rearrange parameters if ‘help’ is passed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/imap/backup/cli.rb', line 32 def self.start(args) if args.include?("--version") new.version exit 0 end # By default, commands like `imap-backup help foo bar` # are handled by listing all `foo` methods, whereas the user # probably wants the detailed help for the `bar` method. # Move initial "help" argument to after any subcommand, # so we get help for the requested subcommand method. first_argument_is_help = ARGV[0] == "help" second_argument_is_subcommand = subcommands.include?(ARGV[1]) if first_argument_is_help && second_argument_is_subcommand help, subcommand = ARGV.shift(2) ARGV.unshift(subcommand, help) end super end |
Instance Method Details
#backup ⇒ void
This method returns an undefined value.
Runs account backups
72 73 74 75 |
# File 'lib/imap/backup/cli.rb', line 72 def backup = Imap::Backup::Logger.setup_logging() Backup.new().run end |
#copy(source_email, destination_email) ⇒ void
This method returns an undefined value.
Copies messages from one email account to another
135 136 137 138 |
# File 'lib/imap/backup/cli.rb', line 135 def copy(source_email, destination_email) = Imap::Backup::Logger.setup_logging() Transfer.new(:copy, source_email, destination_email, ).run end |
#restore(email = nil) ⇒ void
This method returns an undefined value.
Restores backed up emails to an account
171 172 173 174 |
# File 'lib/imap/backup/cli.rb', line 171 def restore(email = nil) = Imap::Backup::Logger.setup_logging() Restore.new(email, ).run end |
#setup ⇒ void
This method returns an undefined value.
Runs the menu-driven setup program
186 187 188 189 |
# File 'lib/imap/backup/cli.rb', line 186 def setup = Imap::Backup::Logger.setup_logging() CLI::Setup.new().run end |