Class: File

Inherits:
Object
  • Object
show all
Defined in:
lib/file-transaction.rb

Class Method Summary collapse

Class Method Details

.transaction(directory, &blk) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/file-transaction.rb', line 45

def self.transaction(directory, &blk)
  raise "#{directory} is not a directory" unless File.directory?(directory)

  Dir.mktmpdir do |tmp_directory|
    FileTransaction.copy_files(directory, tmp_directory)
    blk.call(Pathname.new(tmp_directory))
    FileTransaction.copy_files(tmp_directory, directory)
  end
end