def msg_cacheable(msg, bailiwick, type = :both)
good, bad = Array.new, Array.new
bw = bailiwick.to_s
bwend = "." + bw
for section in [:additional, :authority] do
for rr in msg.send(section) do
name = rr.name.to_s
if bailiwick.nil? or name.casecmp(bw) == 0 or
name =~ /#{bwend}$/i then
good.push rr
else
bad.push rr
end
end
end
good.map {|x| Log.debug { "Records within bailiwick: " + x.to_s } }
bad.map {|x| Log.debug { "Records outside bailiwick: " + x.to_s } }
return good if type == :good
return bad if type == :bad
return good, bad
end