mirror of
https://github.com/internetee/registry.git
synced 2025-06-05 04:07:33 +02:00
37 lines
729 B
Ruby
37 lines
729 B
Ruby
module Deserializers
|
|
module Xml
|
|
class Nameserver
|
|
attr_reader :frame
|
|
|
|
def initialize(frame)
|
|
@frame = frame
|
|
end
|
|
|
|
def call
|
|
{
|
|
hostname: frame.css('hostName').text,
|
|
ipv4: frame.css('hostAddr[ip="v4"]').map(&:text).compact,
|
|
ipv6: frame.css('hostAddr[ip="v6"]').map(&:text).compact,
|
|
}
|
|
end
|
|
end
|
|
|
|
class Nameservers
|
|
attr_reader :frame
|
|
|
|
def initialize(frame)
|
|
@frame = frame
|
|
end
|
|
|
|
def call
|
|
res = []
|
|
frame.css('hostAttr').each do |ns|
|
|
ns = Deserializers::Xml::Nameserver.new(ns).call
|
|
res << ns.delete_if { |_k, v| v.blank? }
|
|
end
|
|
|
|
res
|
|
end
|
|
end
|
|
end
|
|
end
|