whois 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +39 -16
- data/Manifest +6 -1
- data/lib/whois/answer/parser.rb +1 -1
- data/lib/whois/answer/parser/NOTES.txt +11 -2
- data/lib/whois/answer/parser/base.rb +1 -1
- data/lib/whois/answer/parser/jobswhois.verisign-grs.com.rb +7 -3
- data/lib/whois/answer/parser/whois.adamsnames.tc.rb +2 -2
- data/lib/whois/answer/parser/whois.aeda.net.ae.rb +2 -2
- data/lib/whois/answer/parser/whois.aero.rb +9 -4
- data/lib/whois/answer/parser/whois.afilias-grs.info.rb +7 -2
- data/lib/whois/answer/parser/whois.afilias.info.rb +3 -3
- data/lib/whois/answer/parser/whois.biz.rb +7 -2
- data/lib/whois/answer/parser/whois.cat.rb +12 -2
- data/lib/whois/answer/parser/whois.cira.ca.rb +12 -4
- data/lib/whois/answer/parser/whois.crsnic.net.rb +9 -10
- data/lib/whois/answer/parser/whois.denic.de.rb +2 -4
- data/lib/whois/answer/parser/whois.dk-hostmaster.dk.rb +2 -2
- data/lib/whois/answer/parser/whois.domain-registry.nl.rb +10 -2
- data/lib/whois/answer/parser/whois.domainregistry.ie.rb +8 -3
- data/lib/whois/answer/parser/whois.dotmobiregistry.net.rb +7 -2
- data/lib/whois/answer/parser/whois.educause.edu.rb +10 -2
- data/lib/whois/answer/parser/whois.eu.org.rb +5 -2
- data/lib/whois/answer/parser/whois.eu.rb +16 -6
- data/lib/whois/answer/parser/whois.iana.org.rb +9 -4
- data/lib/whois/answer/parser/whois.isnic.is.rb +7 -2
- data/lib/whois/answer/parser/whois.meregistry.net.rb +2 -2
- data/lib/whois/answer/parser/whois.museum.rb +14 -4
- data/lib/whois/answer/parser/whois.nic-se.se.rb +5 -3
- data/lib/whois/answer/parser/whois.nic.ac.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.asia.rb +9 -4
- data/lib/whois/answer/parser/whois.nic.cc.rb +7 -3
- data/lib/whois/answer/parser/whois.nic.cd.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.ch.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.coop.rb +7 -2
- data/lib/whois/answer/parser/whois.nic.fr.rb +7 -2
- data/lib/whois/answer/parser/whois.nic.gl.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.gov.rb +5 -2
- data/lib/whois/answer/parser/whois.nic.hu.rb +26 -40
- data/lib/whois/answer/parser/whois.nic.im.rb +7 -2
- data/lib/whois/answer/parser/whois.nic.io.rb +5 -2
- data/lib/whois/answer/parser/whois.nic.it.rb +2 -4
- data/lib/whois/answer/parser/whois.nic.ly.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.mu.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.name.rb +5 -2
- data/lib/whois/answer/parser/whois.nic.nu.rb +9 -11
- data/lib/whois/answer/parser/whois.nic.tel.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.tl.rb +10 -2
- data/lib/whois/answer/parser/whois.nic.travel.rb +7 -2
- data/lib/whois/answer/parser/whois.nic.tv.rb +4 -4
- data/lib/whois/answer/parser/whois.nic.uk.rb +19 -10
- data/lib/whois/answer/parser/whois.nic.us.rb +7 -2
- data/lib/whois/answer/parser/whois.nic.ve.rb +78 -0
- data/lib/whois/answer/parser/whois.norid.no.rb +2 -2
- data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +1 -1
- data/lib/whois/answer/parser/whois.register.bg.rb +10 -2
- data/lib/whois/answer/parser/whois.registro.br.rb +5 -2
- data/lib/whois/answer/parser/whois.registrypro.pro.rb +2 -2
- data/lib/whois/answer/parser/whois.ripe.net.rb +13 -2
- data/lib/whois/answer/parser/whois.ripn.net.rb +7 -2
- data/lib/whois/answer/parser/whois.rotld.ro.rb +7 -2
- data/lib/whois/answer/parser/whois.samoanic.ws.rb +10 -2
- data/lib/whois/answer/parser/whois.za.net.rb +10 -2
- data/lib/whois/answer/parser/whois.za.org.rb +10 -2
- data/lib/whois/server/adapters/afilias.rb +1 -1
- data/lib/whois/server/adapters/arpa.rb +1 -1
- data/lib/whois/server/adapters/base.rb +1 -1
- data/lib/whois/server/adapters/formatted.rb +1 -1
- data/lib/whois/server/adapters/none.rb +1 -1
- data/lib/whois/server/adapters/not_implemented.rb +1 -1
- data/lib/whois/server/adapters/standard.rb +1 -1
- data/lib/whois/server/adapters/web.rb +1 -1
- data/lib/whois/version.rb +1 -1
- data/test/answer/parser/jobswhois.verisign-grs.com_test.rb +15 -4
- data/test/answer/parser/whois.aero_test.rb +14 -1
- data/test/answer/parser/whois.afilias-grs.info_test.rb +91 -0
- data/test/answer/parser/whois.biz_test.rb +13 -0
- data/test/answer/parser/whois.cat_test.rb +13 -0
- data/test/answer/parser/whois.cira.ca_test.rb +14 -1
- data/test/answer/parser/whois.crsnic.net_test.rb +5 -5
- data/test/answer/parser/whois.denic.de_test.rb +6 -10
- data/test/answer/parser/whois.domain-registry.nl_test.rb +14 -1
- data/test/answer/parser/whois.domainregistry.ie_test.rb +13 -0
- data/test/answer/parser/whois.dotmobiregistry.net_test.rb +13 -0
- data/test/answer/parser/whois.educause.edu_test.rb +13 -0
- data/test/answer/parser/whois.eu.org_test.rb +7 -1
- data/test/answer/parser/whois.eu_test.rb +8 -1
- data/test/answer/parser/whois.iana.org_test.rb +15 -1
- data/test/answer/parser/whois.isnic.is_test.rb +13 -0
- data/test/answer/parser/whois.museum_test.rb +13 -0
- data/test/answer/parser/whois.nic.ac_test.rb +2 -2
- data/test/answer/parser/whois.nic.asia_test.rb +14 -1
- data/test/answer/parser/whois.nic.cc_test.rb +16 -5
- data/test/answer/parser/whois.nic.cd_test.rb +14 -1
- data/test/answer/parser/whois.nic.ch_test.rb +15 -2
- data/test/answer/parser/whois.nic.coop_test.rb +13 -0
- data/test/answer/parser/whois.nic.fr_test.rb +65 -0
- data/test/answer/parser/whois.nic.gl_test.rb +15 -2
- data/test/answer/parser/whois.nic.gov_test.rb +8 -2
- data/test/answer/parser/whois.nic.hu_test.rb +39 -32
- data/test/answer/parser/whois.nic.im_test.rb +14 -1
- data/test/answer/parser/whois.nic.io_test.rb +7 -1
- data/test/answer/parser/whois.nic.it_test.rb +3 -5
- data/test/answer/parser/whois.nic.ly_test.rb +15 -2
- data/test/answer/parser/whois.nic.mu_test.rb +26 -0
- data/test/answer/parser/whois.nic.name_test.rb +7 -1
- data/test/answer/parser/whois.nic.tl_test.rb +14 -1
- data/test/answer/parser/whois.nic.travel_test.rb +14 -1
- data/test/answer/parser/whois.nic.tv_test.rb +2 -4
- data/test/answer/parser/whois.nic.uk_test.rb +14 -1
- data/test/answer/parser/whois.nic.us_test.rb +14 -1
- data/test/answer/parser/whois.nic.ve_test.rb +72 -0
- data/test/answer/parser/whois.norid.no_test.rb +1 -1
- data/test/answer/parser/whois.publicinterestregistry.net_test.rb +3 -3
- data/test/answer/parser/whois.register.bg_test.rb +15 -2
- data/test/answer/parser/whois.registro.br_test.rb +7 -1
- data/test/answer/parser/whois.ripe.net_test.rb +65 -2
- data/test/answer/parser/whois.ripn.net_test.rb +27 -1
- data/test/answer/parser/whois.rotld.ro_test.rb +15 -2
- data/test/answer/parser/whois.samoanic.ws_test.rb +14 -1
- data/test/answer/parser/whois.za.net_test.rb +15 -2
- data/test/answer/parser/whois.za.org_test.rb +15 -2
- data/test/list_tld +1 -1
- data/test/server/adapters/none_test.rb +1 -1
- data/test/testcases/responses/whois.crsnic.net/{nameservers_with_nonameserver.txt → nameservers_with_no_nameserver.txt} +0 -0
- data/test/testcases/responses/whois.eu/nameservers_with_ip.txt +61 -0
- data/test/testcases/responses/whois.nic.ve/available.txt +10 -0
- data/test/testcases/responses/whois.nic.ve/registered.txt +48 -0
- data/test/testcases/responses/whois.registro.br/registered.txt +1 -1
- data/whois.gemspec +5 -5
- metadata +10 -3
@@ -54,15 +54,20 @@ module Whois
|
|
54
54
|
property_not_supported :created_on
|
55
55
|
|
56
56
|
property_not_supported :updated_on
|
57
|
-
|
57
|
+
|
58
58
|
property_supported :expires_on do
|
59
59
|
@expires_on ||= if content_for_scanner =~ /renewal:\s+(.*)\n/
|
60
60
|
Time.parse($1)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
|
65
|
+
property_supported :nameservers do
|
66
|
+
@nameservers ||= content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten
|
67
|
+
end
|
68
|
+
|
64
69
|
end
|
65
|
-
|
70
|
+
|
66
71
|
end
|
67
72
|
end
|
68
|
-
end
|
73
|
+
end
|
@@ -69,8 +69,16 @@ module Whois
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
|
73
|
+
property_supported :nameservers do
|
74
|
+
@nameservers ||= if content_for_scanner =~ /Name Servers: \n((.+\n)+)\n/
|
75
|
+
$1.split("\n").map { |value| value.split(" ").first.downcase }
|
76
|
+
end
|
77
|
+
@nameservers ||= []
|
78
|
+
end
|
79
|
+
|
72
80
|
end
|
73
|
-
|
81
|
+
|
74
82
|
end
|
75
83
|
end
|
76
|
-
end
|
84
|
+
end
|
@@ -58,16 +58,26 @@ module Whois
|
|
58
58
|
property_not_supported :expires_on
|
59
59
|
|
60
60
|
|
61
|
+
# Nameservers are listed in the following formats:
|
62
|
+
#
|
63
|
+
# Nameservers:
|
64
|
+
# dns1.servicemagic.eu
|
65
|
+
# dns2.servicemagic.eu
|
66
|
+
#
|
67
|
+
# Nameservers:
|
68
|
+
# dns1.servicemagic.eu (91.121.133.61)
|
69
|
+
# dns2.servicemagic.eu (91.121.103.77)
|
70
|
+
#
|
71
|
+
# In both cases, always return only the name.
|
61
72
|
property_supported :nameservers do
|
62
|
-
@nameservers ||= if content_for_scanner =~
|
63
|
-
$1.split.map(
|
64
|
-
else
|
65
|
-
[]
|
73
|
+
@nameservers ||= if content_for_scanner =~ /Nameservers:\n((.+\n)+)\n/
|
74
|
+
$1.split("\n").map { |value| value.strip.split(" ").first }
|
66
75
|
end
|
76
|
+
@nameservers ||= []
|
67
77
|
end
|
68
78
|
|
69
79
|
end
|
70
|
-
|
80
|
+
|
71
81
|
end
|
72
82
|
end
|
73
|
-
end
|
83
|
+
end
|
@@ -56,17 +56,22 @@ module Whois
|
|
56
56
|
Time.parse($1)
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
property_supported :updated_on do
|
61
61
|
@updated_on ||= if content_for_scanner =~ /\nLast Updated Date:\s+(.*)\n/
|
62
62
|
Time.parse($1)
|
63
63
|
end
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
property_not_supported :expires_on
|
67
67
|
|
68
|
+
|
69
|
+
property_supported :nameservers do
|
70
|
+
@nameservers ||= content_for_scanner.scan(/Nameserver:\s(.*)\n/).flatten.map { |value| value.chomp(".") }
|
71
|
+
end
|
72
|
+
|
68
73
|
end
|
69
|
-
|
74
|
+
|
70
75
|
end
|
71
76
|
end
|
72
|
-
end
|
77
|
+
end
|
@@ -56,21 +56,31 @@ module Whois
|
|
56
56
|
Time.parse($1)
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
property_supported :updated_on do
|
61
61
|
@updated_on ||= if content_for_scanner =~ /Last Updated On:(.*?)\n/
|
62
62
|
Time.parse($1)
|
63
63
|
end
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
property_supported :expires_on do
|
67
67
|
@expires_on ||= if content_for_scanner =~ /Expiration Date:(.*?)\n/
|
68
68
|
Time.parse($1)
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
# Nameservers are listed in the following formats:
|
73
|
+
#
|
74
|
+
# Name Server: nic.frd.se
|
75
|
+
# Name Server: nic.museum 130.242.24.5
|
76
|
+
#
|
77
|
+
# In both cases, always return only the name.
|
78
|
+
property_supported :nameservers do
|
79
|
+
@nameservers ||= content_for_scanner.scan(/Name Server:\s+(.*)\n/).flatten.map { |value| value.split(" ").first }
|
80
|
+
end
|
81
|
+
|
72
82
|
end
|
73
|
-
|
83
|
+
|
74
84
|
end
|
75
85
|
end
|
76
|
-
end
|
86
|
+
end
|
@@ -48,6 +48,7 @@ module Whois
|
|
48
48
|
!available?
|
49
49
|
end
|
50
50
|
|
51
|
+
|
51
52
|
property_supported :created_on do
|
52
53
|
@created_on ||= if content_for_scanner =~ /created:\s+(.*)\n/
|
53
54
|
Time.parse($1)
|
@@ -59,13 +60,14 @@ module Whois
|
|
59
60
|
Time.parse($1)
|
60
61
|
end
|
61
62
|
end
|
62
|
-
|
63
|
+
|
63
64
|
property_supported :updated_on do
|
64
65
|
@updated_on ||= if content_for_scanner =~ /modified:\s+(.*?)\n/
|
65
66
|
Time.parse($1)
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
70
|
+
|
69
71
|
# Nameservers are listed in the following formats:
|
70
72
|
#
|
71
73
|
# nserver: ns2.loopia.se
|
@@ -73,11 +75,11 @@ module Whois
|
|
73
75
|
#
|
74
76
|
# In both cases, always return only the name.
|
75
77
|
property_supported :nameservers do
|
76
|
-
@nameservers ||= content_for_scanner.scan(/nserver:\s+(
|
78
|
+
@nameservers ||= content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map { |value| value.split(" ").first }
|
77
79
|
end
|
78
80
|
|
79
81
|
end
|
80
|
-
|
82
|
+
|
81
83
|
end
|
82
84
|
end
|
83
85
|
end
|
@@ -54,21 +54,26 @@ module Whois
|
|
54
54
|
Time.parse($1)
|
55
55
|
end
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
property_supported :updated_on do
|
59
59
|
@updated_on ||= if content_for_scanner =~ /Domain Last Updated Date:(.*?)\n/
|
60
60
|
Time.parse($1)
|
61
61
|
end
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
property_supported :expires_on do
|
65
65
|
@expires_on ||= if content_for_scanner =~ /Domain Expiration Date:(.*?)\n/
|
66
66
|
Time.parse($1)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
+
|
71
|
+
property_supported :nameservers do
|
72
|
+
@nameservers ||= content_for_scanner.scan(/Nameservers:([^\s]+)\n/).flatten.map(&:downcase)
|
73
|
+
end
|
74
|
+
|
70
75
|
end
|
71
|
-
|
76
|
+
|
72
77
|
end
|
73
78
|
end
|
74
|
-
end
|
79
|
+
end
|
@@ -39,9 +39,7 @@ module Whois
|
|
39
39
|
node("Domain Name") { |raw| raw.downcase }
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
nil
|
44
|
-
end
|
42
|
+
property_not_supported :domain_id
|
45
43
|
|
46
44
|
|
47
45
|
property_supported :referral_whois do
|
@@ -86,6 +84,12 @@ module Whois
|
|
86
84
|
end
|
87
85
|
|
88
86
|
|
87
|
+
property_supported :nameservers do
|
88
|
+
@nameservers ||= node("Name Server") { |values| [*values].map(&:downcase) }
|
89
|
+
@nameservers ||= []
|
90
|
+
end
|
91
|
+
|
92
|
+
|
89
93
|
protected
|
90
94
|
|
91
95
|
def parse
|
@@ -61,8 +61,16 @@ module Whois
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
|
65
|
+
property_supported :nameservers do
|
66
|
+
@nameservers ||= if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
67
|
+
$1.split("\n").map { |value| value.strip.downcase }
|
68
|
+
end
|
69
|
+
@nameservers ||= []
|
70
|
+
end
|
71
|
+
|
64
72
|
end
|
65
|
-
|
73
|
+
|
66
74
|
end
|
67
75
|
end
|
68
|
-
end
|
76
|
+
end
|
@@ -57,8 +57,16 @@ module Whois
|
|
57
57
|
|
58
58
|
property_not_supported :expires_on
|
59
59
|
|
60
|
+
|
61
|
+
property_supported :nameservers do
|
62
|
+
@nameservers ||= if content_for_scanner =~ /Name servers:\n((.+\n)+)(?:\n|\z)/
|
63
|
+
$1.split("\n")
|
64
|
+
end
|
65
|
+
@nameservers ||= []
|
66
|
+
end
|
67
|
+
|
60
68
|
end
|
61
|
-
|
69
|
+
|
62
70
|
end
|
63
71
|
end
|
64
|
-
end
|
72
|
+
end
|
@@ -67,8 +67,13 @@ module Whois
|
|
67
67
|
|
68
68
|
property_not_supported :expires_on
|
69
69
|
|
70
|
+
|
71
|
+
property_supported :nameservers do
|
72
|
+
@nameservers ||= content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map { |value| value.split(" ").first }
|
73
|
+
end
|
74
|
+
|
70
75
|
end
|
71
|
-
|
76
|
+
|
72
77
|
end
|
73
78
|
end
|
74
|
-
end
|
79
|
+
end
|
@@ -70,8 +70,16 @@ module Whois
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
+
|
74
|
+
property_supported :nameservers do
|
75
|
+
@nameservers ||= if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
76
|
+
$1.split("\n").map { |value| value.strip.downcase }
|
77
|
+
end
|
78
|
+
@nameservers ||= []
|
79
|
+
end
|
80
|
+
|
73
81
|
end
|
74
|
-
|
82
|
+
|
75
83
|
end
|
76
84
|
end
|
77
|
-
end
|
85
|
+
end
|
@@ -29,23 +29,20 @@ module Whois
|
|
29
29
|
class WhoisNicHu < Base
|
30
30
|
include Ast
|
31
31
|
|
32
|
-
# Returns the registry disclaimer that comes with the answer.
|
33
32
|
property_supported :disclaimer do
|
34
33
|
node('Disclaimer')
|
35
34
|
end
|
36
35
|
|
37
|
-
|
36
|
+
|
38
37
|
property_supported :domain do
|
39
38
|
node('Domain')
|
40
39
|
end
|
41
40
|
|
42
|
-
# If available, returns the unique domain ID set by the registry.
|
43
41
|
property_supported :domain_id do
|
44
42
|
node('hun-id')
|
45
43
|
end
|
46
44
|
|
47
|
-
|
48
|
-
# or <tt>:registered</tt>.
|
45
|
+
|
49
46
|
property_supported :status do
|
50
47
|
if node('NotFound')
|
51
48
|
:available
|
@@ -56,30 +53,36 @@ module Whois
|
|
56
53
|
end
|
57
54
|
end
|
58
55
|
|
59
|
-
# Returns whether this record is available.
|
60
56
|
property_supported :available? do
|
61
57
|
@available ||= status == :available
|
62
58
|
end
|
63
59
|
|
64
|
-
# Returns whether this record is registered.
|
65
60
|
property_supported :registered? do
|
66
61
|
@registered ||= status == :registered
|
67
62
|
end
|
68
63
|
|
69
|
-
|
70
|
-
# the record was created, according to the registry answer.
|
64
|
+
|
71
65
|
property_supported :created_on do
|
72
66
|
node('registered') { |raw| Time.parse(raw) }
|
73
67
|
end
|
74
68
|
|
75
|
-
# If available, returns a Time object representing the date
|
76
|
-
# the record was last updated, according to the registry answer.
|
77
69
|
property_supported :updated_on do
|
78
70
|
node('changed') { |raw| Time.parse(raw) }
|
79
71
|
end
|
80
72
|
|
81
|
-
|
82
|
-
|
73
|
+
property_not_supported :expires_on
|
74
|
+
|
75
|
+
|
76
|
+
property_supported :registrar do
|
77
|
+
if c = registrar_contact
|
78
|
+
Answer::Registrar.new(
|
79
|
+
:id => c[:id],
|
80
|
+
:name => c[:name],
|
81
|
+
:organization => c[:organization]
|
82
|
+
)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
83
86
|
property_supported :registrant do
|
84
87
|
if registered?
|
85
88
|
a1 = (node('address') || [])[1].split(/\s/)
|
@@ -98,40 +101,14 @@ module Whois
|
|
98
101
|
end
|
99
102
|
end
|
100
103
|
|
101
|
-
# If available, returns a <tt>Whois::Answer::Contact</tt> record
|
102
|
-
# containing the admin contact details extracted from the registry answer.
|
103
104
|
property_supported :admin do
|
104
105
|
contact('admin-c')
|
105
106
|
end
|
106
107
|
|
107
|
-
# If available, returns a <tt>Whois::Answer::Contact</tt> record
|
108
|
-
# containing the technical contact details extracted from the registry answer.
|
109
108
|
property_supported :technical do
|
110
109
|
contact('tech-c')
|
111
110
|
end
|
112
111
|
|
113
|
-
# If available, returns a <tt>Whois::Answer::Contact</tt> record
|
114
|
-
# containing the zone contact details extracted from the registry answer.
|
115
|
-
property_supported :zone_contact do
|
116
|
-
contact('zone-c')
|
117
|
-
end
|
118
|
-
|
119
|
-
# If available, returns a <tt>Whois::Answer::Contact</tt> record
|
120
|
-
# containing the registrar contact details extracted from the registry answer.
|
121
|
-
property_supported :registrar_contact do
|
122
|
-
contact('registrar')
|
123
|
-
end
|
124
|
-
|
125
|
-
property_supported :registrar do
|
126
|
-
if rc = registrar_contact
|
127
|
-
Answer::Registrar.new(
|
128
|
-
:id => rc[:id],
|
129
|
-
:name => rc[:name],
|
130
|
-
:organization => rc[:organization]
|
131
|
-
)
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
112
|
|
136
113
|
# If available, returns an array of name servers entries for this domain
|
137
114
|
# if any name server is available in the registry answer.
|
@@ -140,6 +117,15 @@ module Whois
|
|
140
117
|
end
|
141
118
|
|
142
119
|
|
120
|
+
def registrar_contact
|
121
|
+
contact('registrar')
|
122
|
+
end
|
123
|
+
|
124
|
+
def zone_contact
|
125
|
+
contact('zone-c')
|
126
|
+
end
|
127
|
+
|
128
|
+
|
143
129
|
protected
|
144
130
|
|
145
131
|
def parse
|
@@ -330,7 +316,7 @@ module Whois
|
|
330
316
|
end
|
331
317
|
|
332
318
|
end
|
333
|
-
|
319
|
+
|
334
320
|
end
|
335
321
|
end
|
336
322
|
end
|