@@ -16,6 +16,7 @@ public final class DirectoryManager {
16
16
}
17
17
18
18
private let directoryName : String
19
+ private let directoryParentPath : FileManager . SearchPathDirectory
19
20
private let fileManager : FileManager
20
21
private let directoryUrl : NSURL
21
22
@@ -30,11 +31,12 @@ public final class DirectoryManager {
30
31
// MARK: Initializer
31
32
32
33
// swiftlint:disable force_try
33
- public init ( directoryName: String , fileManager: FileManager = FileManager . default) {
34
+ public init ( directoryName: String , directoryParentPath : FileManager . SearchPathDirectory = . documentDirectory , fileManager: FileManager = FileManager . default) {
34
35
self . directoryName = directoryName
36
+ self . directoryParentPath = directoryParentPath
35
37
self . fileManager = fileManager
36
38
// Should fail if not available
37
- self . directoryUrl = try ! fileManager. directoryPath ( withName : directoryName)
39
+ self . directoryUrl = try ! fileManager. directoryPath ( withSearchPathDirectory : directoryParentPath , name : directoryName)
38
40
}
39
41
// swiftlint:enable force_try
40
42
@@ -86,8 +88,8 @@ public final class DirectoryManager {
86
88
}
87
89
88
90
extension FileManager {
89
- fileprivate func directoryPath( withName directoryName: String ) throws -> NSURL {
90
- let pathsArray = NSSearchPathForDirectoriesInDomains ( . documentDirectory , . userDomainMask, true )
91
+ fileprivate func directoryPath( withSearchPathDirectory searchPathDirectory : SearchPathDirectory , name directoryName: String ) throws -> NSURL {
92
+ let pathsArray = NSSearchPathForDirectoriesInDomains ( searchPathDirectory , . userDomainMask, true )
91
93
guard let pathString = pathsArray. first else { fatalError ( " Unable to create directory " ) }
92
94
guard let documentsDirectoryPath = NSURL ( string: pathString) else {
93
95
throw DirectoryManager . DirectoryError. unableToFindDirectory ( name: directoryName)
0 commit comments