In these minutes the hamsters at RubyForge.org are crunching the new Whois version and the gem should be available for download in a moment. Whois 0.8.0 is the most significant update since I announced the availability of the library, a few month ago. Don't let the
CHANGELOG fool you: it is short but the changes are quite impressive.
I already talked about the new Whois::Answer object and the Whois parsers, so I won't repeat myself. Instead, I want to show you a few examples to demonstrate some of the new features and library capabilities.
How to check domain availability (the short way)
Whois.available? "google.com" # => false Whois.registered? "google.com" # => true
How to check domain availability (the long way)
client = Whois.client.new answer = client.query("google.com") # => #<Whois::Answer> answer.available? => false answer.available? => true
How to query whois (the short way)
answer = Whois.query("google.com") # => #<Whois::Answer> puts answer # => "..."
How to query whois (the long way)
client = Whois::Client.new answer = client.query("google.com") # => #<Whois::Answer> puts answer # => "..."
How to get whois server details
answer = Whois.query("google.com") # => #<Whois::Answer> server = answer.server # => #<Whois::Server::Adapters::Verisign> server.allocation # => ".com" server.host # => "whois.crsnic.net"
How to read whois properties
answer = Whois.query("google.com") # => #<Whois::Answer> # Get information about record creation and expiration answer.created_on # => Mon Sep 15 00:00:00 +0200 1997 answer.updated_on # => Tue Nov 18 00:00:00 +0100 2008 answer.expires_on # => Wed Sep 14 00:00:00 +0200 2011 # Oops, this property is not supported in this specific answer # Perhaps the registry didn't return it. answer.nameservers # => Whois::PropertyNotSupported: Unable to find a parser for `nameservers'
These are just some examples. Topics like whois parser capabilities, supported properties, response scanners and many others surely deserve many additional posts and articles and the next step is probably to integrate the library with an extensive and more detailed documentation. For any additional information about classes and methods, check out the Whois API.
You can install or upgrade Whois 0.8.0 via RubyGems.
$ gem install whois