Class: DomainExtraction
- Inherits:
-
Object
- Object
- DomainExtraction
- Defined in:
- lib/domain_extraction.rb,
lib/domain_extraction/version.rb
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Method Summary collapse
- #extract_domain(hostname) ⇒ Object
- #extract_tld(hostname) ⇒ Object
-
#initialize(dat_source = File.open("#{File.dirname(__FILE__)}/../data/public_suffix_list.dat", "r:UTF-8")) ⇒ DomainExtraction
constructor
A new instance of DomainExtraction.
Constructor Details
#initialize(dat_source = File.open("#{File.dirname(__FILE__)}/../data/public_suffix_list.dat", "r:UTF-8")) ⇒ DomainExtraction
Returns a new instance of DomainExtraction.
4 5 6 7 |
# File 'lib/domain_extraction.rb', line 4 def initialize(dat_source = File.open("#{File.dirname(__FILE__)}/../data/public_suffix_list.dat", "r:UTF-8")) @tlds = Set.new load_tlds(dat_source) end |
Instance Method Details
#extract_domain(hostname) ⇒ Object
9 10 11 12 13 |
# File 'lib/domain_extraction.rb', line 9 def extract_domain(hostname) if tld = extract_tld(hostname) hostname[/([^.]+\.#{tld}$)/, 1] end end |
#extract_tld(hostname) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/domain_extraction.rb', line 15 def extract_tld(hostname) tld = nil possible_domains_for_host(hostname).each do |domain| if tlds.include?(domain) || domain_matches_wildcard_tld?(domain) tld = domain end end tld end |