wmap 2.7.2 → 2.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +10 -16
- data/bin/refresh +5 -5
- data/lib/wmap.rb +1 -1
- data/lib/wmap/site_tracker.rb +1 -4
- data/lib/wmap/{wp_tracker.rb → site_tracker/wp_tracker.rb} +41 -4
- data/lib/wmap/url_crawler.rb +1 -1
- data/version.txt +2 -2
- data/wmap.gemspec +2 -2
- metadata +4 -59
- data/ruby_whois_patches/base_cocca2.rb +0 -149
- data/ruby_whois_patches/kero.yachay.pe.rb +0 -120
- data/ruby_whois_patches/whois.PublicDomainRegistry.com.rb +0 -124
- data/ruby_whois_patches/whois.above.com.rb +0 -61
- data/ruby_whois_patches/whois.adamsnames.tc.rb +0 -107
- data/ruby_whois_patches/whois.aeda.net.ae.rb +0 -105
- data/ruby_whois_patches/whois.ai.rb +0 -112
- data/ruby_whois_patches/whois.arnes.si.rb +0 -121
- data/ruby_whois_patches/whois.ascio.com.rb +0 -91
- data/ruby_whois_patches/whois.cnnic.cn.rb +0 -123
- data/ruby_whois_patches/whois.corporatedomains.com.rb +0 -67
- data/ruby_whois_patches/whois.crsnic.net.rb +0 -108
- data/ruby_whois_patches/whois.denic.de.rb +0 -174
- data/ruby_whois_patches/whois.dk-hostmaster.dk.rb +0 -120
- data/ruby_whois_patches/whois.dns.be.rb +0 -134
- data/ruby_whois_patches/whois.dns.lu.rb +0 -129
- data/ruby_whois_patches/whois.dns.pl.rb +0 -150
- data/ruby_whois_patches/whois.dns.pt.rb +0 -119
- data/ruby_whois_patches/whois.domain.kg.rb +0 -126
- data/ruby_whois_patches/whois.domainregistry.my.rb +0 -123
- data/ruby_whois_patches/whois.domreg.lt.rb +0 -110
- data/ruby_whois_patches/whois.dot.tk.rb +0 -140
- data/ruby_whois_patches/whois.hkirc.hk.rb +0 -121
- data/ruby_whois_patches/whois.isnic.is.rb +0 -130
- data/ruby_whois_patches/whois.je.rb +0 -119
- data/ruby_whois_patches/whois.jprs.jp.rb +0 -137
- data/ruby_whois_patches/whois.kenic.or.ke.rb +0 -140
- data/ruby_whois_patches/whois.markmonitor.com.rb +0 -118
- data/ruby_whois_patches/whois.melbourneit.com.rb +0 -58
- data/ruby_whois_patches/whois.nic.as.rb +0 -96
- data/ruby_whois_patches/whois.nic.at.rb +0 -109
- data/ruby_whois_patches/whois.nic.ch.rb +0 -141
- data/ruby_whois_patches/whois.nic.cl.rb +0 -117
- data/ruby_whois_patches/whois.nic.ec.rb +0 -157
- data/ruby_whois_patches/whois.nic.im.rb +0 -120
- data/ruby_whois_patches/whois.nic.it.rb +0 -170
- data/ruby_whois_patches/whois.nic.lv.rb +0 -116
- data/ruby_whois_patches/whois.nic.ly.rb +0 -127
- data/ruby_whois_patches/whois.nic.mu.rb +0 -27
- data/ruby_whois_patches/whois.nic.mx.rb +0 -123
- data/ruby_whois_patches/whois.nic.net.sa.rb +0 -111
- data/ruby_whois_patches/whois.nic.or.kr.rb +0 -101
- data/ruby_whois_patches/whois.nic.tel.rb +0 -129
- data/ruby_whois_patches/whois.nic.tr.rb +0 -133
- data/ruby_whois_patches/whois.nic.us.rb +0 -129
- data/ruby_whois_patches/whois.nic.ve.rb +0 -135
- data/ruby_whois_patches/whois.norid.no.rb +0 -127
- data/ruby_whois_patches/whois.pandi.or.id.rb +0 -118
- data/ruby_whois_patches/whois.psi-usa.info.rb +0 -63
- data/ruby_whois_patches/whois.registro.br.rb +0 -109
- data/ruby_whois_patches/whois.registrygate.com.rb +0 -55
- data/ruby_whois_patches/whois.rrpproxy.net.rb +0 -61
- data/ruby_whois_patches/whois.sgnic.sg.rb +0 -130
- data/ruby_whois_patches/whois.srs.net.nz.rb +0 -166
- data/ruby_whois_patches/whois.tucows.com.rb +0 -70
- data/ruby_whois_patches/whois.twnic.net.tw.rb +0 -133
@@ -1,111 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Ruby Whois
|
3
|
-
#
|
4
|
-
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
-
#
|
6
|
-
# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
|
7
|
-
#++
|
8
|
-
|
9
|
-
|
10
|
-
require 'whois/record/parser/base'
|
11
|
-
|
12
|
-
|
13
|
-
module Whois
|
14
|
-
class Record
|
15
|
-
class Parser
|
16
|
-
|
17
|
-
#
|
18
|
-
# = whois.nic.net.sa parser
|
19
|
-
#
|
20
|
-
# Parser for the whois.nic.net.sa server.
|
21
|
-
#
|
22
|
-
# NOTE: This parser is just a stub and provides only a few basic methods
|
23
|
-
# to check for domain availability and get domain status.
|
24
|
-
# Please consider to contribute implementing missing methods.
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
26
|
-
# and examples.
|
27
|
-
#
|
28
|
-
class WhoisNicNetSa < Base
|
29
|
-
|
30
|
-
property_supported :status do
|
31
|
-
if available?
|
32
|
-
:available
|
33
|
-
else
|
34
|
-
:registered
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
property_supported :available? do
|
39
|
-
!!(content_for_scanner =~ /^No match\.$/)
|
40
|
-
end
|
41
|
-
|
42
|
-
property_supported :registered? do
|
43
|
-
!available?
|
44
|
-
end
|
45
|
-
|
46
|
-
property_supported :created_on do
|
47
|
-
if content_for_scanner =~ /reg-date:\s+(.*)\n/
|
48
|
-
Time.parse($1)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
property_not_supported :updated_on
|
53
|
-
|
54
|
-
property_not_supported :expires_on
|
55
|
-
|
56
|
-
# The following methods are implemented by Yang Li on 2/7/2013
|
57
|
-
# ----------------------------------------------------------------------------
|
58
|
-
property_supported :nameservers do
|
59
|
-
if content_for_scanner =~ /Name\sServers:\n((.+\n)+)\n/
|
60
|
-
$1.split("\n").map do |name|
|
61
|
-
Record::Nameserver.new(:name => name.strip.downcase)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
property_supported :domain do
|
67
|
-
#return $1.strip if content_for_scanner =~ /^Domain\sName:(.*)\n/i
|
68
|
-
return $1.strip if content_for_scanner =~ /Registrant:\n((.+\n)+)\n/i
|
69
|
-
end
|
70
|
-
|
71
|
-
property_not_supported :domain_id
|
72
|
-
|
73
|
-
property_not_supported :registrar
|
74
|
-
|
75
|
-
property_supported :admin_contacts do
|
76
|
-
build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
|
77
|
-
end
|
78
|
-
|
79
|
-
property_supported :registrant_contacts do
|
80
|
-
build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
81
|
-
end
|
82
|
-
|
83
|
-
property_supported :technical_contacts do
|
84
|
-
build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
|
85
|
-
end
|
86
|
-
|
87
|
-
property_not_supported :billing_contacts
|
88
|
-
|
89
|
-
private
|
90
|
-
|
91
|
-
def build_contact(element, type)
|
92
|
-
reg=Record::Contact.new(:type => type)
|
93
|
-
if content_for_scanner =~ /#{element}:\n((.+\n)+)\n/i
|
94
|
-
line_num=1
|
95
|
-
$1.split(%r{\n}).each do |line|
|
96
|
-
reg["name"]=line.strip if line_num==1
|
97
|
-
reg["organization"]=line.strip if line_num==1
|
98
|
-
reg["address"]=line.split(':')[1].strip if line_num==2
|
99
|
-
reg["city"]=line.strip if line_num==3
|
100
|
-
reg["country"]=line.strip if line_num==4
|
101
|
-
line_num=line_num+1
|
102
|
-
end
|
103
|
-
end
|
104
|
-
return reg
|
105
|
-
end
|
106
|
-
# ----------------------------------------------------------------------------
|
107
|
-
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
@@ -1,101 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Ruby Whois
|
3
|
-
#
|
4
|
-
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
-
#
|
6
|
-
# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
|
7
|
-
#++
|
8
|
-
|
9
|
-
require 'whois/record/parser/base'
|
10
|
-
|
11
|
-
module Whois
|
12
|
-
class Record
|
13
|
-
class Parser
|
14
|
-
|
15
|
-
# Parser for the whois.nic.or.kr server, on the english section only; added by Yang Li 02/10/2013.
|
16
|
-
class WhoisNicOrKr < Base
|
17
|
-
|
18
|
-
property_supported :status do
|
19
|
-
content_for_scanner.scan(/Publishes\s+:\s*(.+)\n/).flatten
|
20
|
-
end
|
21
|
-
|
22
|
-
property_supported :available? do
|
23
|
-
!!(content_for_scanner =~ /is not registered:/)
|
24
|
-
end
|
25
|
-
|
26
|
-
property_supported :registered? do
|
27
|
-
!available?
|
28
|
-
end
|
29
|
-
|
30
|
-
property_supported :created_on do
|
31
|
-
if content_for_scanner =~ /Registered Date\s+:\s*(.+?)\n/
|
32
|
-
Time.parse($1)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
property_supported :updated_on do
|
37
|
-
if content_for_scanner =~ /Last updated Date\s+:\s*(.+?)\n/
|
38
|
-
Time.parse($1)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
property_supported :expires_on do
|
43
|
-
if content_for_scanner =~ /Expiration Date\s+:\s*(.+?)\n/
|
44
|
-
Time.parse($1)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
property_supported :nameservers do
|
49
|
-
content_for_scanner.scan(/Host Name\s+:\s*(.+)\n/).flatten.map do |name|
|
50
|
-
Record::Nameserver.new(:name => name.downcase)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
property_supported :registrar do
|
55
|
-
reg=Record::Registrar.new
|
56
|
-
content_for_scanner.scan(/^(Authorized.*):\s+(.+)\n/).map do |entry|
|
57
|
-
reg["name"] = entry[1].split('(')[0] if entry[0] =~ /Agency/i
|
58
|
-
reg["organization"] = entry[1].split('(')[0] if entry[0] =~ /Agency/i
|
59
|
-
reg["url"] = entry[1].split('(')[1].split(')')[0] if entry[0] =~ /Agency/i
|
60
|
-
end
|
61
|
-
return reg
|
62
|
-
end
|
63
|
-
|
64
|
-
property_supported :admin_contacts do
|
65
|
-
build_contact_ac("AC", Whois::Record::Contact::TYPE_ADMIN)
|
66
|
-
end
|
67
|
-
|
68
|
-
property_supported :registrant_contacts do
|
69
|
-
build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
70
|
-
end
|
71
|
-
|
72
|
-
property_not_supported :technical_contacts
|
73
|
-
|
74
|
-
property_not_supported :billing_contacts
|
75
|
-
|
76
|
-
private
|
77
|
-
|
78
|
-
def build_contact_ac(element, type)
|
79
|
-
reg=Record::Contact.new(:type => type)
|
80
|
-
content_for_scanner.scan(/^(.*#{element}.*):\s*(.+)\n/).map do |entry|
|
81
|
-
reg["name"]=entry[1] if entry[0] =~ /Administrative\sContact/i
|
82
|
-
reg["phone"]=entry[1] if entry[0]=~ /phone/i
|
83
|
-
reg["email"]=entry[1] if entry[0]=~ /E\-Mail/i
|
84
|
-
end
|
85
|
-
return reg
|
86
|
-
end
|
87
|
-
|
88
|
-
def build_contact(element, type)
|
89
|
-
reg=Record::Contact.new(:type => type)
|
90
|
-
content_for_scanner.scan(/(#{element}.*):\s*(.+)\n/).map do |entry|
|
91
|
-
reg["name"]=entry[1] if entry[0].strip == "Registrant"
|
92
|
-
reg["address"]=entry[1] if entry[0]=~ /Address/i
|
93
|
-
reg["zip"]=entry[1] if entry[0]=~ /Zip\sCode/i
|
94
|
-
end
|
95
|
-
return reg
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
@@ -1,129 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Ruby Whois
|
3
|
-
#
|
4
|
-
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
-
#
|
6
|
-
# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
|
7
|
-
#++
|
8
|
-
|
9
|
-
|
10
|
-
require 'whois/record/parser/base'
|
11
|
-
|
12
|
-
|
13
|
-
module Whois
|
14
|
-
class Record
|
15
|
-
class Parser
|
16
|
-
|
17
|
-
#
|
18
|
-
# = whois.nic.tel parser
|
19
|
-
#
|
20
|
-
# Parser for the whois.nic.tel server.
|
21
|
-
#
|
22
|
-
# NOTE: This parser is just a stub and provides only a few basic methods
|
23
|
-
# to check for domain availability and get domain status.
|
24
|
-
# Please consider to contribute implementing missing methods.
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
26
|
-
# and examples.
|
27
|
-
#
|
28
|
-
class WhoisNicTel < Base
|
29
|
-
|
30
|
-
property_supported :status do
|
31
|
-
if available?
|
32
|
-
:available
|
33
|
-
else
|
34
|
-
:registered
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
property_supported :available? do
|
39
|
-
!!(content_for_scanner =~ /Not found:/)
|
40
|
-
end
|
41
|
-
|
42
|
-
property_supported :registered? do
|
43
|
-
!available?
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
property_supported :created_on do
|
48
|
-
if content_for_scanner =~ /Domain Registration Date:\s+(.*)\n/
|
49
|
-
Time.parse($1)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
property_supported :updated_on do
|
54
|
-
if content_for_scanner =~ /Domain Last Updated Date:\s+(.*)\n/
|
55
|
-
Time.parse($1)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
property_supported :expires_on do
|
60
|
-
if content_for_scanner =~ /Domain Expiration Date:\s+(.*)\n/
|
61
|
-
Time.parse($1)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
property_supported :nameservers do
|
66
|
-
content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten.map do |name|
|
67
|
-
Record::Nameserver.new(:name => name.downcase)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
# The following methods are implemented by Yang Li on 12/19/2012
|
72
|
-
# ----------------------------------------------------------------------------
|
73
|
-
property_supported :domain do
|
74
|
-
return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
|
75
|
-
end
|
76
|
-
|
77
|
-
property_supported :domain_id do
|
78
|
-
return $1 if content_for_scanner =~ /Domain ID:\s+(.*)\n/i
|
79
|
-
end
|
80
|
-
|
81
|
-
property_supported :registrar do
|
82
|
-
reg=Record::Registrar.new
|
83
|
-
content_for_scanner.scan(/^(.*Registrar.*):\s+(.+)\n/).map do |entry|
|
84
|
-
reg["id"] = entry[1] if entry[0] =~ /Sponsoring Registrar IANA ID/i
|
85
|
-
reg["name"] = entry[1] if entry[0] =~ /Sponsoring Registrar$/i
|
86
|
-
reg["organization"] = entry[1] if entry[0] =~ /Sponsoring Registrar$/i
|
87
|
-
reg["url"] = entry[1] if entry[0] =~ /URL/i
|
88
|
-
end
|
89
|
-
return reg
|
90
|
-
end
|
91
|
-
|
92
|
-
property_supported :registrant_contacts do
|
93
|
-
build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
94
|
-
end
|
95
|
-
|
96
|
-
property_supported :admin_contacts do
|
97
|
-
build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
|
98
|
-
end
|
99
|
-
|
100
|
-
property_supported :technical_contacts do
|
101
|
-
build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
|
102
|
-
end
|
103
|
-
|
104
|
-
private
|
105
|
-
|
106
|
-
def build_contact(element, type)
|
107
|
-
reg=Record::Contact.new(:type => type)
|
108
|
-
content_for_scanner.scan(/^(#{element}.*):\s+(.+)\n/).map do |entry|
|
109
|
-
reg["id"]=entry[1] if entry[0] =~ /#{element}\sID/i
|
110
|
-
reg["name"]=entry[1] if entry[0] =~ /#{element}\sName/i
|
111
|
-
reg["organization"]=entry[1] if entry[0]=~ /#{element}\sOrganization/i
|
112
|
-
reg["address"]=entry[1] if entry[0]=~ /#{element}\sAddress1/i
|
113
|
-
reg["city"]= entry[1] if entry[0]=~ /#{element}\sCity/i
|
114
|
-
reg["zip"]=entry[1] if entry[0]=~ /#{element}\sPostal\sCode/i
|
115
|
-
reg["state"]=entry[1] if entry[0]=~ /#{element}\sState\/Province/i
|
116
|
-
reg["country"]=entry[1] if entry[0]=~ /#{element}\sCountry$/i
|
117
|
-
reg["country_code"]=entry[1] if entry[0]=~ /#{element}\sCountry\sCode/i
|
118
|
-
reg["phone"]=entry[1] if entry[0]=~ /#{element}\sPhone\sNumber/i
|
119
|
-
reg["fax"]=entry[1] if entry[0]=~ /#{element}\sFacsimile\sNumber/i
|
120
|
-
reg["email"]=entry[1] if entry[0]=~ /#{element}\sEmail/i
|
121
|
-
end
|
122
|
-
return reg
|
123
|
-
end
|
124
|
-
# ----------------------------------------------------------------------------
|
125
|
-
|
126
|
-
end
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
@@ -1,133 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Ruby Whois
|
3
|
-
#
|
4
|
-
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
-
#
|
6
|
-
# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
|
7
|
-
#++
|
8
|
-
|
9
|
-
require 'whois/record/parser/base'
|
10
|
-
|
11
|
-
module Whois
|
12
|
-
class Record
|
13
|
-
class Parser
|
14
|
-
|
15
|
-
#
|
16
|
-
# = whois.nic.tr parser
|
17
|
-
#
|
18
|
-
# Parser for the whois.nic.tr server.
|
19
|
-
#
|
20
|
-
# NOTE: This parser is just a stub and provides only a few basic methods
|
21
|
-
# to check for domain availability and get domain status.
|
22
|
-
# Please consider to contribute implementing missing methods.
|
23
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
24
|
-
# and examples.
|
25
|
-
#
|
26
|
-
class WhoisNicTr < Base
|
27
|
-
|
28
|
-
property_supported :status do
|
29
|
-
if available?
|
30
|
-
:available
|
31
|
-
else
|
32
|
-
:registered
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
property_supported :available? do
|
37
|
-
!!(content_for_scanner =~ /No match found for "(.+)"/)
|
38
|
-
end
|
39
|
-
|
40
|
-
property_supported :registered? do
|
41
|
-
!available?
|
42
|
-
end
|
43
|
-
|
44
|
-
property_supported :created_on do
|
45
|
-
if content_for_scanner =~ /Created on\.+:\s+(.+)\n/
|
46
|
-
time = Time.parse($1)
|
47
|
-
Time.utc(time.year, time.month, time.day)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
property_not_supported :updated_on
|
52
|
-
|
53
|
-
property_supported :expires_on do
|
54
|
-
if content_for_scanner =~ /Expires on\.+:\s+(.+)\n/
|
55
|
-
time = Time.parse($1)
|
56
|
-
Time.utc(time.year, time.month, time.day)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
property_supported :nameservers do
|
61
|
-
if content_for_scanner =~ /Domain Servers:\n((.+\n)+)\n/
|
62
|
-
$1.split("\n").map do |line|
|
63
|
-
name, ipv4 = line.split(/\s+/)
|
64
|
-
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
# The following methods are implemented by Yang Li on 02/05/2013
|
70
|
-
# ----------------------------------------------------------------------------
|
71
|
-
property_not_supported :domain
|
72
|
-
|
73
|
-
property_not_supported :domain_id
|
74
|
-
|
75
|
-
property_not_supported :registrar
|
76
|
-
|
77
|
-
property_supported :admin_contacts do
|
78
|
-
build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
|
79
|
-
end
|
80
|
-
|
81
|
-
property_supported :registrant_contacts do
|
82
|
-
build_contact_1("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
83
|
-
end
|
84
|
-
|
85
|
-
property_supported :technical_contacts do
|
86
|
-
build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
|
87
|
-
end
|
88
|
-
|
89
|
-
property_supported :billing_contacts do
|
90
|
-
build_contact("Billing Contact", Whois::Record::Contact::TYPE_BILLING)
|
91
|
-
end
|
92
|
-
|
93
|
-
private
|
94
|
-
|
95
|
-
def build_contact(element, type)
|
96
|
-
reg=Record::Contact.new(:type => type)
|
97
|
-
if content_for_scanner =~ /#{element}:\n((.+\n)+)\n\n/i
|
98
|
-
$1.scan(/(.+):(.+)\n/).map do |entry|
|
99
|
-
reg["id"]=entry[1].strip if entry[0] =~ /NIC Handle/i
|
100
|
-
reg["name"]=entry[1].strip if entry[0] =~ /Name/i
|
101
|
-
reg["organization"]=entry[1].strip if entry[0]=~ /Organization/i
|
102
|
-
reg["address"]=entry[1].strip if entry[0]=~ /Address/i
|
103
|
-
reg["phone"]=entry[1].strip if entry[0]=~ /Phone/i
|
104
|
-
reg["fax"]=entry[1].strip if entry[0]=~ /Fax/i
|
105
|
-
end
|
106
|
-
end
|
107
|
-
return reg
|
108
|
-
end
|
109
|
-
|
110
|
-
def build_contact_1(element, type)
|
111
|
-
reg=Record::Contact.new(:type => type)
|
112
|
-
if content_for_scanner =~ /#{element}:\n((.+\n)+)\n\n/i
|
113
|
-
line_num=1
|
114
|
-
$1.split(%r{\n}).each do |line|
|
115
|
-
reg["name"]=line.strip if line_num==1
|
116
|
-
reg["organization"]=line.strip if line_num==1
|
117
|
-
reg["address"]=line.strip if line_num==2
|
118
|
-
reg["city"]=line.strip if line_num==3
|
119
|
-
reg["country"]=line.strip if line_num==5
|
120
|
-
reg["email"]=line.strip if line=~ /\w+\@\w+\.\w+/
|
121
|
-
reg["phone"]=line.strip if line_num==7
|
122
|
-
reg["fax"]=line.strip if line_num==8
|
123
|
-
line_num=line_num+1
|
124
|
-
end
|
125
|
-
end
|
126
|
-
return reg
|
127
|
-
end
|
128
|
-
# ----------------------------------------------------------------------------
|
129
|
-
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|