21
1
Fork 0
mirror of https://github.com/Evolix/chexpire.git synced 2024-05-21 01:48:39 +02:00
chexpire/app/services/whois/parser/fr.rb

44 lines
1 KiB
Ruby
Raw Normal View History

2018-05-30 12:04:07 +02:00
require "domain_helper"
require_relative "base"
module Whois::Parser
class Fr < Base
SUPPORTED_TLD = %w[.fr].freeze
COMMENT_REGEX = /^%+ +(?<text>.+)$/
FIELD_REGEX = /^(?<name>[^:]+)\s*:\s+(?<value>.+)$/
def self.supports?(domain)
SUPPORTED_TLD.include?(tld(domain))
end
protected
def do_parse
set_date_format
domain_index = get_field!("domain", value: domain).index
created_date = get_value!("created", after: domain_index)
2018-05-30 16:48:25 +02:00
response.created_at = parse_date(created_date)
2018-05-30 12:04:07 +02:00
expire_date = get_value!("Expiry Date", after: domain_index)
2018-05-30 16:48:25 +02:00
response.expire_at = parse_date(expire_date)
2018-05-30 12:04:07 +02:00
updated_date = get_value!("last-update", after: domain_index)
2018-05-30 16:48:25 +02:00
response.updated_at = parse_date(updated_date)
2018-05-30 12:04:07 +02:00
end
private
2018-05-30 16:48:25 +02:00
def parse_date(str)
super "#{str} UTC"
end
2018-05-30 12:04:07 +02:00
def set_date_format
afnic_format = get_field!("complete date format").value
2018-05-30 16:48:25 +02:00
@date_format = "%d/%m/%Y %Z" if afnic_format == "DD/MM/YYYY"
2018-05-30 12:04:07 +02:00
end
end
end