class PostRunner::BackedUpFile
BackUpFile is a specialized version of File that creates a copy on
Public Class Methods
open(filename, mode = 'r', *opt, &block)
click to toggle source
Calls superclass method
# File lib/postrunner/BackedUpFile.rb, line 18 def BackedUpFile.open(filename, mode = 'r', *opt, &block) # If the file is opened for writing we create a backup file. create_backup_file(filename) if mode.include?('w') || mode.include?('a') super end
write(filename, string)
click to toggle source
Calls superclass method
# File lib/postrunner/BackedUpFile.rb, line 24 def BackedUpFile.write(filename, string) create_backup_file(filename) super end
Private Class Methods
create_backup_file(filename)
click to toggle source
# File lib/postrunner/BackedUpFile.rb, line 31 def BackedUpFile.create_backup_file(filename) bak_file = filename + '.bak' # Delete the backup file if it exists. if File.exist?(bak_file) begin File.delete(bak_file) rescue SystemCallError Log.fatal "Cannote remove backup file '#{bak_file}': #{$!}" end end # Rename the old file to <filename>.bak if File.exist?(filename) begin File.rename(filename, bak_file) rescue SystemCallError Log.fatal "Cannot rename file '#{filename}' to '#{bak_file}': #{$!}" end end end