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