Hash: select entries by keys

This commit is contained in:
Karl Erik Õunapuu 2021-01-07 13:59:12 +02:00
parent c23075fa19
commit c58b4fb2e9
No known key found for this signature in database
GPG key ID: C9DD647298A34764
11 changed files with 201 additions and 141 deletions

View file

@ -42,20 +42,18 @@ module Deserializers
end
def nameservers
nameservers = []
frame.css('add > ns > hostAttr').each do |ns|
nsrv = Deserializers::Xml::Nameserver.new(ns).call
nsrv[:action] = 'add'
nameservers << nsrv
end
@nameservers = []
frame.css('rem > ns > hostAttr').each do |ns|
nsrv = Deserializers::Xml::Nameserver.new(ns).call
nsrv[:action] = 'rem'
nameservers << nsrv
end
frame.css('add > ns > hostAttr').each { |ns| assign_ns(ns) }
frame.css('rem > ns > hostAttr').each { |ns| assign_ns(ns, add: false) }
nameservers.presence
@nameservers.presence
end
def assign_ns(nameserver, add: true)
nsrv = Deserializers::Xml::Nameserver.new(nameserver).call
nsrv[:action] = add ? 'add' : 'rem'
@nameservers << nsrv
end
def dns_keys
@ -72,17 +70,12 @@ module Deserializers
def statuses
return if frame.css('status').blank?
statuses = []
s = []
frame.css('add > status').each do |e|
statuses << { status: e.attr('s').to_s, action: 'add' }
end
frame.css('add > status').each { |e| s << { status: e.attr('s'), action: 'add' } }
frame.css('rem > status').each { |e| s << { status: e.attr('s'), action: 'rem' } }
frame.css('rem > status').each do |e|
statuses << { status: e.attr('s').to_s, action: 'rem' }
end
statuses
s
end
def legal_document