Sha256: b8d6af15f12506dbf461e22b508ee0e0c438fc7eae9beb961d9830e1d8c62f0b
Contents?: true
Size: 526 Bytes
Versions: 2
Compression:
Stored size: 526 Bytes
Contents
# frozen_string_literal: true require "email_data" require "simpleidn" require "json" require "root_domain/version" module RootDomain def self.call(input) input = SimpleIDN.to_ascii(input) find(EmailData.slds, input) || find(EmailData.tlds, input) end def self.find(source, input) components = input.split(".") 0.upto(components.size - 1) do |index| if source.include?(components[index..-1].join(".")) return components[(index - 1)..-1].join(".") end end nil end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
root_domain-0.1.2 | lib/root_domain.rb |
root_domain-0.1.1 | lib/root_domain.rb |