Merge pull request #33 from inkblot/incremental-update

Update RRData incrementally
This commit is contained in:
Nate Riffe 2015-05-01 08:10:54 -05:00
commit a2fcc87a13

View File

@ -1,3 +1,4 @@
# ex: syntax=ruby si sw=2 ts=2 et
require 'tempfile'
module PuppetBind
@ -27,8 +28,8 @@ module PuppetBind
def flush
return if @properties.empty?
update do |file|
destructo(file)
accio(file)
destructo(file)
end
end
@ -58,17 +59,25 @@ module PuppetBind
end
def accio(file)
newdata.each do |datum|
rrdata_adds.each do |datum|
file.write "update add #{name}. #{resource[:ttl]} #{rrclass} #{type} #{datum}\n"
end
end
def destructo(file)
rrdata.each do |datum|
rrdata_deletes.each do |datum|
file.write "update delete #{name}. #{ttl} #{rrclass} #{type} #{datum}\n"
end
end
def rrdata_adds
newdata - rrdata
end
def rrdata_deletes
type === 'SOA' ? [] : rrdata - newdata
end
def server
resource[:server]
end