whois 3.5.0 → 3.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 64c28ee28056f0cdb1cae50d160a896e18748855
4
- data.tar.gz: 1b6d911348d90c1f1f3e2092c5b523f1088bf977
3
+ metadata.gz: c415d7d641e725bada5a99bfd790f466542e27f2
4
+ data.tar.gz: cf9b2dae30082827d33f18f0407ce8faef675e59
5
5
  SHA512:
6
- metadata.gz: 82446a8fe7c4fcd76fe0b16aead14f0ed9e92b82ad29235bf423f5b1a664c1e100b9be00a2b8e089a8ed93cfef48361499ac1a8425c5dc6f3eff4a4151910bb5
7
- data.tar.gz: 166cea0d0841168161e226655a95993013678d8da6adbe6ae700b14ebbe4d3b119f279a193bec3fee3cd4f4b0a054145d215119b6505856e530caeaa525d2027
6
+ metadata.gz: cbb715d0cd4d30adfc06198dcb5716b0bcbbe9bed08d81f90aaa4e494fe0bc34e38a46ea63f6f337e9101d7c8a766e488bebb3591ba79617d865a30d5dfdb72c
7
+ data.tar.gz: 615576dc52bf3577b837cacd089efa7cb9ea7bde86ef699ed327aa92b9b232d6acee61ae0491711f2244dece12985b2c00355f78b278ea60253ff560c35b2086
@@ -1,7 +1,22 @@
1
1
  # Changelog
2
2
 
3
3
 
4
- ## Release 3.5.0
4
+ #### Release 3.5.1
5
+
6
+ - NEW: Added whois.corporatedomains.com parser (GH-311). [Thanks @huyphan]
7
+
8
+ - CHANGED: Added ActiveSupport as dependency (GH-317) [Thanks @byroot].
9
+
10
+ - FIXED: NameError: wrong constant name when querying IPs (GH-310).
11
+
12
+ - FIXED: Updated expiration date parsing for Verisign responses.
13
+
14
+ - FIXED: whois.iis.se parser crashes when the response contains a single nameserver.
15
+
16
+ - FIXED: whois.ua parser crashes when the status is clientTransferProhibited.
17
+
18
+
19
+ #### Release 3.5.0
5
20
 
6
21
  - SERVER: Updated list of latest ASN allocations of 16-bit & 32-bit ASN's from IANA (GH-293). [Thanks @itsbalamurali]
7
22
 
@@ -18,7 +33,7 @@
18
33
  - FIXED: whois.registry.net.za parser crashes with some registrant contact formats.
19
34
 
20
35
 
21
- ## Release 3.4.5
36
+ #### Release 3.4.5
22
37
 
23
38
  - SERVER: Added new IDN TLDs: .XN--3BST00M, .XN--3DS443G, .XN--55QX5D, .XN--6FRZ82G, .XN--6QQ986B3XL, .XN--FIQ228C5HS, .XN--FIQ64B, .XN--IO0A7I, .XN--CG4BKI, .XN--MGBAB2BD, .XN--55QW42G, .XN--ZFR164B
24
39
 
@@ -43,7 +58,7 @@
43
58
  - CHANGED: Afilias is using a slightly different whois response for some TLDs, including .INFO and .XXX (GH-304)
44
59
 
45
60
 
46
- ## Release 3.4.4
61
+ #### Release 3.4.4
47
62
 
48
63
  - CHANGED: Updated IBC parser and fixtures (.IO, .AC, .SH and .TM).
49
64
 
@@ -52,7 +67,7 @@
52
67
  - CHANGED: Updated whois.pir.org parser to the new response format (GH-300). [Thanks @muffinista]
53
68
 
54
69
 
55
- ## Release 3.4.3
70
+ #### Release 3.4.3
56
71
 
57
72
  - SERVER: Updated .COM, .NET, .CC, .WS TLD definitions.
58
73
 
@@ -75,14 +90,14 @@
75
90
  - CHANGED: Updated whois.nic.gl parser to the new response format.
76
91
 
77
92
 
78
- ## Release 3.4.2
93
+ #### Release 3.4.2
79
94
 
80
95
  - CHANGED: Updated whois.registry.net.za parser to the new response format.
81
96
 
82
97
  - CHANGED: Updated whois.ascio.com parser to the new response format (GH-285). [Thanks @takama]
83
98
 
84
99
 
85
- ## Release 3.4.1
100
+ #### Release 3.4.1
86
101
 
87
102
  - SERVER: Updated .XN--NGBC5AZD IDN TLD definition.
88
103
 
@@ -105,7 +120,7 @@
105
120
  - CHANGED: Updated whois.gandi.net parser to the new response format.
106
121
 
107
122
 
108
- ## Release 3.4.0
123
+ #### Release 3.4.0
109
124
 
110
125
  - SERVER: Added .XN--MGBX4CD0AB (.ایران, Iran) IDN TLD definition.
111
126
 
@@ -142,7 +157,7 @@
142
157
  - CHANGED: Updated whois.register.com parser to the new response format (GH-273). [Thanks @gromnsk]
143
158
 
144
159
 
145
- ## Release 3.3.1
160
+ #### Release 3.3.1
146
161
 
147
162
  - SERVER: Updated .KR, .ES (GH-267) TLD definitions.
148
163
 
@@ -153,7 +168,7 @@
153
168
  - CHANGED: Updated whois.enom.com parser to the new response format (GH-269). [Thanks @takama]
154
169
 
155
170
 
156
- ## Release 3.3.0
171
+ #### Release 3.3.0
157
172
 
158
173
  - SERVER: Added .CF TLD definition.
159
174
 
@@ -176,7 +191,7 @@
176
191
  - FIXED: whois.jprs.jp should support `Registered` status (GH-253). [Thanks @Pietr]
177
192
 
178
193
 
179
- ## Release 3.2.1
194
+ #### Release 3.2.1
180
195
 
181
196
  - NEW: Added full whois.nic.tr parser.
182
197
 
@@ -197,7 +212,7 @@
197
212
  - CHANGED: Deprecate Whois::Record::Contact::TYPE_ADMIN in favor of Whois::Record::Contact::TYPE_ADMINISTRATIVE
198
213
 
199
214
 
200
- ## Release 3.2.0
215
+ #### Release 3.2.0
201
216
 
202
217
  - SERVER: Added .JP.NET (GH-240), XN--J1AMH TLD definitions.
203
218
 
@@ -220,7 +235,7 @@
220
235
  - FIXED: Arin adapter is incorrectly passing an Arin flag to referral queries.
221
236
 
222
237
 
223
- ## Release 3.1.3
238
+ #### Release 3.1.3
224
239
 
225
240
  - SERVER: Updated .GD (GH-227), .TC (GH-228) TLD definitions.
226
241
 
@@ -237,7 +252,7 @@
237
252
  - FIXED: whois.ua is mixing two kinds of responses (GH-235).
238
253
 
239
254
 
240
- ## Release 3.1.2
255
+ #### Release 3.1.2
241
256
 
242
257
  - NEW: Added full whois.comlaude.com parser (GH-222). [Thanks @delwyn]
243
258
 
@@ -256,12 +271,12 @@
256
271
  - FIXED: whois.nic.fr parser crashes when the contact has no changed attribute (GH-226).
257
272
 
258
273
 
259
- ## Release 3.1.1
274
+ #### Release 3.1.1
260
275
 
261
276
  - FIXED: Fixed CLI crash (GH-219). [Thanks @linrock]
262
277
 
263
278
 
264
- ## Release 3.1.0
279
+ #### Release 3.1.0
265
280
 
266
281
  - SERVER: Added .POST (GH-192) TLD definition.
267
282
 
@@ -292,7 +307,7 @@
292
307
  - FIXED: Record#technical_contact raised a NoMethodError (GH-217). [Thanks @yspro]
293
308
 
294
309
 
295
- ## Release 3.0.0
310
+ #### Release 3.0.0
296
311
 
297
312
  - SERVER: Added .AX TLD definition.
298
313
 
@@ -434,7 +449,7 @@
434
449
  - Whois::PropertyNotAvailable -> Whois::AttributeNotImplemented
435
450
 
436
451
 
437
- ## Release 2.7.0
452
+ #### Release 2.7.0
438
453
 
439
454
  - SERVER: Added .IQ TLD server (GH-171).
440
455
 
@@ -473,7 +488,7 @@
473
488
  - CHANGED: whois.dns.pl now supports expires_on (GH-185). [Thanks @y3ti]
474
489
 
475
490
 
476
- ## Release 2.6.4
491
+ #### Release 2.6.4
477
492
 
478
493
  - SERVER: Added .CW TLD server.
479
494
 
@@ -508,7 +523,7 @@
508
523
  - CHANGED: Removed support for .gemtest and removed /spec folder from the packaged gem.
509
524
 
510
525
 
511
- ## Release 2.6.3
526
+ #### Release 2.6.3
512
527
 
513
528
  - NEW: whois.registrypro.pro is now a full parser.
514
529
 
@@ -521,7 +536,7 @@
521
536
  - CHANGED: Updated whois.registrypro.pro parser to the new response format.
522
537
 
523
538
 
524
- ## Release 2.6.2
539
+ #### Release 2.6.2
525
540
 
526
541
  - SERVER: Added .SX TLD server (GH-170).
527
542
 
@@ -532,7 +547,7 @@
532
547
  - NEW: whois.ua parser is now a full parser (GH-169). [Thanks @Uko]
533
548
 
534
549
 
535
- ## Release 2.6.1
550
+ #### Release 2.6.1
536
551
 
537
552
  - Reverted partial commit about .SX definitions included in v2.6.0 by mistake.
538
553
 
data/README.md CHANGED
@@ -16,12 +16,12 @@ This library was extracted from [RoboWhois](https://www.robowhois.com/) and [Rob
16
16
 
17
17
  ## Features
18
18
 
19
- - Ability to query registry data for [IPv4, IPv6, TLDs, and domain names](http://www.ruby-whois.org/manual/usage/#usage-objects)
20
- - Ability to [parse WHOIS responses](http://www.ruby-whois.org/manual/parser/)
21
- - Flexible and extensible interface (e.g. You can define [custom servers](http://www.ruby-whois.org/manual/server/) on the fly)
19
+ - Ability to lookup WHOIS record for [IPv4, IPv6, TLDs, and ICANN new gTLDs](http://ruby-whois.org/manual/usage/#usage-objects)
20
+ - Ability to [parse WHOIS responses](http://ruby-whois.org/manual/parser/)
21
+ - Flexible and extensible interface (e.g. You can define [custom servers](http://ruby-whois.org/manual/server/) on the fly)
22
22
  - Object oriented design, featuring 10 different design patterns
23
23
  - Pure Ruby library, without any external dependency other than Ruby itself
24
- - Successfully tested against several [Ruby implementations](http://www.ruby-whois.org/manual/interpreters/)
24
+ - Successfully tested against several [Ruby implementations](http://ruby-whois.org/manual/interpreters/)
25
25
 
26
26
 
27
27
  ## Requirements
@@ -33,14 +33,14 @@ For older versions of Ruby, see the [CHANGELOG](CHANGELOG.md).
33
33
 
34
34
  ## Installation
35
35
 
36
- The best way to install <tt>Whois</tt> is via [RubyGems](https://rubygems.org/) - [Learn more](http://www.ruby-whois.org/manual/installing/).
36
+ The best way to install <tt>Whois</tt> is via [RubyGems](https://rubygems.org/). [Learn more](http://ruby-whois.org/manual/installing/).
37
37
 
38
38
  $ gem install whois
39
39
 
40
40
 
41
41
  ## Getting Started
42
42
 
43
- Note. This section covers only the essentials for getting started with the Whois library. The [documentation](http://www.ruby-whois.org/documentation/) provides a more accurate explanation including tutorials, more examples and technical details about the client/server/record/parser architecture.
43
+ Note. This section covers only the essentials for getting started with the Whois library. The [documentation](http://ruby-whois.org/documentation/) provides a more accurate explanation including tutorials, more examples and technical details about the client/server/record/parser architecture.
44
44
 
45
45
  ### Querying a WHOIS
46
46
 
@@ -166,7 +166,7 @@ Report issues or feature requests to [GitHub Issues](https://github.com/weppos/w
166
166
 
167
167
  ## More Information
168
168
 
169
- - [Homepage](http://www.ruby-whois.org/)
169
+ - [Homepage](http://ruby-whois.org/)
170
170
  - [RubyGems](https://rubygems.org/gems/whois)
171
171
  - [Issues](https://github.com/weppos/whois)
172
172
  - [Stack Overflow](http://stackoverflow.com/questions/tagged/whois-ruby)
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "0.0.0.0/8": {
3
- "host": null,
4
3
  "adapter": "none"
5
4
  },
6
5
  "1.0.0.0/8": {
@@ -628,7 +627,7 @@
628
627
  "host": "whois.nic.or.kr"
629
628
  },
630
629
  "211.192.0.0/10": {
631
- "host": "whois..net"
630
+ "host": "whois.nic.or.kr"
632
631
  },
633
632
  "210.0.0.0/7": {
634
633
  "host": "whois.apnic.net"
@@ -7,7 +7,13 @@
7
7
  #++
8
8
 
9
9
 
10
- require 'whois/core_ext'
10
+ require 'active_support/core_ext/array/extract_options'
11
+ require 'active_support/core_ext/array/wrap'
12
+ require 'active_support/core_ext/class/attribute'
13
+ require 'active_support/core_ext/kernel/singleton_class'
14
+ require 'active_support/core_ext/object/blank'
15
+ require 'active_support/core_ext/time/calculations'
16
+
11
17
  require 'whois/version'
12
18
  require 'whois/errors'
13
19
  require 'whois/client'
@@ -17,11 +23,6 @@ require 'whois/record'
17
23
 
18
24
  module Whois
19
25
 
20
- NAME = "Whois"
21
- GEM = "whois"
22
- AUTHORS = ["Simone Carletti <weppos@weppos.net>"]
23
-
24
-
25
26
  class << self
26
27
 
27
28
  # Queries the WHOIS server for <tt>object</tt> and returns
@@ -113,7 +113,8 @@ module Whois
113
113
  def self.host_to_parser(host)
114
114
  host.to_s.downcase.
115
115
  gsub(/[.-]/, '_').
116
- gsub(/(?:^|_)(.)/) { $1.upcase }
116
+ gsub(/(?:^|_)(.)/) { $1.upcase }.
117
+ gsub(/\A(\d+)\z/) { "Host#{$1}" }
117
118
  end
118
119
 
119
120
  # Requires the file at <tt>whois/record/parser/#{name}</tt>.
@@ -87,7 +87,7 @@ module Whois
87
87
  #
88
88
  property_supported :nameservers do
89
89
  node("nserver") do |values|
90
- values.map do |line|
90
+ Array.wrap(values).map do |line|
91
91
  name, ipv4 = line.split(/\s+/)
92
92
  Record::Nameserver.new(name: name, ipv4: ipv4)
93
93
  end
@@ -62,7 +62,7 @@ module Whois
62
62
  end
63
63
 
64
64
  property_supported :expires_on do
65
- node("Expiration Date") { |value| Time.parse(value) }
65
+ node("Registry Expiry Date") { |value| Time.parse(value) }
66
66
  end
67
67
 
68
68
 
@@ -0,0 +1,30 @@
1
+ #--
2
+ # Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ # Copyright (c) 2009-2014 Simone Carletti <weppos@weppos.net>
7
+ #++
8
+
9
+
10
+ require 'whois/record/parser/base_icann_compliant'
11
+
12
+
13
+ module Whois
14
+ class Record
15
+ class Parser
16
+
17
+ # Parser for the whois.markmonitor.com server.
18
+ #
19
+ # @see Whois::Record::Parser::Example
20
+ # The Example parser for the list of all available methods.
21
+ #
22
+ class WhoisCorporatedomainsCom < BaseIcannCompliant
23
+ self.scanner = Scanners::BaseIcannCompliant, {
24
+ pattern_available: /^No match for/
25
+ }
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -33,29 +33,29 @@ module Whois
33
33
  end
34
34
 
35
35
 
36
- # property_supported :created_on do
37
- # if content_for_scanner =~ /Created on: (.+)\n/
38
- # Time.parse($1)
39
- # end
40
- # end
41
- #
42
- # property_supported :updated_on do
43
- # if content_for_scanner =~ /Last Updated on: (.+)\n/
44
- # Time.parse($1)
45
- # end
46
- # end
47
- #
48
- # property_supported :expires_on do
49
- # if content_for_scanner =~ /Expires on: (.+)\n/
50
- # Time.parse($1)
51
- # end
52
- # end
36
+ property_supported :created_on do
37
+ if content_for_scanner =~ /Creation Date: (.+)\n/
38
+ Time.parse($1)
39
+ end
40
+ end
41
+
42
+ property_supported :updated_on do
43
+ if content_for_scanner =~ /Updated* Date: (.+)\n/
44
+ Time.parse($1)
45
+ end
46
+ end
47
+
48
+ property_supported :expires_on do
49
+ if content_for_scanner =~ /Expiration Date: (.+)\n/
50
+ Time.parse($1)
51
+ end
52
+ end
53
53
 
54
54
 
55
55
  property_supported :registrar do
56
56
  Record::Registrar.new(
57
57
  name: content_for_scanner[/Registrar: (.+)\n/, 1],
58
- url: "http://www.godaddy.com/"
58
+ url: content_for_scanner[/Registrar URL: (.+)\n/, 1],
59
59
  )
60
60
  end
61
61
 
@@ -7,8 +7,7 @@
7
7
  #++
8
8
 
9
9
 
10
- require 'whois/record/parser/base'
11
- require 'whois/record/scanners/base_shared3'
10
+ require 'whois/record/parser/base_icann_compliant'
12
11
 
13
12
 
14
13
  module Whois
@@ -17,7 +17,7 @@ module Whois
17
17
  # Parser for the whois.ua server.
18
18
  class WhoisUa < Base
19
19
 
20
- class Epp
20
+ class Uaepp
21
21
  attr_reader :parent, :content
22
22
 
23
23
  def initialize(parent, content)
@@ -28,7 +28,7 @@ module Whois
28
28
  def status
29
29
  if content =~ /status:\s+(.+?)\n/
30
30
  case (s = $1.downcase)
31
- when "ok", "clienthold", "autorenewgraceperiod"
31
+ when "ok", "clienthold", "autorenewgraceperiod", "clienttransferprohibited"
32
32
  :registered
33
33
  when "redemptionperiod", "pendingdelete"
34
34
  :redemption
@@ -230,7 +230,7 @@ module Whois
230
230
  if source == "UANIC"
231
231
  Uanic.new(self, content_for_scanner)
232
232
  else
233
- Epp.new(self, content_for_scanner)
233
+ Uaepp.new(self, content_for_scanner)
234
234
  end
235
235
  end
236
236
  end
@@ -21,6 +21,11 @@ module Whois
21
21
  #
22
22
  class WhoisVerisignGrsCom < BaseVerisign
23
23
 
24
+ property_supported :expires_on do
25
+ node("Expiration Date") { |value| Time.parse(value) }
26
+ end
27
+
28
+
24
29
  property_supported :registrar do
25
30
  node("Registrar") do |value|
26
31
  Whois::Record::Registrar.new(
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
  require 'whois/record/scanners/base'
11
-
11
+ require 'yaml'
12
12
 
13
13
  module Whois
14
14
  class Record
@@ -13,7 +13,7 @@ module Whois
13
13
  module Version
14
14
  MAJOR = 3
15
15
  MINOR = 5
16
- PATCH = 0
16
+ PATCH = 1
17
17
  BUILD = nil
18
18
 
19
19
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join(".")
@@ -1,40 +1,44 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ # stub: whois 3.5.0 ruby lib
2
3
 
3
4
  Gem::Specification.new do |s|
4
5
  s.name = "whois"
5
- s.version = "3.4.5"
6
+ s.version = "3.5.0"
6
7
 
7
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib"]
8
10
  s.authors = ["Simone Carletti"]
9
- s.date = "2014-03-10"
11
+ s.date = "2014-03-31"
10
12
  s.description = "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
13
  s.email = ["weppos@weppos.net"]
12
14
  s.executables = ["ruby-whois"]
13
- s.files = ["LICENSE.txt", ".yardopts", "CHANGELOG.md", "README.md", "whois.gemspec", "bin/ruby-whois", "data/asn16.json", "data/asn32.json", "data/ipv4.json", "data/ipv6.json", "data/tld.json", "lib/whois", "lib/whois/client.rb", "lib/whois/core_ext", "lib/whois/core_ext/array", "lib/whois/core_ext/array/extract_options.rb", "lib/whois/core_ext/array/wrap.rb", "lib/whois/core_ext/class", "lib/whois/core_ext/class/attribute.rb", "lib/whois/core_ext/kernel", "lib/whois/core_ext/kernel/singleton_class.rb", "lib/whois/core_ext/module", "lib/whois/core_ext/module/remove_method.rb", "lib/whois/core_ext/object", "lib/whois/core_ext/object/blank.rb", "lib/whois/core_ext.rb", "lib/whois/errors.rb", "lib/whois/record", "lib/whois/record/contact.rb", "lib/whois/record/nameserver.rb", "lib/whois/record/parser", "lib/whois/record/parser/base.rb", "lib/whois/record/parser/base_afilias.rb", "lib/whois/record/parser/base_afilias2.rb", "lib/whois/record/parser/base_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_icann_compliant.rb", "lib/whois/record/parser/base_icb.rb", "lib/whois/record/parser/base_iisse.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_shared3.rb", "lib/whois/record/parser/base_verisign.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/ccwhois.verisign-grs.com.rb", "lib/whois/record/parser/example.rb", "lib/whois/record/parser/jobswhois.verisign-grs.com.rb", "lib/whois/record/parser/kero.yachay.pe.rb", "lib/whois/record/parser/whois.1und1.info.rb", "lib/whois/record/parser/whois.adamsnames.tc.rb", "lib/whois/record/parser/whois.aeda.net.ae.rb", "lib/whois/record/parser/whois.aero.rb", "lib/whois/record/parser/whois.afilias-grs.info.rb", "lib/whois/record/parser/whois.afilias.info.rb", "lib/whois/record/parser/whois.ai.rb", "lib/whois/record/parser/whois.arnes.si.rb", "lib/whois/record/parser/whois.ascio.com.rb", "lib/whois/record/parser/whois.ati.tn.rb", "lib/whois/record/parser/whois.audns.net.au.rb", "lib/whois/record/parser/whois.ax.rb", "lib/whois/record/parser/whois.biz.rb", "lib/whois/record/parser/whois.bn.rb", "lib/whois/record/parser/whois.cat.rb", "lib/whois/record/parser/whois.cctld.by.rb", "lib/whois/record/parser/whois.cctld.uz.rb", "lib/whois/record/parser/whois.centralnic.com.rb", "lib/whois/record/parser/whois.cira.ca.rb", "lib/whois/record/parser/whois.cmc.iq.rb", "lib/whois/record/parser/whois.cnnic.cn.rb", "lib/whois/record/parser/whois.co.ca.rb", "lib/whois/record/parser/whois.co.pl.rb", "lib/whois/record/parser/whois.co.ug.rb", "lib/whois/record/parser/whois.comlaude.com.rb", "lib/whois/record/parser/whois.denic.de.rb", "lib/whois/record/parser/whois.dk-hostmaster.dk.rb", "lib/whois/record/parser/whois.dns.be.rb", "lib/whois/record/parser/whois.dns.hr.rb", "lib/whois/record/parser/whois.dns.lu.rb", "lib/whois/record/parser/whois.dns.pl.rb", "lib/whois/record/parser/whois.dns.pt.rb", "lib/whois/record/parser/whois.domain-registry.nl.rb", "lib/whois/record/parser/whois.domain.kg.rb", "lib/whois/record/parser/whois.domainregistry.ie.rb", "lib/whois/record/parser/whois.domainregistry.my.rb", "lib/whois/record/parser/whois.domreg.lt.rb", "lib/whois/record/parser/whois.dot.cf.rb", "lib/whois/record/parser/whois.dot.tk.rb", "lib/whois/record/parser/whois.dotmobiregistry.net.rb", "lib/whois/record/parser/whois.dotpostregistry.net.rb", "lib/whois/record/parser/whois.dreamhost.com.rb", "lib/whois/record/parser/whois.educause.edu.rb", "lib/whois/record/parser/whois.eenet.ee.rb", "lib/whois/record/parser/whois.enom.com.rb", "lib/whois/record/parser/whois.eu.org.rb", "lib/whois/record/parser/whois.eu.rb", "lib/whois/record/parser/whois.fi.rb", "lib/whois/record/parser/whois.gandi.net.rb", "lib/whois/record/parser/whois.gg.rb", "lib/whois/record/parser/whois.godaddy.com.rb", "lib/whois/record/parser/whois.gov.za.rb", "lib/whois/record/parser/whois.hkirc.hk.rb", "lib/whois/record/parser/whois.iam.net.ma.rb", "lib/whois/record/parser/whois.iana.org.rb", "lib/whois/record/parser/whois.iis.nu.rb", "lib/whois/record/parser/whois.iis.se.rb", "lib/whois/record/parser/whois.in.ua.rb", "lib/whois/record/parser/whois.isnic.is.rb", "lib/whois/record/parser/whois.isoc.org.il.rb", "lib/whois/record/parser/whois.ja.net.rb", "lib/whois/record/parser/whois.je.rb", "lib/whois/record/parser/whois.jprs.jp.rb", "lib/whois/record/parser/whois.kenic.or.ke.rb", "lib/whois/record/parser/whois.kr.rb", "lib/whois/record/parser/whois.markmonitor.com.rb", "lib/whois/record/parser/whois.meridiantld.net.rb", "lib/whois/record/parser/whois.monic.mo.rb", "lib/whois/record/parser/whois.museum.rb", "lib/whois/record/parser/whois.na-nic.com.na.rb", "lib/whois/record/parser/whois.nc.rb", "lib/whois/record/parser/whois.netcom.cm.rb", "lib/whois/record/parser/whois.networksolutions.com.rb", "lib/whois/record/parser/whois.nic.ac.rb", "lib/whois/record/parser/whois.nic.af.rb", "lib/whois/record/parser/whois.nic.ag.rb", "lib/whois/record/parser/whois.nic.am.rb", "lib/whois/record/parser/whois.nic.as.rb", "lib/whois/record/parser/whois.nic.asia.rb", "lib/whois/record/parser/whois.nic.at.rb", "lib/whois/record/parser/whois.nic.bj.rb", "lib/whois/record/parser/whois.nic.bo.rb", "lib/whois/record/parser/whois.nic.cd.rb", "lib/whois/record/parser/whois.nic.ch.rb", "lib/whois/record/parser/whois.nic.ci.rb", "lib/whois/record/parser/whois.nic.ck.rb", "lib/whois/record/parser/whois.nic.cl.rb", "lib/whois/record/parser/whois.nic.co.rb", "lib/whois/record/parser/whois.nic.coop.rb", "lib/whois/record/parser/whois.nic.cx.rb", "lib/whois/record/parser/whois.nic.cz.rb", "lib/whois/record/parser/whois.nic.dm.rb", "lib/whois/record/parser/whois.nic.dz.rb", "lib/whois/record/parser/whois.nic.ec.rb", "lib/whois/record/parser/whois.nic.es.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gd.rb", "lib/whois/record/parser/whois.nic.gl.rb", "lib/whois/record/parser/whois.nic.gov.rb", "lib/whois/record/parser/whois.nic.gs.rb", "lib/whois/record/parser/whois.nic.hn.rb", "lib/whois/record/parser/whois.nic.ht.rb", "lib/whois/record/parser/whois.nic.hu.rb", "lib/whois/record/parser/whois.nic.im.rb", "lib/whois/record/parser/whois.nic.io.rb", "lib/whois/record/parser/whois.nic.ir.rb", "lib/whois/record/parser/whois.nic.it.rb", "lib/whois/record/parser/whois.nic.ki.rb", "lib/whois/record/parser/whois.nic.kz.rb", "lib/whois/record/parser/whois.nic.la.rb", "lib/whois/record/parser/whois.nic.li.rb", "lib/whois/record/parser/whois.nic.lk.rb", "lib/whois/record/parser/whois.nic.lv.rb", "lib/whois/record/parser/whois.nic.ly.rb", "lib/whois/record/parser/whois.nic.md.rb", "lib/whois/record/parser/whois.nic.me.rb", "lib/whois/record/parser/whois.nic.mg.rb", "lib/whois/record/parser/whois.nic.ms.rb", "lib/whois/record/parser/whois.nic.mu.rb", "lib/whois/record/parser/whois.nic.mx.rb", "lib/whois/record/parser/whois.nic.name.rb", "lib/whois/record/parser/whois.nic.net.ng.rb", "lib/whois/record/parser/whois.nic.net.sa.rb", "lib/whois/record/parser/whois.nic.net.sb.rb", "lib/whois/record/parser/whois.nic.nf.rb", "lib/whois/record/parser/whois.nic.org.uy.rb", "lib/whois/record/parser/whois.nic.pr.rb", "lib/whois/record/parser/whois.nic.priv.at.rb", "lib/whois/record/parser/whois.nic.pw.rb", "lib/whois/record/parser/whois.nic.sh.rb", "lib/whois/record/parser/whois.nic.sl.rb", "lib/whois/record/parser/whois.nic.sm.rb", "lib/whois/record/parser/whois.nic.sn.rb", "lib/whois/record/parser/whois.nic.so.rb", "lib/whois/record/parser/whois.nic.st.rb", "lib/whois/record/parser/whois.nic.tel.rb", "lib/whois/record/parser/whois.nic.tl.rb", "lib/whois/record/parser/whois.nic.tm.rb", "lib/whois/record/parser/whois.nic.tr.rb", "lib/whois/record/parser/whois.nic.travel.rb", "lib/whois/record/parser/whois.nic.tv.rb", "lib/whois/record/parser/whois.nic.uk.rb", "lib/whois/record/parser/whois.nic.us.rb", "lib/whois/record/parser/whois.nic.ve.rb", "lib/whois/record/parser/whois.nic.xxx.rb", "lib/whois/record/parser/whois.norid.no.rb", "lib/whois/record/parser/whois.org.za.rb", "lib/whois/record/parser/whois.pairnic.com.rb", "lib/whois/record/parser/whois.pandi.or.id.rb", "lib/whois/record/parser/whois.pir.org.rb", "lib/whois/record/parser/whois.pnina.ps.rb", "lib/whois/record/parser/whois.register.bg.rb", "lib/whois/record/parser/whois.register.com.rb", "lib/whois/record/parser/whois.registro.br.rb", "lib/whois/record/parser/whois.registry.gy.rb", "lib/whois/record/parser/whois.registry.hm.rb", "lib/whois/record/parser/whois.registry.in.rb", "lib/whois/record/parser/whois.registry.net.za.rb", "lib/whois/record/parser/whois.registry.om.rb", "lib/whois/record/parser/whois.registry.qa.rb", "lib/whois/record/parser/whois.registrypro.pro.rb", "lib/whois/record/parser/whois.ripe.net.rb", "lib/whois/record/parser/whois.rnids.rs.rb", "lib/whois/record/parser/whois.rotld.ro.rb", "lib/whois/record/parser/whois.rrpproxy.net.rb", "lib/whois/record/parser/whois.schlund.info.rb", "lib/whois/record/parser/whois.sgnic.sg.rb", "lib/whois/record/parser/whois.sk-nic.sk.rb", "lib/whois/record/parser/whois.smallregistry.net.rb", "lib/whois/record/parser/whois.srs.net.nz.rb", "lib/whois/record/parser/whois.sx.rb", "lib/whois/record/parser/whois.tcinet.ru.rb", "lib/whois/record/parser/whois.thnic.co.th.rb", "lib/whois/record/parser/whois.tld.ee.rb", "lib/whois/record/parser/whois.tld.sy.rb", "lib/whois/record/parser/whois.tonic.to.rb", "lib/whois/record/parser/whois.tucows.com.rb", "lib/whois/record/parser/whois.twnic.net.tw.rb", "lib/whois/record/parser/whois.tznic.or.tz.rb", "lib/whois/record/parser/whois.ua.rb", "lib/whois/record/parser/whois.udag.net.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.verisign-grs.com.rb", "lib/whois/record/parser/whois.website.ws.rb", "lib/whois/record/parser/whois.wildwestdomains.com.rb", "lib/whois/record/parser/whois.yoursrs.com.rb", "lib/whois/record/parser/whois.za.net.rb", "lib/whois/record/parser/whois.za.org.rb", "lib/whois/record/parser/whois1.nic.bi.rb", "lib/whois/record/parser.rb", "lib/whois/record/part.rb", "lib/whois/record/registrar.rb", "lib/whois/record/scanners", "lib/whois/record/scanners/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_cocca2.rb", "lib/whois/record/scanners/base_icann_compliant.rb", "lib/whois/record/scanners/base_iisse.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_shared3.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/scannable.rb", "lib/whois/record/scanners/verisign.rb", "lib/whois/record/scanners/whois.ati.tn.rb", "lib/whois/record/scanners/whois.audns.net.au.rb", "lib/whois/record/scanners/whois.cctld.by.rb", "lib/whois/record/scanners/whois.centralnic.com.rb", "lib/whois/record/scanners/whois.cira.ca.rb", "lib/whois/record/scanners/whois.cnnic.cn.rb", "lib/whois/record/scanners/whois.denic.de.rb", "lib/whois/record/scanners/whois.dns.hr.rb", "lib/whois/record/scanners/whois.domainregistry.ie.rb", "lib/whois/record/scanners/whois.fi.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.cz.rb", "lib/whois/record/scanners/whois.nic.it.rb", "lib/whois/record/scanners/whois.pir.org.rb", "lib/whois/record/scanners/whois.registry.net.za.rb", "lib/whois/record/scanners/whois.rnids.rs.rb", "lib/whois/record/scanners/whois.smallregistry.net.rb", "lib/whois/record/scanners/whois.srs.net.nz.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/scanners/whois.tucows.com.rb", "lib/whois/record/scanners/whois.yoursrs.com.rb", "lib/whois/record/super_struct.rb", "lib/whois/record.rb", "lib/whois/server", "lib/whois/server/adapters", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arin.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/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server/socket_handler.rb", "lib/whois/server.rb", "lib/whois/version.rb", "lib/whois.rb"]
15
+ s.files = [".yardopts", "CHANGELOG.md", "LICENSE.txt", "README.md", "bin/ruby-whois", "data/asn16.json", "data/asn32.json", "data/ipv4.json", "data/ipv6.json", "data/tld.json", "lib/whois", "lib/whois.rb", "lib/whois/client.rb", "lib/whois/errors.rb", "lib/whois/record", "lib/whois/record.rb", "lib/whois/record/contact.rb", "lib/whois/record/nameserver.rb", "lib/whois/record/parser", "lib/whois/record/parser.rb", "lib/whois/record/parser/base.rb", "lib/whois/record/parser/base_afilias.rb", "lib/whois/record/parser/base_afilias2.rb", "lib/whois/record/parser/base_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_icann_compliant.rb", "lib/whois/record/parser/base_icb.rb", "lib/whois/record/parser/base_iisse.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_shared3.rb", "lib/whois/record/parser/base_verisign.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/ccwhois.verisign-grs.com.rb", "lib/whois/record/parser/example.rb", "lib/whois/record/parser/jobswhois.verisign-grs.com.rb", "lib/whois/record/parser/kero.yachay.pe.rb", "lib/whois/record/parser/whois.1und1.info.rb", "lib/whois/record/parser/whois.adamsnames.tc.rb", "lib/whois/record/parser/whois.aeda.net.ae.rb", "lib/whois/record/parser/whois.aero.rb", "lib/whois/record/parser/whois.afilias-grs.info.rb", "lib/whois/record/parser/whois.afilias.info.rb", "lib/whois/record/parser/whois.ai.rb", "lib/whois/record/parser/whois.arnes.si.rb", "lib/whois/record/parser/whois.ascio.com.rb", "lib/whois/record/parser/whois.ati.tn.rb", "lib/whois/record/parser/whois.audns.net.au.rb", "lib/whois/record/parser/whois.ax.rb", "lib/whois/record/parser/whois.biz.rb", "lib/whois/record/parser/whois.bn.rb", "lib/whois/record/parser/whois.cat.rb", "lib/whois/record/parser/whois.cctld.by.rb", "lib/whois/record/parser/whois.cctld.uz.rb", "lib/whois/record/parser/whois.centralnic.com.rb", "lib/whois/record/parser/whois.cira.ca.rb", "lib/whois/record/parser/whois.cmc.iq.rb", "lib/whois/record/parser/whois.cnnic.cn.rb", "lib/whois/record/parser/whois.co.ca.rb", "lib/whois/record/parser/whois.co.pl.rb", "lib/whois/record/parser/whois.co.ug.rb", "lib/whois/record/parser/whois.comlaude.com.rb", "lib/whois/record/parser/whois.corporatedomains.com.rb", "lib/whois/record/parser/whois.denic.de.rb", "lib/whois/record/parser/whois.dk-hostmaster.dk.rb", "lib/whois/record/parser/whois.dns.be.rb", "lib/whois/record/parser/whois.dns.hr.rb", "lib/whois/record/parser/whois.dns.lu.rb", "lib/whois/record/parser/whois.dns.pl.rb", "lib/whois/record/parser/whois.dns.pt.rb", "lib/whois/record/parser/whois.domain-registry.nl.rb", "lib/whois/record/parser/whois.domain.kg.rb", "lib/whois/record/parser/whois.domainregistry.ie.rb", "lib/whois/record/parser/whois.domainregistry.my.rb", "lib/whois/record/parser/whois.domreg.lt.rb", "lib/whois/record/parser/whois.donuts.co.rb", "lib/whois/record/parser/whois.dot.cf.rb", "lib/whois/record/parser/whois.dot.tk.rb", "lib/whois/record/parser/whois.dotmobiregistry.net.rb", "lib/whois/record/parser/whois.dotpostregistry.net.rb", "lib/whois/record/parser/whois.dreamhost.com.rb", "lib/whois/record/parser/whois.educause.edu.rb", "lib/whois/record/parser/whois.eenet.ee.rb", "lib/whois/record/parser/whois.enom.com.rb", "lib/whois/record/parser/whois.eu.org.rb", "lib/whois/record/parser/whois.eu.rb", "lib/whois/record/parser/whois.fi.rb", "lib/whois/record/parser/whois.gandi.net.rb", "lib/whois/record/parser/whois.gg.rb", "lib/whois/record/parser/whois.godaddy.com.rb", "lib/whois/record/parser/whois.gov.za.rb", "lib/whois/record/parser/whois.hkirc.hk.rb", "lib/whois/record/parser/whois.iam.net.ma.rb", "lib/whois/record/parser/whois.iana.org.rb", "lib/whois/record/parser/whois.iis.nu.rb", "lib/whois/record/parser/whois.iis.se.rb", "lib/whois/record/parser/whois.in.ua.rb", "lib/whois/record/parser/whois.isnic.is.rb", "lib/whois/record/parser/whois.isoc.org.il.rb", "lib/whois/record/parser/whois.ja.net.rb", "lib/whois/record/parser/whois.je.rb", "lib/whois/record/parser/whois.jprs.jp.rb", "lib/whois/record/parser/whois.kenic.or.ke.rb", "lib/whois/record/parser/whois.kr.rb", "lib/whois/record/parser/whois.markmonitor.com.rb", "lib/whois/record/parser/whois.meridiantld.net.rb", "lib/whois/record/parser/whois.monic.mo.rb", "lib/whois/record/parser/whois.museum.rb", "lib/whois/record/parser/whois.na-nic.com.na.rb", "lib/whois/record/parser/whois.nc.rb", "lib/whois/record/parser/whois.netcom.cm.rb", "lib/whois/record/parser/whois.networksolutions.com.rb", "lib/whois/record/parser/whois.nic.ac.rb", "lib/whois/record/parser/whois.nic.af.rb", "lib/whois/record/parser/whois.nic.ag.rb", "lib/whois/record/parser/whois.nic.am.rb", "lib/whois/record/parser/whois.nic.as.rb", "lib/whois/record/parser/whois.nic.asia.rb", "lib/whois/record/parser/whois.nic.at.rb", "lib/whois/record/parser/whois.nic.bj.rb", "lib/whois/record/parser/whois.nic.bo.rb", "lib/whois/record/parser/whois.nic.cd.rb", "lib/whois/record/parser/whois.nic.ch.rb", "lib/whois/record/parser/whois.nic.ci.rb", "lib/whois/record/parser/whois.nic.ck.rb", "lib/whois/record/parser/whois.nic.cl.rb", "lib/whois/record/parser/whois.nic.co.rb", "lib/whois/record/parser/whois.nic.coop.rb", "lib/whois/record/parser/whois.nic.cx.rb", "lib/whois/record/parser/whois.nic.cz.rb", "lib/whois/record/parser/whois.nic.dm.rb", "lib/whois/record/parser/whois.nic.dz.rb", "lib/whois/record/parser/whois.nic.ec.rb", "lib/whois/record/parser/whois.nic.es.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gd.rb", "lib/whois/record/parser/whois.nic.gl.rb", "lib/whois/record/parser/whois.nic.gov.rb", "lib/whois/record/parser/whois.nic.gs.rb", "lib/whois/record/parser/whois.nic.hn.rb", "lib/whois/record/parser/whois.nic.ht.rb", "lib/whois/record/parser/whois.nic.hu.rb", "lib/whois/record/parser/whois.nic.im.rb", "lib/whois/record/parser/whois.nic.io.rb", "lib/whois/record/parser/whois.nic.ir.rb", "lib/whois/record/parser/whois.nic.it.rb", "lib/whois/record/parser/whois.nic.ki.rb", "lib/whois/record/parser/whois.nic.kz.rb", "lib/whois/record/parser/whois.nic.la.rb", "lib/whois/record/parser/whois.nic.li.rb", "lib/whois/record/parser/whois.nic.lk.rb", "lib/whois/record/parser/whois.nic.lv.rb", "lib/whois/record/parser/whois.nic.ly.rb", "lib/whois/record/parser/whois.nic.md.rb", "lib/whois/record/parser/whois.nic.me.rb", "lib/whois/record/parser/whois.nic.mg.rb", "lib/whois/record/parser/whois.nic.ms.rb", "lib/whois/record/parser/whois.nic.mu.rb", "lib/whois/record/parser/whois.nic.mx.rb", "lib/whois/record/parser/whois.nic.name.rb", "lib/whois/record/parser/whois.nic.net.ng.rb", "lib/whois/record/parser/whois.nic.net.sa.rb", "lib/whois/record/parser/whois.nic.net.sb.rb", "lib/whois/record/parser/whois.nic.nf.rb", "lib/whois/record/parser/whois.nic.org.uy.rb", "lib/whois/record/parser/whois.nic.pr.rb", "lib/whois/record/parser/whois.nic.priv.at.rb", "lib/whois/record/parser/whois.nic.pw.rb", "lib/whois/record/parser/whois.nic.sh.rb", "lib/whois/record/parser/whois.nic.sl.rb", "lib/whois/record/parser/whois.nic.sm.rb", "lib/whois/record/parser/whois.nic.sn.rb", "lib/whois/record/parser/whois.nic.so.rb", "lib/whois/record/parser/whois.nic.st.rb", "lib/whois/record/parser/whois.nic.tel.rb", "lib/whois/record/parser/whois.nic.tl.rb", "lib/whois/record/parser/whois.nic.tm.rb", "lib/whois/record/parser/whois.nic.tr.rb", "lib/whois/record/parser/whois.nic.travel.rb", "lib/whois/record/parser/whois.nic.tv.rb", "lib/whois/record/parser/whois.nic.uk.rb", "lib/whois/record/parser/whois.nic.us.rb", "lib/whois/record/parser/whois.nic.ve.rb", "lib/whois/record/parser/whois.nic.xxx.rb", "lib/whois/record/parser/whois.norid.no.rb", "lib/whois/record/parser/whois.org.za.rb", "lib/whois/record/parser/whois.pairnic.com.rb", "lib/whois/record/parser/whois.pandi.or.id.rb", "lib/whois/record/parser/whois.pir.org.rb", "lib/whois/record/parser/whois.pnina.ps.rb", "lib/whois/record/parser/whois.register.bg.rb", "lib/whois/record/parser/whois.register.com.rb", "lib/whois/record/parser/whois.registro.br.rb", "lib/whois/record/parser/whois.registry.gy.rb", "lib/whois/record/parser/whois.registry.hm.rb", "lib/whois/record/parser/whois.registry.in.rb", "lib/whois/record/parser/whois.registry.net.za.rb", "lib/whois/record/parser/whois.registry.om.rb", "lib/whois/record/parser/whois.registry.qa.rb", "lib/whois/record/parser/whois.registrypro.pro.rb", "lib/whois/record/parser/whois.ripe.net.rb", "lib/whois/record/parser/whois.rnids.rs.rb", "lib/whois/record/parser/whois.rotld.ro.rb", "lib/whois/record/parser/whois.rrpproxy.net.rb", "lib/whois/record/parser/whois.schlund.info.rb", "lib/whois/record/parser/whois.sgnic.sg.rb", "lib/whois/record/parser/whois.sk-nic.sk.rb", "lib/whois/record/parser/whois.smallregistry.net.rb", "lib/whois/record/parser/whois.srs.net.nz.rb", "lib/whois/record/parser/whois.sx.rb", "lib/whois/record/parser/whois.tcinet.ru.rb", "lib/whois/record/parser/whois.thnic.co.th.rb", "lib/whois/record/parser/whois.tld.ee.rb", "lib/whois/record/parser/whois.tld.sy.rb", "lib/whois/record/parser/whois.tonic.to.rb", "lib/whois/record/parser/whois.tucows.com.rb", "lib/whois/record/parser/whois.twnic.net.tw.rb", "lib/whois/record/parser/whois.tznic.or.tz.rb", "lib/whois/record/parser/whois.ua.rb", "lib/whois/record/parser/whois.udag.net.rb", "lib/whois/record/parser/whois.uniregistry.net.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.verisign-grs.com.rb", "lib/whois/record/parser/whois.website.ws.rb", "lib/whois/record/parser/whois.wildwestdomains.com.rb", "lib/whois/record/parser/whois.yoursrs.com.rb", "lib/whois/record/parser/whois.za.net.rb", "lib/whois/record/parser/whois.za.org.rb", "lib/whois/record/parser/whois1.nic.bi.rb", "lib/whois/record/part.rb", "lib/whois/record/registrar.rb", "lib/whois/record/scanners", "lib/whois/record/scanners/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_cocca2.rb", "lib/whois/record/scanners/base_icann_compliant.rb", "lib/whois/record/scanners/base_iisse.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_shared3.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/scannable.rb", "lib/whois/record/scanners/verisign.rb", "lib/whois/record/scanners/whois.ati.tn.rb", "lib/whois/record/scanners/whois.audns.net.au.rb", "lib/whois/record/scanners/whois.cctld.by.rb", "lib/whois/record/scanners/whois.centralnic.com.rb", "lib/whois/record/scanners/whois.cira.ca.rb", "lib/whois/record/scanners/whois.cnnic.cn.rb", "lib/whois/record/scanners/whois.denic.de.rb", "lib/whois/record/scanners/whois.dns.hr.rb", "lib/whois/record/scanners/whois.domainregistry.ie.rb", "lib/whois/record/scanners/whois.fi.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.cz.rb", "lib/whois/record/scanners/whois.nic.it.rb", "lib/whois/record/scanners/whois.pir.org.rb", "lib/whois/record/scanners/whois.registry.net.za.rb", "lib/whois/record/scanners/whois.rnids.rs.rb", "lib/whois/record/scanners/whois.smallregistry.net.rb", "lib/whois/record/scanners/whois.srs.net.nz.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/scanners/whois.tucows.com.rb", "lib/whois/record/scanners/whois.yoursrs.com.rb", "lib/whois/record/super_struct.rb", "lib/whois/server", "lib/whois/server.rb", "lib/whois/server/adapters", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arin.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/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server/socket_handler.rb", "lib/whois/version.rb", "whois.gemspec"]
14
16
  s.homepage = "http://www.ruby-whois.org/"
15
17
  s.licenses = ["MIT"]
16
18
  s.post_install_message = "********************************************************************************\n\n Thank you for installing the whois gem!\n\n If you like this gem, please support the project.\n http://pledgie.com/campaigns/11383\n\n Does your project or organization use this gem? Add it to the apps wiki.\n https://github.com/weppos/whois/wiki/apps\n\n Are you looking for a quick and convenient way to perform WHOIS queries?\n Check out RoboWhois WHOIS API.\n https://www.robowhois.com/\n\n********************************************************************************\n"
17
- s.require_paths = ["lib"]
18
19
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
19
20
  s.rubyforge_project = "whois"
20
- s.rubygems_version = "2.0.14"
21
+ s.rubygems_version = "2.2.2"
21
22
  s.summary = "An intelligent pure Ruby WHOIS client and parser."
22
23
 
23
24
  if s.respond_to? :specification_version then
24
25
  s.specification_version = 4
25
26
 
26
27
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
+ s.add_runtime_dependency(%q<activesupport>, [">= 3"])
27
29
  s.add_development_dependency(%q<rake>, [">= 0"])
28
30
  s.add_development_dependency(%q<rspec>, [">= 0"])
29
31
  s.add_development_dependency(%q<mocha>, [">= 0"])
30
32
  s.add_development_dependency(%q<yard>, [">= 0"])
31
33
  else
34
+ s.add_dependency(%q<activesupport>, [">= 3"])
32
35
  s.add_dependency(%q<rake>, [">= 0"])
33
36
  s.add_dependency(%q<rspec>, [">= 0"])
34
37
  s.add_dependency(%q<mocha>, [">= 0"])
35
38
  s.add_dependency(%q<yard>, [">= 0"])
36
39
  end
37
40
  else
41
+ s.add_dependency(%q<activesupport>, [">= 3"])
38
42
  s.add_dependency(%q<rake>, [">= 0"])
39
43
  s.add_dependency(%q<rspec>, [">= 0"])
40
44
  s.add_dependency(%q<mocha>, [">= 0"])
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whois
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simone Carletti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-16 00:00:00.000000000 Z
11
+ date: 2014-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rake
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -76,29 +90,23 @@ executables:
76
90
  extensions: []
77
91
  extra_rdoc_files: []
78
92
  files:
79
- - LICENSE.txt
80
93
  - .yardopts
81
94
  - CHANGELOG.md
95
+ - LICENSE.txt
82
96
  - README.md
83
- - whois.gemspec
84
97
  - bin/ruby-whois
85
98
  - data/asn16.json
86
99
  - data/asn32.json
87
100
  - data/ipv4.json
88
101
  - data/ipv6.json
89
102
  - data/tld.json
103
+ - lib/whois.rb
90
104
  - lib/whois/client.rb
91
- - lib/whois/core_ext/array/extract_options.rb
92
- - lib/whois/core_ext/array/wrap.rb
93
- - lib/whois/core_ext/class/attribute.rb
94
- - lib/whois/core_ext/kernel/singleton_class.rb
95
- - lib/whois/core_ext/module/remove_method.rb
96
- - lib/whois/core_ext/object/blank.rb
97
- - lib/whois/core_ext/time/calculations.rb
98
- - lib/whois/core_ext.rb
99
105
  - lib/whois/errors.rb
106
+ - lib/whois/record.rb
100
107
  - lib/whois/record/contact.rb
101
108
  - lib/whois/record/nameserver.rb
109
+ - lib/whois/record/parser.rb
102
110
  - lib/whois/record/parser/base.rb
103
111
  - lib/whois/record/parser/base_afilias.rb
104
112
  - lib/whois/record/parser/base_afilias2.rb
@@ -142,6 +150,7 @@ files:
142
150
  - lib/whois/record/parser/whois.co.pl.rb
143
151
  - lib/whois/record/parser/whois.co.ug.rb
144
152
  - lib/whois/record/parser/whois.comlaude.com.rb
153
+ - lib/whois/record/parser/whois.corporatedomains.com.rb
145
154
  - lib/whois/record/parser/whois.denic.de.rb
146
155
  - lib/whois/record/parser/whois.dk-hostmaster.dk.rb
147
156
  - lib/whois/record/parser/whois.dns.be.rb
@@ -309,7 +318,6 @@ files:
309
318
  - lib/whois/record/parser/whois.za.net.rb
310
319
  - lib/whois/record/parser/whois.za.org.rb
311
320
  - lib/whois/record/parser/whois1.nic.bi.rb
312
- - lib/whois/record/parser.rb
313
321
  - lib/whois/record/part.rb
314
322
  - lib/whois/record/registrar.rb
315
323
  - lib/whois/record/scanners/base.rb
@@ -346,7 +354,7 @@ files:
346
354
  - lib/whois/record/scanners/whois.tucows.com.rb
347
355
  - lib/whois/record/scanners/whois.yoursrs.com.rb
348
356
  - lib/whois/record/super_struct.rb
349
- - lib/whois/record.rb
357
+ - lib/whois/server.rb
350
358
  - lib/whois/server/adapters/afilias.rb
351
359
  - lib/whois/server/adapters/arin.rb
352
360
  - lib/whois/server/adapters/arpa.rb
@@ -358,9 +366,8 @@ files:
358
366
  - lib/whois/server/adapters/verisign.rb
359
367
  - lib/whois/server/adapters/web.rb
360
368
  - lib/whois/server/socket_handler.rb
361
- - lib/whois/server.rb
362
369
  - lib/whois/version.rb
363
- - lib/whois.rb
370
+ - whois.gemspec
364
371
  homepage: http://www.ruby-whois.org/
365
372
  licenses:
366
373
  - MIT
@@ -396,7 +403,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
396
403
  version: '0'
397
404
  requirements: []
398
405
  rubyforge_project: whois
399
- rubygems_version: 2.0.14
406
+ rubygems_version: 2.2.2
400
407
  signing_key:
401
408
  specification_version: 4
402
409
  summary: An intelligent pure Ruby WHOIS client and parser.
@@ -1,11 +0,0 @@
1
- if defined?(ActiveSupport::VERSION) && ActiveSupport::VERSION::MAJOR == 3
2
- require 'active_support/core_ext/array/wrap'
3
- require 'active_support/core_ext/class/attribute'
4
- require 'active_support/core_ext/object/blank'
5
- else
6
- require 'whois/core_ext/array/wrap'
7
- require 'whois/core_ext/class/attribute'
8
- require 'whois/core_ext/object/blank'
9
- end
10
-
11
- require 'whois/core_ext/time/calculations'
@@ -1,29 +0,0 @@
1
- class Hash
2
- # By default, only instances of Hash itself are extractable.
3
- # Subclasses of Hash may implement this method and return
4
- # true to declare themselves as extractable. If a Hash
5
- # is extractable, Array#extract_options! pops it from
6
- # the Array when it is the last element of the Array.
7
- def extractable_options?
8
- instance_of?(Hash)
9
- end
10
- end
11
-
12
- class Array
13
- # Extracts options from a set of arguments. Removes and returns the last
14
- # element in the array if it's a hash, otherwise returns a blank hash.
15
- #
16
- # def options(*args)
17
- # args.extract_options!
18
- # end
19
- #
20
- # options(1, 2) # => {}
21
- # options(1, 2, a: :b) # => {:a=>:b}
22
- def extract_options!
23
- if last.is_a?(Hash) && last.extractable_options?
24
- pop
25
- else
26
- {}
27
- end
28
- end
29
- end
@@ -1,45 +0,0 @@
1
- class Array
2
- # Wraps its argument in an array unless it is already an array (or array-like).
3
- #
4
- # Specifically:
5
- #
6
- # * If the argument is +nil+ an empty list is returned.
7
- # * Otherwise, if the argument responds to +to_ary+ it is invoked, and its result returned.
8
- # * Otherwise, returns an array with the argument as its single element.
9
- #
10
- # Array.wrap(nil) # => []
11
- # Array.wrap([1, 2, 3]) # => [1, 2, 3]
12
- # Array.wrap(0) # => [0]
13
- #
14
- # This method is similar in purpose to <tt>Kernel#Array</tt>, but there are some differences:
15
- #
16
- # * If the argument responds to +to_ary+ the method is invoked. <tt>Kernel#Array</tt>
17
- # moves on to try +to_a+ if the returned value is +nil+, but <tt>Array.wrap</tt> returns
18
- # +nil+ right away.
19
- # * If the returned value from +to_ary+ is neither +nil+ nor an +Array+ object, <tt>Kernel#Array</tt>
20
- # raises an exception, while <tt>Array.wrap</tt> does not, it just returns the value.
21
- # * It does not call +to_a+ on the argument, but returns an empty array if argument is +nil+.
22
- #
23
- # The second point is easily explained with some enumerables:
24
- #
25
- # Array(foo: :bar) # => [[:foo, :bar]]
26
- # Array.wrap(foo: :bar) # => [{:foo=>:bar}]
27
- #
28
- # There's also a related idiom that uses the splat operator:
29
- #
30
- # [*object]
31
- #
32
- # which returns <tt>[]</tt> for +nil+, but calls to <tt>Array(object)</tt> otherwise.
33
- #
34
- # The differences with <tt>Kernel#Array</tt> explained above
35
- # apply to the rest of <tt>object</tt>s.
36
- def self.wrap(object)
37
- if object.nil?
38
- []
39
- elsif object.respond_to?(:to_ary)
40
- object.to_ary || [object]
41
- else
42
- [object]
43
- end
44
- end
45
- end
@@ -1,115 +0,0 @@
1
- require 'whois/core_ext/kernel/singleton_class'
2
- require 'whois/core_ext/module/remove_method'
3
- require 'whois/core_ext/array/extract_options'
4
-
5
- class Class
6
- # Declare a class-level attribute whose value is inheritable by subclasses.
7
- # Subclasses can change their own value and it will not impact parent class.
8
- #
9
- # class Base
10
- # class_attribute :setting
11
- # end
12
- #
13
- # class Subclass < Base
14
- # end
15
- #
16
- # Base.setting = true
17
- # Subclass.setting # => true
18
- # Subclass.setting = false
19
- # Subclass.setting # => false
20
- # Base.setting # => true
21
- #
22
- # In the above case as long as Subclass does not assign a value to setting
23
- # by performing <tt>Subclass.setting = _something_ </tt>, <tt>Subclass.setting</tt>
24
- # would read value assigned to parent class. Once Subclass assigns a value then
25
- # the value assigned by Subclass would be returned.
26
- #
27
- # This matches normal Ruby method inheritance: think of writing an attribute
28
- # on a subclass as overriding the reader method. However, you need to be aware
29
- # when using +class_attribute+ with mutable structures as +Array+ or +Hash+.
30
- # In such cases, you don't want to do changes in places but use setters:
31
- #
32
- # Base.setting = []
33
- # Base.setting # => []
34
- # Subclass.setting # => []
35
- #
36
- # # Appending in child changes both parent and child because it is the same object:
37
- # Subclass.setting << :foo
38
- # Base.setting # => [:foo]
39
- # Subclass.setting # => [:foo]
40
- #
41
- # # Use setters to not propagate changes:
42
- # Base.setting = []
43
- # Subclass.setting += [:foo]
44
- # Base.setting # => []
45
- # Subclass.setting # => [:foo]
46
- #
47
- # For convenience, a query method is defined as well:
48
- #
49
- # Subclass.setting? # => false
50
- #
51
- # Instances may overwrite the class value in the same way:
52
- #
53
- # Base.setting = true
54
- # object = Base.new
55
- # object.setting # => true
56
- # object.setting = false
57
- # object.setting # => false
58
- # Base.setting # => true
59
- #
60
- # To opt out of the instance reader method, pass :instance_reader => false.
61
- #
62
- # object.setting # => NoMethodError
63
- # object.setting? # => NoMethodError
64
- #
65
- # To opt out of the instance writer method, pass :instance_writer => false.
66
- #
67
- # object.setting = false # => NoMethodError
68
- def class_attribute(*attrs)
69
- options = attrs.extract_options!
70
- instance_reader = options.fetch(:instance_reader, true)
71
- instance_writer = options.fetch(:instance_writer, true)
72
-
73
- attrs.each do |name|
74
- class_eval <<-RUBY, __FILE__, __LINE__ + 1
75
- def self.#{name}() nil end
76
- def self.#{name}?() !!#{name} end
77
-
78
- def self.#{name}=(val)
79
- singleton_class.class_eval do
80
- remove_possible_method(:#{name})
81
- define_method(:#{name}) { val }
82
- end
83
-
84
- if singleton_class?
85
- class_eval do
86
- remove_possible_method(:#{name})
87
- def #{name}
88
- defined?(@#{name}) ? @#{name} : singleton_class.#{name}
89
- end
90
- end
91
- end
92
- val
93
- end
94
-
95
- if instance_reader
96
- remove_possible_method :#{name}
97
- def #{name}
98
- defined?(@#{name}) ? @#{name} : self.class.#{name}
99
- end
100
-
101
- def #{name}?
102
- !!#{name}
103
- end
104
- end
105
- RUBY
106
-
107
- attr_writer name if instance_writer
108
- end
109
- end
110
-
111
- private
112
- def singleton_class?
113
- !name || '' == name
114
- end
115
- end
@@ -1,13 +0,0 @@
1
- module Kernel
2
- # Returns the object's singleton class.
3
- def singleton_class
4
- class << self
5
- self
6
- end
7
- end unless respond_to?(:singleton_class) # exists in 1.9.2
8
-
9
- # class_eval on an object acts like singleton_class.class_eval.
10
- def class_eval(*args, &block)
11
- singleton_class.class_eval(*args, &block)
12
- end
13
- end
@@ -1,16 +0,0 @@
1
- class Module
2
- def remove_possible_method(method)
3
- if method_defined?(method) || private_method_defined?(method)
4
- remove_method(method)
5
- end
6
- rescue NameError
7
- # If the requested method is defined on a superclass or included module,
8
- # method_defined? returns true but remove_method throws a NameError.
9
- # Ignore this.
10
- end
11
-
12
- def redefine_method(method, &block)
13
- remove_possible_method(method)
14
- define_method(method, &block)
15
- end
16
- end
@@ -1,105 +0,0 @@
1
- # encoding: utf-8
2
-
3
- class Object
4
- # An object is blank if it's false, empty, or a whitespace string.
5
- # For example, '', ' ', +nil+, [], and {} are all blank.
6
- #
7
- # This simplifies:
8
- #
9
- # if address.nil? || address.empty?
10
- #
11
- # ...to:
12
- #
13
- # if address.blank?
14
- def blank?
15
- respond_to?(:empty?) ? empty? : !self
16
- end
17
-
18
- # An object is present if it's not <tt>blank?</tt>.
19
- def present?
20
- !blank?
21
- end
22
-
23
- # Returns object if it's <tt>present?</tt> otherwise returns +nil+.
24
- # <tt>object.presence</tt> is equivalent to <tt>object.present? ? object : nil</tt>.
25
- #
26
- # This is handy for any representation of objects where blank is the same
27
- # as not present at all. For example, this simplifies a common check for
28
- # HTTP POST/query parameters:
29
- #
30
- # state = params[:state] if params[:state].present?
31
- # country = params[:country] if params[:country].present?
32
- # region = state || country || 'US'
33
- #
34
- # ...becomes:
35
- #
36
- # region = params[:state].presence || params[:country].presence || 'US'
37
- def presence
38
- self if present?
39
- end
40
- end
41
-
42
- class NilClass
43
- # +nil+ is blank:
44
- #
45
- # nil.blank? # => true
46
- def blank?
47
- true
48
- end
49
- end
50
-
51
- class FalseClass
52
- # +false+ is blank:
53
- #
54
- # false.blank? # => true
55
- def blank?
56
- true
57
- end
58
- end
59
-
60
- class TrueClass
61
- # +true+ is not blank:
62
- #
63
- # true.blank? # => false
64
- def blank?
65
- false
66
- end
67
- end
68
-
69
- class Array
70
- # An array is blank if it's empty:
71
- #
72
- # [].blank? # => true
73
- # [1,2,3].blank? # => false
74
- alias_method :blank?, :empty?
75
- end
76
-
77
- class Hash
78
- # A hash is blank if it's empty:
79
- #
80
- # {}.blank? # => true
81
- # { key: 'value' }.blank? # => false
82
- alias_method :blank?, :empty?
83
- end
84
-
85
- class String
86
- # A string is blank if it's empty or contains whitespaces only:
87
- #
88
- # ''.blank? # => true
89
- # ' '.blank? # => true
90
- # ' '.blank? # => true
91
- # ' something here '.blank? # => false
92
- def blank?
93
- self !~ /[^[:space:]]/
94
- end
95
- end
96
-
97
- class Numeric #:nodoc:
98
- # No number is blank:
99
- #
100
- # 1.blank? # => false
101
- # 0.blank? # => false
102
- def blank?
103
- false
104
- end
105
- end
@@ -1,32 +0,0 @@
1
- class Time
2
-
3
- # Returns a new Time where one or more of the elements have been changed according
4
- # to the +options+ parameter. The time options (<tt>:hour</tt>, <tt>:min</tt>,
5
- # <tt>:sec</tt>, <tt>:usec</tt>) reset cascadingly, so if only the hour is passed,
6
- # then minute, sec, and usec is set to 0. If the hour and minute is passed, then
7
- # sec and usec is set to 0. The +options+ parameter takes a hash with any of these
8
- # keys: <tt>:year</tt>, <tt>:month</tt>, <tt>:day</tt>, <tt>:hour</tt>, <tt>:min</tt>,
9
- # <tt>:sec</tt>, <tt>:usec</tt>.
10
- #
11
- # Time.new(2012, 8, 29, 22, 35, 0).change(day: 1) # => Time.new(2012, 8, 1, 22, 35, 0)
12
- # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, day: 1) # => Time.new(1981, 8, 1, 22, 35, 0)
13
- # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, hour: 0) # => Time.new(1981, 8, 29, 0, 0, 0)
14
- def change(options)
15
- new_year = options.fetch(:year, year)
16
- new_month = options.fetch(:month, month)
17
- new_day = options.fetch(:day, day)
18
- new_hour = options.fetch(:hour, hour)
19
- new_min = options.fetch(:min, options[:hour] ? 0 : min)
20
- new_sec = options.fetch(:sec, (options[:hour] || options[:min]) ? 0 : sec)
21
- new_usec = options.fetch(:usec, (options[:hour] || options[:min] || options[:sec]) ? 0 : Rational(nsec, 1000))
22
-
23
- if utc?
24
- ::Time.utc(new_year, new_month, new_day, new_hour, new_min, new_sec, new_usec)
25
- elsif zone
26
- ::Time.local(new_year, new_month, new_day, new_hour, new_min, new_sec, new_usec)
27
- else
28
- ::Time.new(new_year, new_month, new_day, new_hour, new_min, new_sec + (new_usec.to_r / 1000000), utc_offset)
29
- end
30
- end unless method_defined? :change
31
-
32
- end