The parsing controller that stays behind the {Whois::Record}.
It provides object-oriented access to a WHOIS response. The list of properties and methods is available in the following constants:
SaudinicNetSa | = | WhoisNicNetSa | Parser for the saudinic.net.sa server. Aliases the whois.nic.net.sa parser. | |
WhoisAusregistryNetAu | = | WhoisAudnsNetAu | Parser for the whois.ausregistry.net.au server. Aliases the whois.audns.net.au. | |
WhoisCnnicNetCn | = | WhoisCnnicCn | Parser for the whois.cnnic.net.cn server. Aliases the whois.cnnic.cn parser. | |
WhoisHkdnrNetHk | = | WhoisHkircHk | Parser for the whois.hkdnr.net.hk server. Aliases the whois.hkirc.hk parser. | |
WhoisNicOrKr | = | WhoisKr | Parser for the whois.nic.or.kr server. Aliases the whois.kr. | |
WhoisRipnNet | = | WhoisTcinetRu | Parser for the whois.ripn.net server. Aliases the whois.tcinet.ru parser. | |
METHODS | = | [ :changed?, :unchanged?, :contacts, # :response_throttled?, :response_incomplete?, ] | ||
PROPERTIES | = | [ :disclaimer, :domain, :domain_id, :referral_whois, :referral_url, :status, :available?, :registered?, :created_on, :updated_on, :expires_on, :registrar, :registrant_contacts, :admin_contacts, :technical_contacts, :nameservers, ] |
record | [R] | @return [Whois::Record] The record referenced by this parser. |
Requires the file at whois/record/parser/#{name}.
@param [String] name The file name to load.
@return [void]
Converts host to the corresponding parser class name.
@param [String] host The server host. @return [String] The class name.
@example
Parser.host_to_parser("whois.nic.it") # => "WhoisNicIt" Parser.host_to_parser("whois.nic-info.it") # => "WhoisNicInfoIt"
Returns the proper parser instance for given part. The parser class is selected according to the value of the host attribute for given part.
@param [Whois::Record::Part] part The part to get the parser for.
@return [Whois::Record::Parser::Base]
An instance of the specific parser for given part. The instance is expected to be a child of {Whois::Record::Parser::Base}.
@example
# Parser for a known host Parser.parser_for("whois.example.com") # => #<Whois::Record::Parser::WhoisExampleCom> # Parser for an unknown host Parser.parser_for("missing.example.com") # => #<Whois::Record::Parser::Blank>
Detects the proper parser class according to given host and returns the class constant.
This method autoloads missing parser classes. If you want to define a custom parser, simple make sure the class is loaded in the Ruby environment before this method is called.
@param [String] host The server host.
@return [Class] The instance of Class representing the parser Class
corresponding to <tt>host</tt>. If <tt>host</tt> doesn't have a specific parser implementation, then returns the {Whois::Record::Parser::Blank} {Class}. The {Class} is expected to be a child of {Whois::Record::Parser::Base}.
@example
Parser.parser_klass("missing.example.com") # => Whois::Record::Parser::Blank # Define a custom parser for missing.example.com class Whois::Record::Parser::MissingExampleCom end Parser.parser_klass("missing.example.com") # => Whois::Record::Parser::MissingExampleCom
Loop through all the record parts to check if at least one part changed.
@param [Whois::Record::Parser] other The other parser instance to compare. @return [Boolean]
@see Whois::Record#changed? @see Whois::Record::Parser::Base#changed?
Collects and returns all the contacts from all the record parts.
@return [Array<Whois::Record::Contact>]
@see Whois::Record#contacts @see Whois::Record::Parser::Base#contacts
Returns an array with all host-specific parsers initialized for the parts contained into this parser. The array is lazy-initialized.
@return [Array<Whois::Record::Parser::Base>]
Returns true if the property passed as symbol is supported by any available parser.
@return [Boolean]
Checks if this class respond to given method.
Overrides the default implementation to add support for {PROPERTIES} and {METHODS}.
@return [Boolean]
Loop through all the parts to check if at least one part is an incomplete response.
@return [Boolean]
@see Whois::Record#response_incomplete? @see Whois::Record::Parser::Base#response_incomplete?
Loop through all the parts to check if at least one part is a throttle response.
@return [Boolean]
@see Whois::Record#response_throttled? @see Whois::Record::Parser::Base#response_throttled?
The opposite of {changed?}.
@param [Whois::Record::Parser] other The other parser instance to compare. @return [Boolean]
@see Whois::Record#unchanged? @see Whois::Record::Parser::Base#unchanged?