whois 1.3.5 → 1.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,6 +1,13 @@
1
1
  = Changelog
2
2
 
3
3
 
4
+ == Release 1.3.6
5
+
6
+ * CHANGED: Deprecated Whois::Answer::Part#response.
7
+
8
+ * FIXED: whois.denic.de parser is not compatible with Denic response v 2.0.
9
+
10
+
4
11
  == Release 1.3.5
5
12
 
6
13
  * SERVER: Updated the .so TLD definition (#36).
@@ -206,7 +206,7 @@ module Whois
206
206
  # That said, the only constraints about this method is to return the data to be parsed as string.
207
207
  #
208
208
  def content
209
- part.response
209
+ part.body
210
210
  end
211
211
 
212
212
 
@@ -30,34 +30,34 @@ module Whois
30
30
  include Ast
31
31
 
32
32
  property_supported :disclaimer do
33
- node("Disclaimer")
33
+ @disclaimer ||= node("Disclaimer")
34
34
  end
35
35
 
36
36
 
37
37
  property_supported :domain do
38
- node("Domain")
38
+ @domain ||= node("Domain")
39
39
  end
40
40
 
41
41
  property_not_supported :domain_id
42
42
 
43
43
 
44
44
  property_supported :status do
45
- node("Status")
45
+ @status ||= node("Status")
46
46
  end
47
47
 
48
48
  property_supported :available? do
49
- node("NotFound") && !node("Invalid")
49
+ @available ||= !invalid? && (!!node("NotFound") || node("Status") == "free")
50
50
  end
51
51
 
52
52
  property_supported :registered? do
53
- !(node("NotFound") || node("Invalid"))
53
+ @registered ||= !invalid? && !available?
54
54
  end
55
55
 
56
56
 
57
57
  property_not_supported :created_on
58
58
 
59
59
  property_supported :updated_on do
60
- node("Changed") { |raw| Time.parse(raw) }
60
+ @updated_on ||= node("Changed") { |raw| Time.parse(raw) }
61
61
  end
62
62
 
63
63
  property_not_supported :expires_on
@@ -95,21 +95,32 @@ module Whois
95
95
 
96
96
 
97
97
  # Nameservers are listed in the following formats:
98
- #
99
- # Nserver: ns1.prodns.de 213.160.64.75
100
- # Nserver: ns1.prodns.de
101
- #
98
+ #
99
+ # Nserver: ns1.prodns.de. 213.160.64.75
100
+ # Nserver: ns1.prodns.de.
101
+ #
102
102
  # In both cases, always return only the name.
103
103
  property_supported :nameservers do
104
104
  @nameservers ||= node("Nserver") do |values|
105
105
  values.map do |value|
106
- value.split(" ").first
106
+ value.split(" ").first.chomp(".")
107
107
  end
108
108
  end
109
109
  @nameservers ||= []
110
110
  end
111
111
 
112
112
 
113
+ def version
114
+ @version ||= if content_for_scanner =~ /^% Version: (.+)$/
115
+ $1
116
+ end
117
+ end
118
+
119
+ def invalid?
120
+ @invalid ||= (!!node("Invalid") || node("Status") == "invalid")
121
+ end
122
+
123
+
113
124
  protected
114
125
 
115
126
  def parse
@@ -125,119 +136,126 @@ module Whois
125
136
  end
126
137
 
127
138
 
128
- class Scanner
139
+ class Scanner
129
140
 
130
- def initialize(content)
131
- @input = StringScanner.new(content)
132
- end
141
+ def initialize(content)
142
+ @input = StringScanner.new(content)
143
+ end
133
144
 
134
- def parse
135
- @ast = {}
136
- while !@input.eos?
137
- # trim_empty_line ||
138
- parse_content
145
+ def parse
146
+ @ast = {}
147
+ while !@input.eos?
148
+ # trim_empty_line ||
149
+ parse_content
150
+ end
151
+ @ast
139
152
  end
140
- @ast
141
- end
142
153
 
143
- private
154
+ private
144
155
 
145
- def parse_content
146
- parse_disclaimer ||
147
- parse_invalid ||
148
- parse_not_found ||
149
- parse_pair(@ast) ||
150
- parse_contact ||
156
+ def parse_content
157
+ parse_disclaimer ||
158
+ parse_invalid || # 1.10.0, 1.11.0
159
+ parse_not_found || # 1.10.0, 1.11.0
160
+ parse_pair(@ast) ||
161
+ parse_contact ||
162
+ parse_db_time || # 2.0
151
163
 
152
- trim_empty_line ||
153
- error("Unexpected token")
154
- end
155
-
156
- def trim_empty_line
157
- @input.skip(/^\n/)
158
- end
164
+ trim_empty_line ||
165
+ error("Unexpected token")
166
+ end
159
167
 
160
- def error(message)
161
- if @input.eos?
162
- raise "Unexpected end of input."
163
- else
164
- raise "#{message}: `#{@input.peek(@input.string.length)}'"
168
+ def trim_empty_line
169
+ @input.skip(/^\n/)
170
+ end
171
+
172
+ def error(message)
173
+ if @input.eos?
174
+ raise "Unexpected end of input."
175
+ else
176
+ raise "#{message}: `#{@input.peek(@input.string.length)}'"
177
+ end
165
178
  end
166
- end
167
179
 
168
180
 
169
- def parse_disclaimer
170
- if @input.match?(/% Copyright \(c\) *\d{4} by DENIC\n/)
171
- @input.scan_until(/% Terms and Conditions of Use\n/)
172
- lines = []
173
- while @input.match?(/%/) && @input.scan(/%(.*)\n/)
174
- lines << @input[1].strip unless @input[1].strip == ""
181
+ def parse_disclaimer
182
+ if @input.match?(/% Copyright \(c\) *\d{4} by DENIC\n/)
183
+ @input.scan_until(/% Terms and Conditions of Use\n/)
184
+ lines = []
185
+ while @input.match?(/%/) && @input.scan(/%(.*)\n/)
186
+ lines << @input[1].strip unless @input[1].strip == ""
187
+ end
188
+ @ast["Disclaimer"] = lines.join(" ")
189
+ true
175
190
  end
176
- @ast["Disclaimer"] = lines.join(" ")
177
- true
191
+ false
178
192
  end
179
- false
180
- end
181
193
 
182
- def parse_pair(node)
183
- if @input.scan(/([^ \[]*):(.*)\n/)
184
- key, value = @input[1].strip, @input[2].strip
185
- if node[key].nil?
186
- node[key] = value
194
+ def parse_pair(node)
195
+ if @input.scan(/([^ \[]*):(.*)\n/)
196
+ key, value = @input[1].strip, @input[2].strip
197
+ if node[key].nil?
198
+ node[key] = value
199
+ else
200
+ node[key].is_a?(Array) || node[key] = [node[key]]
201
+ node[key] << value
202
+ end
203
+ true
187
204
  else
188
- node[key].is_a?(Array) || node[key] = [node[key]]
189
- node[key] << value
205
+ false
190
206
  end
191
- true
192
- else
193
- false
194
207
  end
195
- end
196
208
 
197
- def parse_contact
198
- if @input.scan(/\[(.*)\]\n/)
199
- contact_name = @input[1]
200
- contact = {}
201
- while parse_pair(contact)
209
+ def parse_contact
210
+ if @input.scan(/\[(.*)\]\n/)
211
+ contact_name = @input[1]
212
+ contact = {}
213
+ while parse_pair(contact)
214
+ end
215
+ @ast[contact_name] = {
216
+ "id" => nil,
217
+ "name" => contact['Name'],
218
+ "organization" => contact['Organisation'],
219
+ "address" => contact['Address'],
220
+ "city" => contact['City'],
221
+ # 1.10.0, 1.11.0 || 2.0
222
+ "zip" => contact['Pcode'] || contact['PostalCode'],
223
+ "state" => nil,
224
+ "country" => contact['Country'],
225
+ "country_code" => contact['CountryCode'],
226
+ "phone" => contact['Phone'],
227
+ "fax" => contact['Fax'],
228
+ "email" => contact['Email'],
229
+ "created_on" => nil,
230
+ "updated_on" => contact['Changed']
231
+ }
232
+ true
233
+ else
234
+ false
202
235
  end
203
- @ast[contact_name] = {
204
- "id" => nil,
205
- "name" => contact['Name'],
206
- "organization" => contact['Organisation'],
207
- "address" => contact['Address'],
208
- "city" => contact['City'],
209
- "zip" => contact['Pcode'],
210
- "state" => nil,
211
- "country" => nil,
212
- "country_code" => contact['Country'],
213
- "phone" => contact['Phone'],
214
- "fax" => contact['Fax'],
215
- "email" => contact['Email'],
216
- "created_on" => nil,
217
- "updated_on" => contact['Changed']
218
- }
219
- true
220
- else
221
- false
222
236
  end
223
- end
224
237
 
225
- def parse_not_found
226
- if @input.match?(/% Object "(.*)" not found in database\n/)
227
- while @input.scan(/%(.*)\n/) # strip junk
238
+ # Compatibility with Version: 1.11.0, 1.10.0
239
+ def parse_not_found
240
+ if @input.match?(/% Object "(.*)" not found in database\n/)
241
+ while @input.scan(/%(.*)\n/) # strip junk
242
+ end
243
+ @ast["NotFound"] = true
228
244
  end
229
- @ast["NotFound"] = true
230
245
  end
231
- end
232
246
 
233
- def parse_invalid
234
- if @input.match?(/% ".*" is not a valid domain name\n/)
235
- @input.scan(/%.*\n/)
236
- @ast["Invalid"] = true
237
- end
238
- end
247
+ def parse_invalid
248
+ if @input.match?(/% ".*" is not a valid domain name\n/)
249
+ @input.scan(/%.*\n/)
250
+ @ast["Invalid"] = true
251
+ end
252
+ end
239
253
 
240
- end
254
+ def parse_db_time
255
+ @input.scan(/^% DB time is (.+)\n$/)
256
+ end
257
+
258
+ end
241
259
 
242
260
  end
243
261
  end
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= !!(content_for_scanner =~ /domain name is not registered/)
46
+ @available ||= !!(content_for_scanner =~ /domain name is not registered/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -23,13 +23,33 @@ module Whois
23
23
  #
24
24
  # = Part
25
25
  #
26
- # A single <tt>Whois::Answer</tt> fragment. For instance,
27
- # in case of thin server, a <tt>Whois::Answer</tt> may be composed by
28
- # one or more parts corresponding to all responses
26
+ # A single <tt>Whois::Answer</tt> fragment. For instance,
27
+ # in case of thin server, a <tt>Whois::Answer</tt> may be composed by
28
+ # one or more parts corresponding to all responses
29
29
  # returned by the WHOIS servers.
30
30
  #
31
- class Part < SuperStruct.new(:response, :host)
31
+ # A <tt>Part</tt> is composed by the following attributes:
32
+ #
33
+ # * body - The body containing the whois output.
34
+ # * host - The host which returned the body.
35
+ #
36
+ class Part < SuperStruct.new(:body, :host)
37
+
38
+ def response=(value) # :nodoc:
39
+ Whois.deprecate \
40
+ "Whois::Answer::Part#response= is deprecated " \
41
+ "and will be removed in Whois 1.5. Use Whois::Answer::Part#body=."
42
+ self.body = value
43
+ end
44
+
45
+ def response # :nodoc:
46
+ Whois.deprecate \
47
+ "Whois::Answer::Part#response is deprecated " \
48
+ "and will be removed in Whois 1.5. Use Whois::Answer::Part#body."
49
+ self.body
50
+ end
51
+
32
52
  end
33
53
 
34
54
  end
35
- end
55
+ end
data/lib/whois/answer.rb CHANGED
@@ -82,7 +82,7 @@ module Whois
82
82
  # String:: The content of this answer.
83
83
  #
84
84
  def content
85
- @content ||= parts.map(&:response).join("\n")
85
+ @content ||= parts.map(&:body).join("\n")
86
86
  end
87
87
 
88
88
 
data/lib/whois/version.rb CHANGED
@@ -19,7 +19,7 @@ module Whois
19
19
  module Version
20
20
  MAJOR = 1
21
21
  MINOR = 3
22
- PATCH = 5
22
+ PATCH = 6
23
23
  BUILD = nil
24
24
 
25
25
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join(".")
data/whois.gemspec CHANGED
@@ -2,16 +2,18 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{whois}
5
- s.version = "1.3.4"
5
+ s.version = "1.3.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Simone Carletti"]
9
- s.date = %q{2010-09-07}
9
+ s.date = %q{2010-09-22}
10
+ s.default_executable = %q{ruby-whois}
10
11
  s.description = %q{ Whois is an intelligent WHOIS client and parser written in pure Ruby. It can query registry data for IPv4, IPv6 and top level domains, parse and convert responses into easy-to-use Ruby objects.
11
12
  }
12
13
  s.email = %q{weppos@weppos.net}
14
+ s.executables = ["ruby-whois"]
13
15
  s.extra_rdoc_files = ["CHANGELOG.rdoc", "LICENSE.rdoc", "README.rdoc"]
14
- s.files = ["CHANGELOG.rdoc", "LICENSE.rdoc", "README.rdoc", "whois.gemspec", "bin/ruby-whois", "lib/core_ext.rb", "lib/whois/answer/contact.rb", "lib/whois/answer/nameserver.rb", "lib/whois/answer/parser/ast.rb", "lib/whois/answer/parser/base.rb", "lib/whois/answer/parser/blank.rb", "lib/whois/answer/parser/example.rb", "lib/whois/answer/parser/jobswhois.verisign-grs.com.rb", "lib/whois/answer/parser/NOTES.txt", "lib/whois/answer/parser/saudinic.net.sa.rb", "lib/whois/answer/parser/scanners/iana.rb", "lib/whois/answer/parser/scanners/verisign.rb", "lib/whois/answer/parser/whois.adamsnames.tc.rb", "lib/whois/answer/parser/whois.aeda.net.ae.rb", "lib/whois/answer/parser/whois.aero.rb", "lib/whois/answer/parser/whois.afilias-grs.info.rb", "lib/whois/answer/parser/whois.afilias.info.rb", "lib/whois/answer/parser/whois.ai.rb", "lib/whois/answer/parser/whois.arnes.si.rb", "lib/whois/answer/parser/whois.audns.net.au.rb", "lib/whois/answer/parser/whois.ausregistry.net.au.rb", "lib/whois/answer/parser/whois.biz.rb", "lib/whois/answer/parser/whois.cat.rb", "lib/whois/answer/parser/whois.cctld.uz.rb", "lib/whois/answer/parser/whois.cira.ca.rb", "lib/whois/answer/parser/whois.cnnic.cn.rb", "lib/whois/answer/parser/whois.cnnic.net.cn.rb", "lib/whois/answer/parser/whois.crsnic.net.rb", "lib/whois/answer/parser/whois.denic.de.rb", "lib/whois/answer/parser/whois.dk-hostmaster.dk.rb", "lib/whois/answer/parser/whois.dns.be.rb", "lib/whois/answer/parser/whois.dns.lu.rb", "lib/whois/answer/parser/whois.dns.pt.rb", "lib/whois/answer/parser/whois.domain-registry.nl.rb", "lib/whois/answer/parser/whois.domainregistry.ie.rb", "lib/whois/answer/parser/whois.domreg.lt.rb", "lib/whois/answer/parser/whois.dot.tk.rb", "lib/whois/answer/parser/whois.dotmobiregistry.net.rb", "lib/whois/answer/parser/whois.educause.edu.rb", "lib/whois/answer/parser/whois.eenet.ee.rb", "lib/whois/answer/parser/whois.eu.org.rb", "lib/whois/answer/parser/whois.eu.rb", "lib/whois/answer/parser/whois.hkdnr.net.hk.rb", "lib/whois/answer/parser/whois.hkirc.hk.rb", "lib/whois/answer/parser/whois.iana.org.rb", "lib/whois/answer/parser/whois.in.ua.rb", "lib/whois/answer/parser/whois.isnic.is.rb", "lib/whois/answer/parser/whois.jprs.jp.rb", "lib/whois/answer/parser/whois.meregistry.net.rb", "lib/whois/answer/parser/whois.museum.rb", "lib/whois/answer/parser/whois.net.ua.rb", "lib/whois/answer/parser/whois.nic-se.se.rb", "lib/whois/answer/parser/whois.nic.ac.rb", "lib/whois/answer/parser/whois.nic.af.rb", "lib/whois/answer/parser/whois.nic.ag.rb", "lib/whois/answer/parser/whois.nic.am.rb", "lib/whois/answer/parser/whois.nic.as.rb", "lib/whois/answer/parser/whois.nic.asia.rb", "lib/whois/answer/parser/whois.nic.at.rb", "lib/whois/answer/parser/whois.nic.cc.rb", "lib/whois/answer/parser/whois.nic.cd.rb", "lib/whois/answer/parser/whois.nic.ch.rb", "lib/whois/answer/parser/whois.nic.co.rb", "lib/whois/answer/parser/whois.nic.coop.rb", "lib/whois/answer/parser/whois.nic.ec.rb", "lib/whois/answer/parser/whois.nic.fr.rb", "lib/whois/answer/parser/whois.nic.gl.rb", "lib/whois/answer/parser/whois.nic.gov.rb", "lib/whois/answer/parser/whois.nic.ht.rb", "lib/whois/answer/parser/whois.nic.hu.rb", "lib/whois/answer/parser/whois.nic.im.rb", "lib/whois/answer/parser/whois.nic.io.rb", "lib/whois/answer/parser/whois.nic.it.rb", "lib/whois/answer/parser/whois.nic.kz.rb", "lib/whois/answer/parser/whois.nic.la.rb", "lib/whois/answer/parser/whois.nic.lv.rb", "lib/whois/answer/parser/whois.nic.ly.rb", "lib/whois/answer/parser/whois.nic.mu.rb", "lib/whois/answer/parser/whois.nic.mx.rb", "lib/whois/answer/parser/whois.nic.name.rb", "lib/whois/answer/parser/whois.nic.net.sa.rb", "lib/whois/answer/parser/whois.nic.nu.rb", "lib/whois/answer/parser/whois.nic.or.kr.rb", "lib/whois/answer/parser/whois.nic.org.uy.rb", "lib/whois/answer/parser/whois.nic.sn.rb", "lib/whois/answer/parser/whois.nic.st.rb", "lib/whois/answer/parser/whois.nic.tel.rb", "lib/whois/answer/parser/whois.nic.tl.rb", "lib/whois/answer/parser/whois.nic.tr.rb", "lib/whois/answer/parser/whois.nic.travel.rb", "lib/whois/answer/parser/whois.nic.tv.rb", "lib/whois/answer/parser/whois.nic.uk.rb", "lib/whois/answer/parser/whois.nic.us.rb", "lib/whois/answer/parser/whois.nic.ve.rb", "lib/whois/answer/parser/whois.norid.no.rb", "lib/whois/answer/parser/whois.pandi.or.id.rb", "lib/whois/answer/parser/whois.publicinterestregistry.net.rb", "lib/whois/answer/parser/whois.register.bg.rb", "lib/whois/answer/parser/whois.registro.br.rb", "lib/whois/answer/parser/whois.registry.in.rb", "lib/whois/answer/parser/whois.registrypro.pro.rb", "lib/whois/answer/parser/whois.ripe.net.rb", "lib/whois/answer/parser/whois.ripn.net.rb", "lib/whois/answer/parser/whois.rotld.ro.rb", "lib/whois/answer/parser/whois.samoanic.ws.rb", "lib/whois/answer/parser/whois.srs.net.nz.rb", "lib/whois/answer/parser/whois.tonic.to.rb", "lib/whois/answer/parser/whois.za.net.rb", "lib/whois/answer/parser/whois.za.org.rb", "lib/whois/answer/parser.rb", "lib/whois/answer/part.rb", "lib/whois/answer/registrar.rb", "lib/whois/answer/super_struct.rb", "lib/whois/answer.rb", "lib/whois/client.rb", "lib/whois/definitions/ipv4.rb", "lib/whois/definitions/ipv6.rb", "lib/whois/definitions/NOTES.txt", "lib/whois/definitions/tlds.rb", "lib/whois/errors.rb", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arpa.rb", "lib/whois/server/adapters/base.rb", "lib/whois/server/adapters/formatted.rb", "lib/whois/server/adapters/none.rb", "lib/whois/server/adapters/not_implemented.rb", "lib/whois/server/adapters/pir.rb", "lib/whois/server/adapters/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server.rb", "lib/whois/version.rb", "lib/whois.rb"]
16
+ s.files = ["CHANGELOG.rdoc", "LICENSE.rdoc", "README.rdoc", "whois.gemspec", "bin/ruby-whois", "lib/core_ext.rb", "lib/whois/answer/contact.rb", "lib/whois/answer/nameserver.rb", "lib/whois/answer/parser/ast.rb", "lib/whois/answer/parser/base.rb", "lib/whois/answer/parser/blank.rb", "lib/whois/answer/parser/example.rb", "lib/whois/answer/parser/jobswhois.verisign-grs.com.rb", "lib/whois/answer/parser/NOTES.txt", "lib/whois/answer/parser/saudinic.net.sa.rb", "lib/whois/answer/parser/scanners/iana.rb", "lib/whois/answer/parser/scanners/verisign.rb", "lib/whois/answer/parser/whois.adamsnames.tc.rb", "lib/whois/answer/parser/whois.aeda.net.ae.rb", "lib/whois/answer/parser/whois.aero.rb", "lib/whois/answer/parser/whois.afilias-grs.info.rb", "lib/whois/answer/parser/whois.afilias.info.rb", "lib/whois/answer/parser/whois.ai.rb", "lib/whois/answer/parser/whois.arnes.si.rb", "lib/whois/answer/parser/whois.audns.net.au.rb", "lib/whois/answer/parser/whois.ausregistry.net.au.rb", "lib/whois/answer/parser/whois.biz.rb", "lib/whois/answer/parser/whois.cat.rb", "lib/whois/answer/parser/whois.cctld.uz.rb", "lib/whois/answer/parser/whois.cira.ca.rb", "lib/whois/answer/parser/whois.cnnic.cn.rb", "lib/whois/answer/parser/whois.cnnic.net.cn.rb", "lib/whois/answer/parser/whois.co.ug.rb", "lib/whois/answer/parser/whois.crsnic.net.rb", "lib/whois/answer/parser/whois.denic.de.rb", "lib/whois/answer/parser/whois.dk-hostmaster.dk.rb", "lib/whois/answer/parser/whois.dns.be.rb", "lib/whois/answer/parser/whois.dns.lu.rb", "lib/whois/answer/parser/whois.dns.pt.rb", "lib/whois/answer/parser/whois.domain-registry.nl.rb", "lib/whois/answer/parser/whois.domainregistry.ie.rb", "lib/whois/answer/parser/whois.domreg.lt.rb", "lib/whois/answer/parser/whois.dot.tk.rb", "lib/whois/answer/parser/whois.dotmobiregistry.net.rb", "lib/whois/answer/parser/whois.educause.edu.rb", "lib/whois/answer/parser/whois.eenet.ee.rb", "lib/whois/answer/parser/whois.eu.org.rb", "lib/whois/answer/parser/whois.eu.rb", "lib/whois/answer/parser/whois.hkdnr.net.hk.rb", "lib/whois/answer/parser/whois.hkirc.hk.rb", "lib/whois/answer/parser/whois.iana.org.rb", "lib/whois/answer/parser/whois.in.ua.rb", "lib/whois/answer/parser/whois.isnic.is.rb", "lib/whois/answer/parser/whois.jprs.jp.rb", "lib/whois/answer/parser/whois.meregistry.net.rb", "lib/whois/answer/parser/whois.museum.rb", "lib/whois/answer/parser/whois.net.ua.rb", "lib/whois/answer/parser/whois.nic-se.se.rb", "lib/whois/answer/parser/whois.nic.ac.rb", "lib/whois/answer/parser/whois.nic.af.rb", "lib/whois/answer/parser/whois.nic.ag.rb", "lib/whois/answer/parser/whois.nic.am.rb", "lib/whois/answer/parser/whois.nic.as.rb", "lib/whois/answer/parser/whois.nic.asia.rb", "lib/whois/answer/parser/whois.nic.at.rb", "lib/whois/answer/parser/whois.nic.cc.rb", "lib/whois/answer/parser/whois.nic.cd.rb", "lib/whois/answer/parser/whois.nic.ch.rb", "lib/whois/answer/parser/whois.nic.co.rb", "lib/whois/answer/parser/whois.nic.coop.rb", "lib/whois/answer/parser/whois.nic.ec.rb", "lib/whois/answer/parser/whois.nic.fr.rb", "lib/whois/answer/parser/whois.nic.gl.rb", "lib/whois/answer/parser/whois.nic.gov.rb", "lib/whois/answer/parser/whois.nic.ht.rb", "lib/whois/answer/parser/whois.nic.hu.rb", "lib/whois/answer/parser/whois.nic.im.rb", "lib/whois/answer/parser/whois.nic.io.rb", "lib/whois/answer/parser/whois.nic.it.rb", "lib/whois/answer/parser/whois.nic.kz.rb", "lib/whois/answer/parser/whois.nic.la.rb", "lib/whois/answer/parser/whois.nic.lv.rb", "lib/whois/answer/parser/whois.nic.ly.rb", "lib/whois/answer/parser/whois.nic.mu.rb", "lib/whois/answer/parser/whois.nic.mx.rb", "lib/whois/answer/parser/whois.nic.name.rb", "lib/whois/answer/parser/whois.nic.net.sa.rb", "lib/whois/answer/parser/whois.nic.nu.rb", "lib/whois/answer/parser/whois.nic.or.kr.rb", "lib/whois/answer/parser/whois.nic.org.uy.rb", "lib/whois/answer/parser/whois.nic.sn.rb", "lib/whois/answer/parser/whois.nic.st.rb", "lib/whois/answer/parser/whois.nic.tel.rb", "lib/whois/answer/parser/whois.nic.tl.rb", "lib/whois/answer/parser/whois.nic.tr.rb", "lib/whois/answer/parser/whois.nic.travel.rb", "lib/whois/answer/parser/whois.nic.tv.rb", "lib/whois/answer/parser/whois.nic.uk.rb", "lib/whois/answer/parser/whois.nic.us.rb", "lib/whois/answer/parser/whois.nic.ve.rb", "lib/whois/answer/parser/whois.norid.no.rb", "lib/whois/answer/parser/whois.pandi.or.id.rb", "lib/whois/answer/parser/whois.publicinterestregistry.net.rb", "lib/whois/answer/parser/whois.register.bg.rb", "lib/whois/answer/parser/whois.registro.br.rb", "lib/whois/answer/parser/whois.registry.in.rb", "lib/whois/answer/parser/whois.registrypro.pro.rb", "lib/whois/answer/parser/whois.ripe.net.rb", "lib/whois/answer/parser/whois.ripn.net.rb", "lib/whois/answer/parser/whois.rotld.ro.rb", "lib/whois/answer/parser/whois.samoanic.ws.rb", "lib/whois/answer/parser/whois.srs.net.nz.rb", "lib/whois/answer/parser/whois.tonic.to.rb", "lib/whois/answer/parser/whois.za.net.rb", "lib/whois/answer/parser/whois.za.org.rb", "lib/whois/answer/parser.rb", "lib/whois/answer/part.rb", "lib/whois/answer/registrar.rb", "lib/whois/answer/super_struct.rb", "lib/whois/answer.rb", "lib/whois/client.rb", "lib/whois/definitions/ipv4.rb", "lib/whois/definitions/ipv6.rb", "lib/whois/definitions/NOTES.txt", "lib/whois/definitions/tlds.rb", "lib/whois/errors.rb", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arpa.rb", "lib/whois/server/adapters/base.rb", "lib/whois/server/adapters/formatted.rb", "lib/whois/server/adapters/none.rb", "lib/whois/server/adapters/not_implemented.rb", "lib/whois/server/adapters/pir.rb", "lib/whois/server/adapters/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server.rb", "lib/whois/version.rb", "lib/whois.rb"]
15
17
  s.homepage = %q{http://www.ruby-whois.org}
16
18
  s.rdoc_options = ["--main", "README.rdoc"]
17
19
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whois
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 5
10
- version: 1.3.5
9
+ - 6
10
+ version: 1.3.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Simone Carletti
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-10 00:00:00 +02:00
18
+ date: 2010-09-22 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency