Sha256: 7388701c0803eaef94bd6d2a7dc1deb8b2118682747c77f976d6319ed7c42451

Contents?: true

Size: 1.07 KB

Versions: 6

Compression:

Stored size: 1.07 KB

Contents

require "imap/backup/email/provider/apple_mail"
require "imap/backup/email/provider/fastmail"
require "imap/backup/email/provider/gmail"
require "imap/backup/email/provider/purelymail"
require "imap/backup/email/provider/unknown"

module Imap; end

module Imap::Backup
  module Email; end

  class Email::Provider
    def self.for_address(address)
      # rubocop:disable Lint/DuplicateBranch
      case
      when address.end_with?("@fastmail.com")
        Email::Provider::Fastmail.new
      when address.end_with?("@fastmail.fm")
        Email::Provider::Fastmail.new
      when address.end_with?("@gmail.com")
        Email::Provider::GMail.new
      when address.end_with?("@icloud.com")
        Email::Provider::AppleMail.new
      when address.end_with?("@mac.com")
        Email::Provider::AppleMail.new
      when address.end_with?("@me.com")
        Email::Provider::AppleMail.new
      when address.end_with?("@purelymail.com")
        Email::Provider::Purelymail.new
      else
        Email::Provider::Unknown.new
      end
      # rubocop:enable Lint/DuplicateBranch
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
imap-backup-14.4.4 lib/imap/backup/email/provider.rb
imap-backup-14.4.3 lib/imap/backup/email/provider.rb
imap-backup-14.4.1 lib/imap/backup/email/provider.rb
imap-backup-14.4.0 lib/imap/backup/email/provider.rb
imap-backup-14.3.0 lib/imap/backup/email/provider.rb
imap-backup-14.2.0 lib/imap/backup/email/provider.rb