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/stats.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
73 74 75 76 |
# File 'lib/imap/backup/cli.rb', line 73 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
137 138 139 140 |
# File 'lib/imap/backup/cli.rb', line 137 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
174 175 176 177 |
# File 'lib/imap/backup/cli.rb', line 174 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
189 190 191 192 |
# File 'lib/imap/backup/cli.rb', line 189 def setup = Imap::Backup::Logger.setup_logging() CLI::Setup.new().run end |
#stats(email) ⇒ void
This method returns an undefined value.
Prints various statistics about a configured account
215 216 217 218 |
# File 'lib/imap/backup/cli.rb', line 215 def stats(email) = Imap::Backup::Logger.setup_logging() Stats.new(email, ).run end |
#version ⇒ void
This method returns an undefined value.
Prints the program version
226 227 228 |
# File 'lib/imap/backup/cli.rb', line 226 def version Kernel.puts I18n.t("cli.version", version: Imap::Backup::VERSION) end |