module Sass::Files

def try_to_write_sassc(root, compiled_filename, sha, options)

def try_to_write_sassc(root, compiled_filename, sha, options)
  return unless File.writable?(File.dirname(options[:cache_location]))
  return if File.exists?(options[:cache_location]) && !File.writable?(options[:cache_location])
  return if File.exists?(File.dirname(compiled_filename)) && !File.writable?(File.dirname(compiled_filename))
  return if File.exists?(compiled_filename) && !File.writable?(compiled_filename)
  FileUtils.mkdir_p(File.dirname(compiled_filename))
  File.open(compiled_filename, "wb") do |f|
    f.write(Sass::VERSION)
    f.write("\n")
    f.write(sha)
    f.write("\n")
    f.write(Marshal.dump(root))
  end
end