Class: Imap::Backup::CLI
- Inherits:
-
Thor
- Object
- Thor
- Imap::Backup::CLI
show all
- Includes:
- Helpers
- 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/restore.rb,
lib/imap/backup/cli/local/check.rb,
lib/imap/backup/cli/single/backup.rb,
lib/imap/backup/cli/folder_enumerator.rb
Defined Under Namespace
Modules: Helpers
Classes: Backup, FolderEnumerator, Local, Remote, Restore, Setup, Single, Stats, Transfer, Utils
Constant Summary
collapse
- NAMESPACE_CONFIGURATION_DESCRIPTION =
<<~DESC.freeze
Some IMAP servers use namespaces (i.e. prefixes like "INBOX"),
while others, while others concatenate the names of subfolders
with a charater ("delimiter") other than "/".
In these cases there are two choices.
You can use the `--automatic-namespaces` option.
This wil query the source and detination servers for their
namespace configuration and will adapt paths accordingly.
This option requires that both the source and destination
servers are available and work with the provided parameters
and authentication.
If automatic configuration does not work as desired, there are the
`--source-prefix=`, `--source-delimiter=`,
`--destination-prefix=` and `--destination-delimiter=` parameters.
To check what values you should use, check the output of the
`imap-backup remote namespaces EMAIL` command.
DESC
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Helpers
#account, included, #load_config, #options, #requested_accounts
Class Method Details
.exit_on_failure? ⇒ Boolean
67
68
69
|
# File 'lib/imap/backup/cli.rb', line 67
def self.exit_on_failure?
true
end
|
.start(args) ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/imap/backup/cli.rb', line 47
def self.start(args)
if args.include?("--version")
new.version
exit 0
end
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
#migrate(source_email, destination_email) ⇒ Object
144
145
146
147
|
# File 'lib/imap/backup/cli.rb', line 144
def migrate(source_email, destination_email)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Transfer.new(:migrate, source_email, destination_email, non_logging_options).run
end
|
#mirror(source_email, destination_email) ⇒ Object
203
204
205
206
|
# File 'lib/imap/backup/cli.rb', line 203
def mirror(source_email, destination_email)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Transfer.new(:mirror, source_email, destination_email, non_logging_options).run
end
|
#restore(email = nil) ⇒ Object
220
221
222
223
|
# File 'lib/imap/backup/cli.rb', line 220
def restore(email = nil)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Restore.new(email, non_logging_options).run
end
|
#stats(email) ⇒ Object
256
257
258
259
|
# File 'lib/imap/backup/cli.rb', line 256
def stats(email)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Stats.new(email, non_logging_options).run
end
|
#version ⇒ Object
265
266
267
|
# File 'lib/imap/backup/cli.rb', line 265
def version
Kernel.puts "imap-backup #{Imap::Backup::VERSION}"
end
|