def add(*args)
zoneclass=zone()[0].zclass
case args[0]
when Array
args[0].each do |resource|
add(resource)
end
when RR
resource = args[0]
if (resource.klass != zoneclass)
raise ArgumentError.new("Wrong class #{resource.klass} for update (should be #{zoneclass})!")
end
add_update(resource)
return resource
else
name=args[0]
type=args[1]
ttl=args[2]
rdata=args[3]
resource = nil
if (Types.new(type) == Types.TXT)
instring = "#{name} #{ttl} #{zoneclass} #{type} ";
if (String === rdata)
instring += " '#{rdata}'"
elsif (Array === rdata)
rdata.length.times {|rcounter|
instring += " '#{rdata[rcounter]}' "
}
else
instring += rdata
end
resource = RR.create(instring)
else
resource = RR.create("#{name} #{ttl} #{zoneclass} #{type} #{rdata}")
end
add_update(resource)
return resource
end
end