Преглед изворни кода

DRY up writing to dump-folder in FileWriter

Shane Kilkelly пре 8 година
родитељ
комит
8766b5d487
1 измењених фајлова са 10 додато и 7 уклоњено
  1. 10 7
      services/web/app/coffee/infrastructure/FileWriter.coffee

+ 10 - 7
services/web/app/coffee/infrastructure/FileWriter.coffee

@@ -7,13 +7,18 @@ request = require 'request'
 
 module.exports = FileWriter =
 
-	writeLinesToDisk: (identifier, lines, callback = (error, fsPath)->) ->
-		callback = _.once(callback)
-		fsPath = "#{Settings.path.dumpFolder}/#{identifier}_#{uuid.v4()}"
+	_ensureDumpFolderExists: (callback=(error)->) ->
 		fs.mkdir Settings.path.dumpFolder, (error) ->
 			if error? and error.code != 'EEXIST'
 				# Ignore error about already existing
 				return callback(error)
+			callback(null)
+
+	writeLinesToDisk: (identifier, lines, callback = (error, fsPath)->) ->
+		callback = _.once(callback)
+		fsPath = "#{Settings.path.dumpFolder}/#{identifier}_#{uuid.v4()}"
+		FileWriter._ensureDumpFolderExists (error) ->
+			return callback(error) if error?
 			fs.writeFile fsPath, lines.join('\n'), (error) ->
 				return callback(error) if error?
 				callback(null, fsPath)
@@ -23,11 +28,9 @@ module.exports = FileWriter =
 		fsPath = "#{Settings.path.dumpFolder}/#{identifier}_#{uuid.v4()}"
 
 		stream.pause()
-		fs.mkdir Settings.path.dumpFolder, (error) ->
+		FileWriter._ensureDumpFolderExists (error) ->
+			return callback(error) if error?
 			stream.resume()
-			if error? and error.code != 'EEXIST'
-				# Ignore error about already existing
-				return callback(error)
 
 			writeStream = fs.createWriteStream(fsPath)
 			stream.pipe(writeStream)