# Copyright (C) 2018 Colin Darie , 2018 Evolix # License: GNU AGPL-3+ (see full text in LICENSE file) module Whois module Parser class Neustar < Base # https://www.about.us/ SUPPORTED_TLD = %w[ .us ].freeze COMMENT_REGEX = /^(%|>)+ +(?.+)$/ FIELD_REGEX = /^(?[^:]+)\s*:\s+(?.+)$/ def self.supports?(domain) SUPPORTED_TLD.include?(tld(domain)) end protected def do_parse raise_not_found if text_include?("No Data Found") extract_values end private def extract_values domain_index = get_field!("Domain Name", value: domain.downcase).index created_date = get_value!("Creation Date", after: domain_index) response.created_at = parse_date(created_date) expire_date = get_value!("Registry Expiry Date", after: domain_index) response.expire_at = parse_date(expire_date) updated_date = get_value!("Updated Date", after: domain_index) response.updated_at = parse_date(updated_date) end end end end