class Middleman::Builder
def export_file!(output_file, source)
def export_file!(output_file, source) source = write_tempfile(output_file, source.to_s) if source.is_a? String method, source_path = if source.is_a? Tempfile [FileUtils.method(:mv), source.path] else [FileUtils.method(:cp), source.to_s] end mode = which_mode(output_file, source_path) if mode == :created || mode == :updated FileUtils.mkdir_p(output_file.dirname) method.call(source_path, output_file.to_s) end source.unlink if source.is_a? Tempfile trigger(mode, output_file) end