Parent

Methods

Files

Class/Module Index [+]

Quicksearch

Whois::Client

Constants

DEFAULT_TIMEOUT

The maximum time to run a WHOIS query, expressed in seconds.

@return [Fixnum] Timeout value in seconds.

Attributes

settings[RW]

@return [Hash] The current client settings.

timeout[RW]

@return [Fixnum, nil] The current timeout value, expressed in seconds.

Public Class Methods

new(settings = {}) click to toggle source

Initializes a new Whois::Client with settings.

If block is given, yields self.

@param [Hash] settings Hash of settings to customize the client behavior. @option settings [Integer, nil] :timeout (DEFAULT_TIMEOUT)

The timeout for a WHOIS query, expressed in seconds.

@option settings [String] :bind_host (nil)

Providing an IP address or hostname will bind the Socket connection
to the specific local host.

@option settings [Fixnum] :bind_port (nil)

Providing port number will bind the Socket connection
to the specific local port.

@option settings [String, nil] :host (nil)

The server host to query. Leave it blank for intelligent detection.

@option settings [Boolean, nil] :referral (nil)

Set to +false+ to disable queries to referral WHOIS servers.

@yield [self]

@example Creating a new Client

client = Whois::Client.new
client.lookup("google.com")

@example Creating a new Client with custom settings

client = Whois::Client.new(:timeout => nil)
client.lookup("google.com")

@example Creating a new Client an yield the instance

Whois::Client.new do |c|
  c.lookup("google.com")
end

@example Binding the requests to a custom local IP

client = Whois::Client.new(:bind_host => "127.0.0.1", :bind_port => 80)
client.lookup("google.com")
# File lib/whois/client.rb, line 66
def initialize(settings = {})
  settings = settings.dup

  self.timeout  = settings.key?(:timeout) ? settings.delete(:timeout) : DEFAULT_TIMEOUT
  self.settings = settings

  yield(self) if block_given?
end

Public Instance Methods

lookup(object) click to toggle source

Lookups the right WHOIS server for object and returns the response from the server.

@param [to_s] object The string to be sent as lookup parameter. @return [Whois::Record] The object containing the WHOIS response.

@raise [Timeout::Error]

@example

client.lookup("google.com")
# => #<Whois::Record>
# File lib/whois/client.rb, line 89
def lookup(object)
  string = object.to_s.downcase
  Timeout::timeout(timeout) do
    @server = Server.guess(string)
    @server.configure(settings)
    @server.lookup(string)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.