Module: Addressabler
- Defined in:
- lib/addressabler.rb,
lib/addressabler/uri.rb,
lib/addressabler/query.rb,
lib/addressabler/uri_deprecation.rb
Defined Under Namespace
Modules: URI, URIDeprecation
Classes: Query
Class Method Summary
collapse
Class Method Details
.all_tlds ⇒ Object
6
7
8
9
10
11
12
|
# File 'lib/addressabler.rb', line 6
def self.all_tlds
@all_tlds ||= {}.tap do |tlds|
with_tld_file do |line|
add_line_to_tlds(line, tlds)
end
end
end
|
.custom_tlds ⇒ Object
14
15
16
|
# File 'lib/addressabler.rb', line 14
def self.custom_tlds
@custom_tlds ||= {}
end
|
.custom_tlds=(new_custom_tlds) ⇒ Object
18
19
20
|
# File 'lib/addressabler.rb', line 18
def self.custom_tlds=(new_custom_tlds)
@custom_tlds = new_custom_tlds
end
|
.parse_tld(host) ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/addressabler.rb', line 22
def self.parse_tld(host)
host = host.to_s.split('.')
tlds = []
tlds = look_for_tld_in(private_tlds, host.dup) if use_private_tlds?
tlds = look_for_tld_in(public_tlds.merge(custom_tlds), host.dup) if tlds.empty?
tlds.join('.')
end
|
.private_tlds ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/addressabler.rb', line 30
def self.private_tlds
@private_tlds ||= {}.tap do |tlds|
in_private_tlds = false
with_tld_file do |line|
if in_private_tlds
add_line_to_tlds(line, tlds)
elsif line =~ /BEGIN PRIVATE/
in_private_tlds = true
end
end
end
end
|
.public_tlds ⇒ Object
43
44
45
46
47
48
49
50
|
# File 'lib/addressabler.rb', line 43
def self.public_tlds
@public_tlds ||= {}.tap do |tlds|
with_tld_file do |line|
break if line =~ /END ICANN/
add_line_to_tlds(line, tlds)
end
end
end
|
.use_private_tlds=(new_use_private_tlds) ⇒ Object
52
53
54
|
# File 'lib/addressabler.rb', line 52
def self.use_private_tlds=(new_use_private_tlds)
@use_private_tlds = new_use_private_tlds
end
|
.use_private_tlds? ⇒ Boolean
56
57
58
59
|
# File 'lib/addressabler.rb', line 56
def self.use_private_tlds?
return @use_private_tlds if defined? @use_private_tlds
@use_private_tlds = false
end
|