https://github.com/knu/ruby-domain_name
Domain Name manipulation library for Ruby
https://github.com/knu/ruby-domain_name
Last synced: about 1 year ago
JSON representation
Domain Name manipulation library for Ruby
- Host: GitHub
- URL: https://github.com/knu/ruby-domain_name
- Owner: knu
- License: other
- Created: 2011-10-28T10:21:57.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T17:53:27.000Z (almost 2 years ago)
- Last Synced: 2025-03-15T08:02:00.025Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 841 KB
- Stars: 108
- Watchers: 4
- Forks: 23
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
domain_name
===========
Synopsis
--------
Domain Name manipulation library for Ruby
Description
-----------
* Parses a domain name ready for extracting the registered domain and
TLD.
require "domain_name"
host = DomainName("a.b.example.co.uk")
host.domain #=> "example.co.uk"
host.tld #=> "uk"
host.cookie_domain?("example.co.uk") #=> true
host.cookie_domain?("co.uk") #=> false
host = DomainName("[::1]") # IP addresses like "192.168.1.1" and "::1" are also acceptable
host.ipaddr? #=> true
host.cookie_domain?("0:0:0:0:0:0:0:1") #=> true
* Implements rudimental IDNA support.
To-do's
-------
* Implement IDNA 2008 (and/or 2003) including the domain label
validation and mapping defined in RFC 5891-5895 and UTS #46.
(work in progress)
* Define a compact YAML serialization format.
Installation
------------
gem install domain_name
References
----------
* [RFC 3492](http://tools.ietf.org/html/rfc3492) (Obsolete; just for test cases)
* [RFC 5890](http://tools.ietf.org/html/rfc5890)
* [RFC 5891](http://tools.ietf.org/html/rfc5891)
* [RFC 5892](http://tools.ietf.org/html/rfc5892)
* [RFC 5893](http://tools.ietf.org/html/rfc5892)
* [Public Suffix List](https://publicsuffix.org/list/)
License
-------
Copyright (c) 2011-2017 Akinori MUSHA
Licensed under the 2-clause BSD license.
Some portion of this library is copyrighted by third parties and
licensed under MPL 2.0 or 3-clause BSD license,
See `LICENSE.txt` for details.