def ==(other)
return false unless self.class == other.class
ivars = self.instance_variables
s_ivars = []
ivars.each {|i| s_ivars << i.to_s}
s_ivars.delete "@ttl"
s_ivars.delete "@rdata"
if (self.type == Types.DS)
s_ivars.delete "@digest"
end
s_ivars.sort!
ivars = other.instance_variables
o_ivars = []
ivars.each {|i| o_ivars << i.to_s}
o_ivars.delete "@ttl"
o_ivars.delete "@rdata"
if (other.type == Types.DS)
o_ivars.delete "@digest"
end
o_ivars.sort!
return s_ivars == o_ivars &&
s_ivars.collect {|name| self.instance_variable_get name} ==
o_ivars.collect {|name| other.instance_variable_get name}
end