maximeg/email_inquire

View on GitHub
lib/email_inquire/validator/unique_domain_provider.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

require "email_inquire/validator/base"

module EmailInquire
  module Validator
    class UniqueDomainProvider < Base

      DOMAINS = load_data("unique_domain_providers").freeze

      def validate
        return response.valid! if DOMAINS.include?(domain)

        base, _tld = domain.split(".", 2)

        replacement_domain =
          DOMAINS.find do |reference|
            reference_base, _reference_tld = reference.split(".")

            reference_base.eql?(base)
          end

        response.hint!(domain: replacement_domain) if replacement_domain
      end

    end
  end
end