Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 58 lines (46 sloc) 1.2 kb
#!/usr/bin/env ruby -wKU
$:.unshift(File.expand_path("../../lib", __FILE__))
require 'optparse'
require 'ostruct'
require 'whois'
options = OpenStruct.new
OptionParser.new do |opts|
opts.banner = "Whois: an intelligent pure Ruby Whois client"
opts.define_head "Usage: ruby-whois [options] object"
opts.separator ""
opts.separator "Examples:"
opts.separator " ruby-whois ruby-lang.com"
opts.separator " ruby-whois 213.149.247.64"
opts.separator ""
opts.separator "Options:"
opts.on("-t", "--timeout [SECONDS]", Integer, "specify the timeout value") do |seconds|
options.timeout = seconds
end
opts.on_tail("--help", "Show this message") do
puts opts
exit
end
opts.on_tail("-v", "--version", "show version") do
puts "#{Whois::NAME} #{Whois::VERSION}"
exit
end
begin
opts.parse!
rescue OptionParser::ParseError
puts opts
exit 1
end
if ARGV.size.zero?
puts opts
exit 1
end
end
object = ARGV.shift
begin
@client = Whois::Client.new(:timeout => options.timeout)
puts @client.query(object)
rescue Whois::Error => e
abort(e.message)
rescue Timeout::Error => e
abort("Request Timeout")
end
Jump to Line
Something went wrong with that request. Please try again.