lib/nfagent/payload.rb in nfagent-0.9.27 vs lib/nfagent/payload.rb in nfagent-0.9.28

- old
+ new

@@ -32,11 +32,12 @@ ret["key"] = self.key unless self.key.blank? ret end def write_to_disk(directory) - File.open(File.join(directory, "#{self.checksum}-#{self.attempt}"), "w") do |file| + filename = [ self.checksum, self.attempt, self.key ].compact.join("-") + File.open(File.join(directory, filename), "w") do |file| file << self.data end end def lock @@ -48,18 +49,18 @@ def locked? filename && File.exists?(lockfile) end - def self.read_from_file(filename) + def self.read_from_file(filename, dir = Config.dump_dir) # Ensure the file is only relative filename = File.basename(filename) self.new do |payload| payload.filename = filename - payload.checksum, payload.attempt = filename.split("-") + payload.checksum, payload.attempt, payload.key = filename.split("-") payload.data = "" - ref = File.join(Config.dump_dir, filename) + ref = File.join(dir, filename) File.open(ref, "r") do |file| payload.data << file.read end end end @@ -68,10 +69,11 @@ FileUtils.rm_f(File.join(Config.dump_dir, self.filename)) if self.filename end def try_again_later # TODO: Move the file to a new name with a later timetamp - FileUtils.mv(File.join(Config.dump_dir, self.filename), File.join(Config.dump_dir, "#{self.checksum}-#{self.attempt}")) + new_filename = [ self.checksum, self.attempt, self.key ].compact.join("-") + FileUtils.mv(File.join(Config.dump_dir, self.filename), File.join(Config.dump_dir, new_filename)) end private def lockfile File.join(Config.dump_dir, "#{filename}.lock") if filename