lib/whois/record/parser/whois.nic.pr.rb in whois-2.7.0 vs lib/whois/record/parser/whois.nic.pr.rb in whois-3.0.0

- old
+ new

@@ -1,66 +1,84 @@ #-- # Ruby Whois # # An intelligent pure Ruby WHOIS client and parser. # -# Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net> +# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net> #++ require 'whois/record/parser/base' module Whois class Record class Parser + # Parser for the whois.nic.pr server. # - # = whois.nic.pr parser + # @see Whois::Record::Parser::Example + # The Example parser for the list of all available methods. # - # Parser for the whois.nic.or 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. - # class WhoisNicPr < Base + property_supported :domain do + if content_for_scanner =~ /^Domain:\s+(.+)\n/ + $1 + elsif content_for_scanner =~ /^The domain (.+?) is not registered\.\n/ + $1 + end + end + + property_not_supported :domain_id + + property_supported :status do if available? :available else :registered end end property_supported :available? do - !(content_for_scanner =~ /^Domain: (.+?)\n/) + !!(content_for_scanner =~ /^The domain (.+?) is not registered\.\n/) end property_supported :registered? do !available? end property_supported :created_on do - if content_for_scanner =~ /Created on:(.+?)\n/ + if content_for_scanner =~ /Created On:\s+(.+)\n/ Time.parse($1) end end property_not_supported :updated_on property_supported :expires_on do - if content_for_scanner =~ /Expires on:(.+?)\n/ + if content_for_scanner =~ /Expires On:\s+(.+)\n/ Time.parse($1) end end - property_not_supported :nameservers + property_not_supported :registrar + + property_not_supported :registrant_contacts + + property_not_supported :admin_contacts + + property_not_supported :technical_contacts + + + property_supported :nameservers do + content_for_scanner.scan(/DNS:\s+(.+)\n/).flatten.map do |name| + Record::Nameserver.new(:name => name) + end + end end end end