Sha256: 31ad5c2eed69c164eb918a2eb4aa4133d3c9d9c1a0c8eeb9b4ac869093a1783b
Contents?: true
Size: 1.2 KB
Versions: 4
Compression:
Stored size: 1.2 KB
Contents
require 'net/imap' module Imap module Backup module Account class Connection attr_reader :username attr_reader :imap def initialize(options) @username = options[:username] @local_path, @backup_folders = options[:local_path], options[:folders] @imap = Net::IMAP.new(options[:server] || 'imap.gmail.com', 993, true) @imap.login(@username, options[:password]) end def disconnect @imap.disconnect end def folders @imap.list('/', '*') end def status @backup_folders.map do |folder| f = Imap::Backup::Account::Folder.new(self, folder[:name]) s = Imap::Backup::Serializer::Directory.new(@local_path, folder[:name]) {:name => folder[:name], :local => s.uids, :remote => f.uids} end end def run_backup @backup_folders.each do |folder| f = Imap::Backup::Account::Folder.new(self, folder[:name]) s = Imap::Backup::Serializer::Mbox.new(@local_path, folder[:name]) d = Imap::Backup::Downloader.new(f, s) d.run end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems