Sha256: 7262ef393f0bcd8fb4dd8953166d9db8fc8ce1918015208772212beedd812359

Contents?: true

Size: 824 Bytes

Versions: 10

Compression:

Stored size: 824 Bytes

Contents

require "imap/backup/serializer/directory"
require "imap/backup/serializer/folder_maker"

module Imap; end

module Imap::Backup
  class Account; end

  # Handles creation of directories for backup storage
  class Account::FolderEnsurer
    def initialize(account:)
      @account = account
    end

    # Creates the account's base directory and sets its permissions
    # @raise [RuntimeError] is the account's backup path is not set
    # @return [void]
    def run
      raise "The backup path for #{account.username} is not set" if !account.local_path

      Serializer::FolderMaker.new(
        base: File.dirname(account.local_path),
        path: File.basename(account.local_path),
        permissions: Serializer::Directory::DIRECTORY_PERMISSIONS
      ).run
    end

    private

    attr_reader :account
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
imap-backup-15.0.3.rc1 lib/imap/backup/account/folder_ensurer.rb
imap-backup-15.0.2 lib/imap/backup/account/folder_ensurer.rb
imap-backup-15.0.1 lib/imap/backup/account/folder_ensurer.rb
imap-backup-15.0.0 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.6.1 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.6.0 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.5.2 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.5.1 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.5.0 lib/imap/backup/account/folder_ensurer.rb
imap-backup-14.4.5 lib/imap/backup/account/folder_ensurer.rb