If you ever worked with domain validation, you probably needed to extract the root domain. This means that, given some hostname, you must remove subdomains from the original input, taking into account not only official Internet TLDs, but SLDs too.
With root_domain, you can easily extract the root domain, expanding any input from punycode into ASCII entries.
gem install root_domain
Or add the following line to your project's Gemfile:
require "root_domain" RootDomain.call("www.example.com") #=> example.com RootDomain.call("www.example.com.br") #=> example.com.br RootDomain.call("myapp.apps.🤯.com") #=> xn--oq9h.com
For more details about how to contribute, please read https://github.com/fnando/root_domain/blob/main/CONTRIBUTING.md.
The gem is available as open source under the terms of the MIT License. A copy of the license can be found at https://github.com/fnando/root_domain/blob/main/LICENSE.md.
Code of Conduct
Everyone interacting in the root_domain project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.