Class Whois::Client
In: lib/whois/client.rb
Parent: Object

Methods

new   query  

Constants

DEFAULT_TIMEOUT = 10   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

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 [Fixnum, 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.

@yield [self]

@example Creating a new Client

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

@example Creating a new Client with custom settings

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

@example Creating a new Client an yield the instance

  Whois::Client.new do |c|
    c.query("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.query("google.com")

Public Instance methods

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

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

@raise [Timeout::Error]

@example

  client.query("google.com")
  # => #<Whois::Record>

[Validate]