# # = Ruby Whois # # An intelligent pure Ruby WHOIS client and parser. # # # Category:: Net # Package:: Whois # Author:: Simone Carletti <weppos@weppos.net> # License:: MIT License # #-- # #++ require 'whois/version' require 'whois/errors' require 'whois/client' require 'whois/server' require 'whois/answer' module Whois NAME = 'Whois' GEM = 'whois' AUTHORS = ['Simone Carletti <weppos@weppos.net>'] # Queries the right whois server for <tt>qstring</tt> and returns # a <tt>Whois::Answer</tt> instance containing the response from the server. # # Whois.query("google.com") # # => #<Whois::Answer> # # This is equivalent to # # Whois::Client.new.query("google.com") # # => #<Whois::Answer> # def self.whois(qstring) query(qstring) end # Returns <tt>true</tt> whether <tt>qstring</tt> is available. # <tt>qstring</tt> is intended to be a domain name, # otherwise this method may return unexpected responses. # # Whois.available?("google.com") # # => false # # Whois.available?("google-is-not-available-try-again-later.com") # # => true # # Warning: this method is only available if a Whois parser exists # for <tt>qstring</tt> top level domain. Otherwise you'll get a warning message # and the method will return <tt>nil</tt>. # This is a technical limitation. Browse the lib/whois/answer/parsers folder # to view all available parsers. # def self.available?(qstring) query(qstring).available? rescue ParserNotFound => e $stderr.puts "This method is not supported for this kind of object.\n" + "Use Whois.query('#{qstring}') instead." nil end # Returns <tt>true</tt> whether <tt>qstring</tt> is registered. # <tt>qstring</tt> is intended to be a domain name, # otherwise this method may return unexpected responses. # # Whois.registered?("google.com") # # => true # # Whois.registered?("google-is-not-available-try-again-later.com") # # => false # # Warning: this method is only available if a Whois parser exists # for <tt>qstring</tt> top level domain. Otherwise you'll get a warning message # and the method will return <tt>nil</tt>. # This is a technical limitation. Browse the lib/whois/answer/parsers folder # to view all available parsers. # def self.registered?(qstring) query(qstring).registered? rescue ParserNotFound => e $stderr.puts "This method is not supported for this kind of object.\n" + "Use Whois.query('#{qstring}') instead." nil end # See Whois#whois. def self.query(qstring) Client.new.query(qstring) end def self.deprecate(message = nil) message ||= "You are using deprecated behavior which will be removed from the next major or minor release." $stderr.puts("DEPRECATION WARNING: #{message}") end end