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/helpers.rb,
lib/imap/backup/cli/restore.rb,
lib/imap/backup/cli/local/check.rb,
lib/imap/backup/cli/folder_enumerator.rb
Defined Under Namespace
Modules: Helpers
Classes: Backup, FolderEnumerator, Local, Remote, Restore, Setup, 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
66
67
68
|
# File 'lib/imap/backup/cli.rb', line 66
def self.exit_on_failure?
true
end
|
.start(args) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/imap/backup/cli.rb', line 46
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
148
149
150
151
|
# File 'lib/imap/backup/cli.rb', line 148
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
207
208
209
210
|
# File 'lib/imap/backup/cli.rb', line 207
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
224
225
226
227
|
# File 'lib/imap/backup/cli.rb', line 224
def restore(email = nil)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Restore.new(email, non_logging_options).run
end
|
#stats(email) ⇒ Object
257
258
259
260
|
# File 'lib/imap/backup/cli.rb', line 257
def stats(email)
non_logging_options = Imap::Backup::Logger.setup_logging(options)
Stats.new(email, non_logging_options).run
end
|
#version ⇒ Object
266
267
268
|
# File 'lib/imap/backup/cli.rb', line 266
def version
Kernel.puts "imap-backup #{Imap::Backup::VERSION}"
end
|