Merge pull request #39 from inkblot/quote-txt-rrdata
Automatic quote and unquote TXT and SPF
This commit is contained in:
commit
9038011ed7
@ -60,16 +60,28 @@ module PuppetBind
|
||||
|
||||
def accio(file)
|
||||
rrdata_adds.each do |datum|
|
||||
file.write "update add #{name}. #{resource[:ttl]} #{rrclass} #{type} #{datum}\n"
|
||||
file.write "update add #{name}. #{resource[:ttl]} #{rrclass} #{type} #{maybe_quote(type, datum)}\n"
|
||||
end
|
||||
end
|
||||
|
||||
def destructo(file)
|
||||
rrdata_deletes.each do |datum|
|
||||
file.write "update delete #{name}. #{ttl} #{rrclass} #{type} #{datum}\n"
|
||||
file.write "update delete #{name}. #{ttl} #{rrclass} #{type} #{maybe_quote(type, datum)}\n"
|
||||
end
|
||||
end
|
||||
|
||||
def quoted_type?(type)
|
||||
%(TXT SPF).include?(type)
|
||||
end
|
||||
|
||||
def maybe_quote(type, datum)
|
||||
quoted_type?(type) ? "\"#{datum}\"" : datum
|
||||
end
|
||||
|
||||
def maybe_unquote(type, datum)
|
||||
quoted_type?(type) ? datum.gsub(/^\"(.*)\"$/, '\1') : datum
|
||||
end
|
||||
|
||||
def rrdata_adds
|
||||
newdata - rrdata
|
||||
end
|
||||
@ -124,7 +136,7 @@ module PuppetBind
|
||||
:ttl => linearray[1],
|
||||
:rrclass => linearray[2],
|
||||
:type => linearray[3],
|
||||
:rrdata => linearray[4]
|
||||
:rrdata => maybe_unquote(linearray[3], linearray[4])
|
||||
}
|
||||
end.select do |record|
|
||||
record[:name] == "#{name}."
|
||||
|
||||
Loading…
Reference in New Issue
Block a user