lib/whois/record/parser/whois.educause.edu.rb in whois-2.2.0 vs lib/whois/record/parser/whois.educause.edu.rb in whois-2.3.0
- old
+ new
@@ -1,24 +1,21 @@
#--
# Ruby Whois
#
# An intelligent pure Ruby WHOIS client and parser.
#
-# Copyright (c) 2009-2011 Simone Carletti <weppos@weppos.net>
+# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
#++
require 'whois/record/parser/base'
module Whois
class Record
class Parser
- #
- # = whois.educause.edu parser
- #
# Parser for the whois.educause.edu server.
#
# NOTE: This parser is just a stub and provides only a few basic methods
# to check for domain availability and get domain status.
# Please consider to contribute implementing missing methods.
@@ -60,9 +57,32 @@
if content_for_scanner =~ /Domain expires:\s+(.+?)\n/
Time.parse($1)
end
end
+ property_supported :registrant_contacts do
+ if content_for_scanner =~ /Registrant:\n((.+\n)+)\n/
+ lines = $1.split("\n").map(&:strip)
+
+ case lines[-2]
+ when /([^\n,]+),\s([A-Z]{2})(?:\s(\d{5}))/
+ city, state, zip = $1, $2, $3
+ else
+ city = lines[-2]
+ end
+
+ Record::Contact.new(
+ :type => Whois::Record::Contact::TYPE_REGISTRANT,
+ :name => nil,
+ :organization => lines[0],
+ :address => lines[1..-3].join("\n"),
+ :city => city,
+ :state => state,
+ :zip => zip,
+ :country => lines[-1]
+ )
+ end
+ end
property_supported :nameservers do
if content_for_scanner =~ /Name Servers: \n((.+\n)+)\n/
$1.split("\n").map do |line|
name, ipv4 = line.strip.split(/\s+/)