whois 1.3.2 → 1.3.3

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,17 @@
1
1
  = Changelog
2
2
 
3
3
 
4
+ == Release 1.3.3
5
+
6
+ * ADDED: Ability to parse Registrar for .ca TLD parser [aeden]
7
+
8
+ * FIXED: With some .nl domains, whois.domain-registry.nl parser returns invalid values for nameservers.
9
+
10
+ * FIXED: With some .mx domains, whois.nic.mx parser returns invalid values for nameservers.
11
+
12
+ * FIXED: With some .me domains, whois.meregistry.net parser returns invalid values for nameservers.
13
+
14
+
4
15
  == Release 1.3.2
5
16
 
6
17
  * FIXED: .nl TLD parser doesn't understand quarantine status (closes #34)
data/README.rdoc CHANGED
@@ -17,7 +17,7 @@ An extensive test suite is available to verify the library correctness but you m
17
17
  * Object oriented design, featuring 10 different design patterns
18
18
  * Pure Ruby library, without any external dependency other than Ruby itself
19
19
  * Compatible with {Ruby 1.8.6 and greater}[http://www.ruby-whois.org/manual/installation.html#s-requirements], including Ruby 1.9 branch
20
- * Successfully tested against multiple Ruby versions and interpreters, including Ruby, Ruby Enterprise Edition, jRuby, and MacRuby
20
+ * Successfully tested against multiple Ruby versions and interpreters, including Ruby, Ruby Enterprise Edition, JRuby, and MacRuby
21
21
 
22
22
 
23
23
  == Requirements
@@ -29,7 +29,7 @@ Whois has been successfully tested against several Ruby interpreters, including
29
29
  * Ruby 1.8.6 / 1.8.7 / 1.9.1 / 1.9.2 (MRI)
30
30
  * Ruby Enterprise Edition
31
31
  * MacRuby
32
- * jRuby
32
+ * JRuby
33
33
 
34
34
  Do you run any other Ruby platform or version? Are you experiencing any problem? Join our {discussion group}[http://groups.google.com/group/ruby-whois].
35
35
 
@@ -74,6 +74,16 @@ module Whois
74
74
  end
75
75
 
76
76
 
77
+ property_supported :registrar do
78
+ @registrar ||= if content_for_scanner =~ /^Registrar:\n(.*\n?)^\n/m
79
+ match = $1
80
+ id = match =~ /Number:\s+(.*)$/ ? $1.strip : nil
81
+ name = match =~ /Name:\s+(.*)$/ ? $1.strip : nil
82
+ Whois::Answer::Registrar.new(:id => id, :name => name, :organization => name)
83
+ end
84
+ end
85
+
86
+
77
87
  property_supported :nameservers do
78
88
  @nameservers ||= if content_for_scanner =~ /Name servers:\n((?:\s+([^\s]+)\s+([^\s]+)\n)+)/
79
89
  $1.split("\n").map { |value| value.split(" ").first }
@@ -74,7 +74,7 @@ module Whois
74
74
 
75
75
  property_supported :nameservers do
76
76
  @nameservers ||= if content_for_scanner =~ /Domain nameservers:\n((.+\n)+)\n/
77
- $1.split("\n").map(&:strip)
77
+ $1.split("\n").map { |value| value.strip.split(/\s+/).first }
78
78
  else
79
79
  []
80
80
  end
@@ -39,11 +39,11 @@ module Whois
39
39
  end
40
40
 
41
41
  property_supported :available? do
42
- @available ||= (content_for_scanner.strip == "NOT FOUND")
42
+ @available ||= (content_for_scanner.strip == "NOT FOUND")
43
43
  end
44
44
 
45
45
  property_supported :registered? do
46
- !available?
46
+ @registered ||= !available?
47
47
  end
48
48
 
49
49
 
@@ -67,7 +67,7 @@ module Whois
67
67
 
68
68
 
69
69
  property_supported :nameservers do
70
- @nameservers ||= content_for_scanner.scan(/Nameservers:([^ ]*?)\n/).flatten.map(&:downcase)
70
+ @nameservers ||= content_for_scanner.scan(/Nameservers:([^ ]+?)\n/).flatten.map(&:downcase)
71
71
  end
72
72
 
73
73
  end
@@ -44,11 +44,11 @@ module Whois
44
44
  end
45
45
 
46
46
  property_supported :available? do
47
- @available ||= (status == :available)
47
+ @available ||= (status == :available)
48
48
  end
49
49
 
50
50
  property_supported :registered? do
51
- !available?
51
+ @registered ||= !available?
52
52
  end
53
53
 
54
54
 
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= !!(content_for_scanner =~ /Object_Not_Found/)
46
+ @available ||= !!(content_for_scanner =~ /Object_Not_Found/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -74,7 +74,7 @@ module Whois
74
74
 
75
75
  property_supported :nameservers do
76
76
  @nameservers ||= if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
77
- $1.scan(/DNS:\s+(.*)\n/).flatten.map(&:strip)
77
+ $1.scan(/DNS:\s+(.*)\n/).flatten.map { |value| value.strip.split(/\s+/).first }
78
78
  else
79
79
  []
80
80
  end
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 = 2
22
+ PATCH = 3
23
23
  BUILD = nil
24
24
 
25
25
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join(".")
data/whois.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{whois}
5
- s.version = "1.3.1"
5
+ s.version = "1.3.2"
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-08-24}
9
+ s.date = %q{2010-08-26}
10
10
  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
11
  }
12
12
  s.email = %q{weppos@weppos.net}
13
13
  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.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"]
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"]
15
15
  s.homepage = %q{http://www.ruby-whois.org}
16
16
  s.rdoc_options = ["--main", "README.rdoc"]
17
17
  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: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 2
10
- version: 1.3.2
9
+ - 3
10
+ version: 1.3.3
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-08-26 00:00:00 +02:00
18
+ date: 2010-09-02 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency