Class: Imap::Backup::Mirror

Inherits:
Object
  • Object
show all
Defined in:
lib/imap/backup/mirror.rb,
lib/imap/backup/mirror/map.rb

Overview

Synchronises a folder between a source and destination

Defined Under Namespace

Classes: Map

Instance Method Summary collapse

Constructor Details

#initialize(serializer, folder, reset: false) ⇒ Mirror

Returns a new instance of Mirror.



8
9
10
11
12
# File 'lib/imap/backup/mirror.rb', line 8

def initialize(serializer, folder, reset: false)
  @serializer = serializer
  @folder = folder
  @reset = reset
end

Instance Method Details

#runvoid

This method returns an undefined value.

If necessary, reates the destination folder, then deletes any messages in the destination folder that are not in the local store, sets existing messages’ flas then appends any missing messages and saves the mapping file



21
22
23
24
25
26
27
# File 'lib/imap/backup/mirror.rb', line 21

def run
  ensure_destination_folder
  delete_destination_only_emails if reset
  update_flags
  append_emails
  map.save
end