whois 1.3.5 → 1.3.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.
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