module Net
module DNS
class RR
class MR < RR
attr_reader :newname
private
def check_name(name)
unless name =~ /(\w\.?)+\s*$/
raise RRArgumentError, "Name not valid: #{name.inspect}"
end
name
end
def build_pack
@newname_pack = pack_name(@newname)
@rdlength = @newname_pack.size
end
def set_type
@type = Net::DNS::RR::Types.new("MR")
end
def get_data
@newname_pack
end
def get_inspect
"#@newname"
end
def subclass_new_from_hash(args)
if args.has_key? :newname
@newname = check_name args[:newname]
else
raise RRArgumentError, ":newname field is mandatory but missing"
end
end
def subclass_new_from_string(str)
@newname = check_name(str)
end
def subclass_new_from_array(data,offset)
@newname = dn_expand(data,offset)
return offset
end
end
end
end
end