lib/paperbin/handler.rb in paperbin-0.0.3 vs lib/paperbin/handler.rb in paperbin-0.1.0
- old
+ new
@@ -75,21 +75,33 @@
options[:callback].call(gz_file(version, true)) if options[:callback]
end
def generate_files
versions.each do |version|
- data = version.to_json
- unless files_exist?(gz_file(version))
- Zlib::GzipWriter.open(gz_file(version)) do |gz|
- gz.write data
- end
- end
+ write_gz_file version
+ write_md5_file version
+ end
+ end
- File.open(md5_file(version), "w") do |file|
- file.write(Digest::MD5.hexdigest(data))
- end
+ def write_gz_file(version)
+ path = gz_file version
+ unless files_exist?(path)
+ Zlib::GzipWriter.open(path) { |gz| gz.write string_data(version) }
+ timestamp = version.created_at.to_time
+ File.utime timestamp, timestamp, path
end
+ end
+
+ def write_md5_file(version)
+ File.open(md5_file(version), "w") do |file|
+ md5 = Digest::MD5.hexdigest(string_data(version))
+ file.write md5
+ end
+ end
+
+ def string_data(version)
+ version.to_json
end
def check_versions
versions.each_with_index do |version, index|
# check both file exist or not