lib/whois/parsers/whois.registro.br.rb in whois-parser-1.2.0 vs lib/whois/parsers/whois.registro.br.rb in whois-parser-2.0.0
- old
+ new
@@ -1,11 +1,11 @@
#--
# Ruby Whois
#
# An intelligent pure Ruby WHOIS client and parser.
#
-# Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
+# Copyright (c) 2009-2022 Simone Carletti <weppos@weppos.net>
#++
require_relative 'base'
@@ -22,10 +22,19 @@
# @see Whois::Parsers::Example
# The Example parser for the list of all available methods.
#
class WhoisRegistroBr < Base
+ property_supported :domain do
+ if available?
+ content_for_scanner.match(/^% No match for \s*(.+)\n/)[1]
+ else
+ content_for_scanner.match(/^domain: \s*(.+)\n/)[1]
+ end
+ end
+
+
property_supported :status do
if available?
:available
else
:registered
@@ -41,23 +50,23 @@
end
property_supported :created_on do
if content_for_scanner =~ /created:\s+(.+?)(\s+#.+)?\n/
- parse_time($1)
+ parse_time(::Regexp.last_match(1))
end
end
property_supported :updated_on do
if content_for_scanner =~ /changed:\s+(.+?)\n/
- parse_time($1)
+ parse_time(::Regexp.last_match(1))
end
end
property_supported :expires_on do
if content_for_scanner =~ /expires:\s+(.+?)\n/
- parse_time($1)
+ parse_time(::Regexp.last_match(1))
end
end
property_supported :registrant_contacts do
@@ -84,24 +93,24 @@
private
def parse_contact(element, type)
return unless content_for_scanner =~ /#{element}:\s+(.+)\n/
- id = $1
+ id = ::Regexp.last_match(1)
content_for_scanner.scan(/nic-hdl-br:\s+#{id}\n((.+\n)+)\n/).any? ||
Whois.bug!(ParserError, "Unable to parse contact block for nic-hdl-br: #{id}")
- values = build_hash($1.scan(/(.+?):\s+(.+?)\n/))
+ values = build_hash(::Regexp.last_match(1).scan(/(.+?):\s+(.+?)\n/))
- created_on = values["created"] ? Time.utc(*values["created"][0..3],*values["created"][4..5],*values["created"][6..7]) : nil
- updated_on = values["changed"] ? Time.utc(*values["changed"][0..3],*values["changed"][4..5],*values["changed"][6..7]) : nil
+ created_on = values["created"] ? Time.utc(*values["created"][0..3], *values["created"][4..5], *values["created"][6..7]) : nil
+ updated_on = values["changed"] ? Time.utc(*values["changed"][0..3], *values["changed"][4..5], *values["changed"][6..7]) : nil
Parser::Contact.new({
type: type,
id: id,
name: values["person"],
email: values["e-mail"],
created_on: created_on,
- updated_on: updated_on
+ updated_on: updated_on,
})
end
def build_hash(tokens)
{}.tap do |hash|