# File lib/core/facets/file/atomic_open.rb, line 13
  def self.atomic_open(file_name, mode="r", temp_dir=nil, &block)
    temp_dir  = temp_dir || Dir.tmpdir
    temp_file = Tempfile.new("#{aomtic_id}-" + basename(file_name), temp_dir)

    if File.exist?(file_name)
      FileUtils.cp(file_name, temp_file)
    end

    open(temp_file, mode, &block)

    FileUtils.cp(temp_file, file_name)
  end