imap-backup 7.0.2 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,6 +11,12 @@ module Imap::Backup
11
11
  end
12
12
  self.highline = HighLine.new
13
13
 
14
+ attr_accessor :config
15
+
16
+ def initialize(config:)
17
+ @config = config
18
+ end
19
+
14
20
  def run
15
21
  catch :done do
16
22
  loop do
@@ -62,10 +68,6 @@ module Imap::Backup
62
68
  end
63
69
  end
64
70
 
65
- def config
66
- @config ||= Configuration.new
67
- end
68
-
69
71
  def default_account_config(username)
70
72
  Imap::Backup::Account.new(
71
73
  username: username,
@@ -1,9 +1,9 @@
1
1
  module Imap; end
2
2
 
3
3
  module Imap::Backup
4
- MAJOR = 7
4
+ MAJOR = 8
5
5
  MINOR = 0
6
- REVISION = 2
6
+ REVISION = 0
7
7
  PRE = nil
8
8
  VERSION = [MAJOR, MINOR, REVISION, PRE].compact.map(&:to_s).join(".")
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imap-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.2
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Yates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-17 00:00:00.000000000 Z
11
+ date: 2022-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -239,9 +239,7 @@ files:
239
239
  - lib/imap/backup/account/connection/folder_names.rb
240
240
  - lib/imap/backup/account/folder.rb
241
241
  - lib/imap/backup/cli.rb
242
- - lib/imap/backup/cli/accounts.rb
243
242
  - lib/imap/backup/cli/backup.rb
244
- - lib/imap/backup/cli/folders.rb
245
243
  - lib/imap/backup/cli/helpers.rb
246
244
  - lib/imap/backup/cli/local.rb
247
245
  - lib/imap/backup/cli/migrate.rb
@@ -250,7 +248,6 @@ files:
250
248
  - lib/imap/backup/cli/restore.rb
251
249
  - lib/imap/backup/cli/setup.rb
252
250
  - lib/imap/backup/cli/stats.rb
253
- - lib/imap/backup/cli/status.rb
254
251
  - lib/imap/backup/cli/utils.rb
255
252
  - lib/imap/backup/client/apple_mail.rb
256
253
  - lib/imap/backup/client/default.rb
@@ -1,43 +0,0 @@
1
- module Imap::Backup
2
- class CLI; end
3
-
4
- class CLI::Accounts
5
- include Enumerable
6
-
7
- attr_reader :required_accounts
8
-
9
- def initialize(required_accounts = [])
10
- @required_accounts = required_accounts
11
- end
12
-
13
- def each(&block)
14
- return enum_for(:each) if !block
15
-
16
- accounts.each(&block)
17
- end
18
-
19
- private
20
-
21
- def accounts
22
- @accounts ||=
23
- if required_accounts.empty?
24
- config.accounts
25
- else
26
- config.accounts.select do |account|
27
- required_accounts.include?(account.username)
28
- end
29
- end
30
- end
31
-
32
- def config
33
- @config ||= begin
34
- exists = Configuration.exist?
35
- if !exists
36
- path = Configuration.default_pathname
37
- raise ConfigurationNotFound, "Configuration file '#{path}' not found"
38
- end
39
- Configuration.new
40
- end
41
- end
42
- end
43
- end
@@ -1,29 +0,0 @@
1
- module Imap::Backup
2
- class CLI::Folders < Thor
3
- include Thor::Actions
4
- include CLI::Helpers
5
-
6
- attr_reader :account_names
7
-
8
- def initialize(options)
9
- super([])
10
- @account_names = (options[:accounts] || "").split(",")
11
- end
12
-
13
- no_commands do
14
- def run
15
- each_connection(account_names) do |connection|
16
- Kernel.puts connection.account.username
17
- # TODO: Make folder_names private once this command
18
- # has been removed.
19
- folders = connection.folder_names
20
- if folders.nil?
21
- Kernel.warn "Unable to list account folders"
22
- return false
23
- end
24
- folders.each { |f| Kernel.puts "\t#{f}" }
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,26 +0,0 @@
1
- module Imap::Backup
2
- class CLI::Status < Thor
3
- include Thor::Actions
4
- include CLI::Helpers
5
-
6
- attr_reader :account_names
7
-
8
- def initialize(options)
9
- super([])
10
- @account_names = (options[:accounts] || "").split(",")
11
- end
12
-
13
- no_commands do
14
- def run
15
- each_connection(account_names) do |connection|
16
- Kernel.puts connection.account.username
17
- folders = connection.status
18
- folders.each do |f|
19
- missing_locally = f[:remote] - f[:local]
20
- Kernel.puts "#{f[:name]}: #{missing_locally.size}"
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end