Method: Webruby.create_file_if_different
- Defined in:
- lib/webruby/utility.rb
.create_file_if_different(filename) {|f| ... } ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/webruby/utility.rb', line 5 def create_file_if_different(filename) tmp_filename = "#{filename}.tmp" # TODO: add support for case where block is not given, # maybe using monkey patching on File#close? f = File.open(tmp_filename, 'w') yield f f.close if (!File.exists?(filename)) || (!FileUtils.compare_file(filename, tmp_filename)) puts "Creating new file: #{filename}!" FileUtils.cp(tmp_filename, filename) end FileUtils.rm(tmp_filename) end |