# # = Ruby Whois # # An intelligent pure Ruby WHOIS client and parser. # # # Category:: Net # Package:: Whois # Author:: Simone Carletti # License:: MIT License # #-- # #++ require 'core_ext' require 'whois/version' require 'whois/errors' require 'whois/client' require 'whois/server' require 'whois/answer' module Whois NAME = 'Whois' GEM = 'whois' AUTHORS = ['Simone Carletti '] # Queries the right whois server for qstring and returns # a Whois::Answer instance containing the response from the server. # # Whois.query("google.com") # # => # # # This is equivalent to # # Whois::Client.new.query("google.com") # # => # # def self.whois(qstring) query(qstring) end # Returns true whether qstring is available. # qstring 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 qstring top level domain. Otherwise you'll get a warning message # and the method will return nil. # 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 true whether qstring is registered. # qstring 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 qstring top level domain. Otherwise you'll get a warning message # and the method will return nil. # 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