lib/whois/record/parser/whois.srs.net.nz.rb in whois-2.5.1 vs lib/whois/record/parser/whois.srs.net.nz.rb in whois-2.6.0
- old
+ new
@@ -12,47 +12,51 @@
module Whois
class Record
class Parser
- #
- # = whois.srs.net.nz parser
- #
# Parser for the whois.srs.net.nz server.
#
- # NOTE: This parser is just a stub and provides only a few basic methods
- # to check for domain availability and get domain status.
- # Please consider to contribute implementing missing methods.
- # See WhoisNicIt parser for an explanation of all available methods
- # and examples.
+ # @note This parser is just a stub and provides only a few basic methods
+ # to check for domain availability and get domain status.
+ # Please consider to contribute implementing missing methods.
#
+ # @see Whois::Record::Parser::Example
+ # The Example parser for the list of all available methods.
+ #
class WhoisSrsNetNz < Base
# @see http://dnc.org.nz/content/srs-whois-spec-1.0.html
property_supported :status do
if content_for_scanner =~ /query_status:\s(.+)\n/
- case s = $1.downcase
- when /active/ then :registered
- when /available/ then :available
- when /invalid characters/ then :invalid
- # The domain is no longer active but is in the period prior
- # to being released for general registrations
- when "210 pendingrelease" then :redemption
- else
- Whois.bug!(ParserError, "Unknown status `#{s}'.")
+ case (s = $1.downcase)
+ when "200 active"
+ :registered
+ # The domain is no longer active but is in the period prior
+ # to being released for general registrations
+ when "210 pendingrelease"
+ :redemption
+ when "220 available"
+ :available
+ when "404 request denied"
+ :error
+ when /invalid characters/
+ :invalid
+ else
+ Whois.bug!(ParserError, "Unknown status `#{s}'.")
end
else
Whois.bug!(ParserError, "Unable to parse status.")
end
end
property_supported :available? do
- (status == :available)
+ status == :available
end
property_supported :registered? do
- (status == :registered) || (status == :redemption)
+ status == :registered || status == :redemption
end
property_supported :created_on do
if content_for_scanner =~ /domain_dateregistered:\s(.+)\n/
@@ -73,10 +77,24 @@
end
property_supported :nameservers do
content_for_scanner.scan(/ns_name_[\d]+:\s(.+)\n/).flatten.map do |name|
- Record::Nameserver.new(name)
+ Record::Nameserver.new(:name => name)
+ end
+ end
+
+
+ # Checks whether the response has been throttled.
+ #
+ # @return [Boolean]
+ #
+ # @example
+ # query_status: 440 Request Denied
+ #
+ def response_throttled?
+ cached_properties_fetch(:response_throttled?) do
+ !!(content_for_scanner =~ /^query_status: 440 Request Denied/)
end
end
# NEWPROPERTY